Today i learned & Week i learned/SQL 관련

[MYSQL] INSERT INTO ~ SELECT, UPDATE, DELETE

데분조 2023. 12. 28. 16:02
반응형

참고 도서

 

혼자 공부하는 SQL | 우재남 - 교보문고

혼자 공부하는 SQL | 혼자 해도 충분하다! 1:1 과외하듯 배우는 데이터베이스 자습서(MySQL Community 8.0 지원) 이 책은 아무런 사전 지식 없는 입문자가 ‘꼭 필요한 내용을 제대로’ 학습할 수 있도록

product.kyobobook.co.kr

 

INSERT INTO ~ SELECT 쿼리문

다른 테이블의 데이터를 이용하여 한번에 입력할 수 있다.

 

문법

INSERT INTO "테이블 명" ("열 이름1",  "열 이름2" ...) SELECT 문 ;

 

테이블 생성

CREATE TABLE city_popul1 ( city_name CHAR(35), population INT);
# city_name, population 열을 가지고 있는 city_popul1 테이블 생성

select* from city_popul1;
# city_popul1 테이블 전체 출력

 

출력 결과

 

다른 테이블에서 데이터 가져오기

INSERT INTO city_popul1
# city_popul1 테이블에 넣을거야.

SELECT Name, Population FROM world.city;
# world.city에서 Name, Population 열을 가져올거야.

 

출력 결과


UPDATE 쿼리문

기존에 입력되어 있는 값을 수정할 수 있습니다.

 

문법

UPDATE "테이블 명"

SET 열1 = 값1, 열2 = 값2, .....

WHERE 조건 ;

 

예시 코드

USE market_db;
# market_db를 선택할거야.


UPDATE city_popul
SET city_name = '서울'
WHERE city_name = 'Seoul';
#1 city_popul 테이블에서
#2 city_name을 서울로 바꿀거야.
#3 city_name은 'Seoul'인 것들 대상으로


SELECT  * FROM city_popul WHERE  city_name = '서울';
# city_name이 '서울'인 city_popul 테이블을 출력할거야.

 

출력 결과


DELETE 쿼리문

행 단위로 삭제할 수 있습니다.

 

문법

DELETE FROM "테이블 명"
WHERE 조건 ;

 

DELETE FROM city_popul 
# city_popul 테이블에서 삭제하겠다.

WHERE city_name LIKE 'New%';
# city_name 열에서 "New"가 포함된 행 모두를

 

반응형