<참고: 혼공SQL>

INSERT  : 데이터 입력

기본 문법

INSERT INTO 테이블 (열1, 열2, ... ) VALUES (값1, 값2, ...)

예제

USE market_DB;
CREATE TABLE toy_list (toy_id INT, toy_name CHAR(4), age INT);
INSERT INTO toy_list VALUES(1, '우디', 30);
INSERT INTO (toy_id, toy_name) VALUES (2, '버즈'); -- age 열에는 NULL 값이 들어간다.
INSERT INTO (toy_name, toy_age, toy_id) VALUES ('포키', 20, 3); -- 열의 순서는 상관 없다. 열에 맞는 값을 쓰면 된다.

 

AUTO_INCREMENT :  1 부터 자동으로 증가

(주의) AUTO_INCREMENT로 지정하는 열은 꼭 PK(PRIMARY KEY)로 지정해야 한다.

예제

CREATE TABLE toy_list2 (toy_id AUTO_INCREMENT PRIMARY KEY,
	toy_name CHAR(4), age INT);
INSERT INTO toy_list VALUES(NULL, '제시', 30);
INSERT INTO (toy_id, toy_name) VALUES (NULL, '렉스', 28);

시작은 1000 증가값은 3

CREATE TABLE toy_list3 (toy_id AUTO_INCREMENT PRIMARY KEY,
	toy_name CHAR(4), age INT);
    
 ALTER TABLE toy_list3 AUTO_INCREAMANT = 1000; -- 시작 1000
 SET @@auto_increment_increment = 3; -- 증가 값 3

 

INSERT INTO ~SELECT  :  다른 테이블의 데이터를 한 번에 입력

기본 문법 -   SELECT 된 열의 개수와 INSERT 할 열의 개수는 같아야한다.

INSERT INTO 테이블_이름1 (열1, 열2, ....)
	SELECT 열_이름1, 열_이름2, ... FROM 데이터베이스_이름.테이블_이름2;

예제  : world database 에서 city name 과 population 가져오기

-- 데이터 체크 
SELECT COUNT(*) FROM world.city;
DESC world.city; # city 테이블에 있는 데이터 묘사
SELECT * FROM world.city LIMIT 5; # 데이터 5개만 확인

-- 데이터 가져오기
USE market_db;
CREATE TABLE city_population (city_name CHAR(35), population INT);
INSERT INTO city_population SELECT NAME, Population FROM world.city;

 

UPDATE : 데이터 수정

기본 문법 - (주의: WHERE 이 없으면 해당 열의 모든 값이 변경된다.)

UPDATE 테이블_이름
	SET 열1=값1, 열2=값2, ...
	WHERE 조건;

도시 이름 중에  "Seoul" 을 "서울" 로 변경

USE market_db;
UPDATE city_population 
	SET city_name = '서울'
	WHERE city_name = 'Seoul';
-- 업데이트 확인 
SELECT * FROM city_population WHERE city_name = '서울';

 

DELETE : 행 단위로 데이터 삭제

기본 문법 - (주의: WHERE 이 없으면 해당 열의 모든 값이 삭제된다.)

DELETE FROM 테이블 이름 WHERE 조건;

예제

DELETE FROM city_population
	WHERE city_name LIKE '%de%'
	LIMIT 3; -- 상위 3건만 삭제
  • 대용량 테이블 삭제 - DELETE 는 대 용량 데이터를 삭제 할때 시간이 오래걸린다.
    • DELETE 와 TRUNCATE : 빈 테이블을 남긴다.
    • DROP : 테이블 자체를 삭제
DROP TABLE bit_table;
TRUNCATE TABLE big_table;

+ Recent posts