Notice
Recent Posts
Recent Comments
«   2026/08   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Tags
more
Archives
Today
Total
관리 메뉴

Don't forget to smile

[혼자 공부하는 SQL] Chapter 3-3. 데이터 변경을 위한 SQL 문 본문

SQL

[혼자 공부하는 SQL] Chapter 3-3. 데이터 변경을 위한 SQL 문

에르더그 2022. 11. 28. 14:02

<데이터 입력 : INSERT>

 

1) INSERT 문테이블에 행 데이터를 입력하는 기본적인 SQL 문

기본 문법은 INSERT INTO 테이블 [(열1, 열2, ...)] VALUES (값1, 값2, ...)

 

2) 이 때 입력을 원하지 않는 열이 있을 경우 첫 문장처럼 반드시 입력하는 열의 이름을 기입해야 함

이 경우, 입력하지 않는 열에는 NULL 값이 들어가게 됨

반대로 열 이름의 순서를 바꿔서 INSERT를 사용하면 원하는 순서대로 입력하는 것도 가능

<자동으로 증가하는 AUTO_INCREMENT>

 

 

1) AUTO_INCREMENT는 열 정의 시 1부터 자동으로 증가하는 값을 입력

이 경우 INSERT 사용 시 해당 열의 입력은 생략해도 무방함

단, AUTO_INCREMENT 사용 시 해당 열은 반드시 PRIMARY KEY로 지정 필수

 

2) 테이블에 데이터를 입력하면 AUTO_INCREMENT를 사용한 toy_id는 숫자가 자동으로 증가하는 모습을 볼 수 있음

 

3) 아울러 ALTER AUTO_INCREMENT 명령을 사용하면 입력되는 다음 값이 변경 가능하고

SET @@auto_increment_increment 명령으로 시스템 변수를 변경하면 증가값 역시 변경 가능

<다른 테이블의 데이터를 한꺼번에 입력하는 INSERT INTO ~ SELECT>

 

1) 다른 테이블에 데이터가 이미 입력되어 있다면 INSERT INTO ~ SELECT 문을 이용해 해당 테이블의 데이터를 가져올 수 있음

우선 SELECT COUNT(*) FROM world.city 명령으로 world 데이터베이스의 city 테이블의 개수를,

DESC world.city 명령으로 테이블의 구조를,

SELECT * FROM world.city LIMIT 5 명령으로 5건의 데이터를 확인

 

2) 위 명령처럼 INSERT INTO city_popul SELECT Name, Population FROM world.city 명령을 사용하면

새로 제작한 city_popul 테이블에 4079개의 도시 이름과 인구 데이터만 가져와 저장할 수 있음

<데이터 수정 : UPDATE>

1) UPDATE 문은 기존에 입력되어 있는 값을 수정하는 명령

기본 문법은 UPDATE 테이블 SET 열1=값1, 열2=값2, ... WHERE 조건;

위 명령을 적용하면 도시 이름이 Seoul에서 서울로 변경된 것을 알 수 있음

 

2) 필요하다면 위와 같이 한꺼번에 여러 열을 변경하는 것도 가능

단, WHERE 절 없이 사용할 경우 모든 행이 동일한 값으로 변경되기 때문에 권장하지 않음

<데이터 삭제 : DELETE>

 

1) DELETE 문은 행 데이터를 삭제할 때 사용하는 명령

기본 문법은 DELETE FROM 테이블 WHERE 조건;

위 명령 적용 시 도시 이름 앞에 New가 들어가는 도시들이 삭제됨

2) 또한 DELETE 외에도 데이터를 삭제하는 명령으로 DROP, TRUNCATE 등이 있음

차이점은 DELETE는 데이터를 일일이 삭제하기 때문에 속도가 느린 반면

DROP과 TRUNCATE는 삭제 속도가 매우 빠른 장점이 있음

하지만 DROP 테이블을 아예 삭제하기 떄문에 테이블이 아예 없어지지만

TRUNCATE빈 테이블을 남기기 때문에 일반적으로 대량의 데이터 삭제 시에는 TRUNCATE가 자주 쓰임