INSERT란 테이블에 데이터를 넣는 역할을 해요. INSERT문을 크게 세 가지로 나눠서 알아보도록 할게요.
1. INSERT INTO 테이블_이름 (열1, 열2, ...) VALUES (열1, 열2, ...);
-- 테이블 생성
CREATE TABLE toystory(
toy_id int,
toy_name char(4),
age int);
-- 데이터 입력하기
INSERT INTO toystory (toy_id, toy_name, age) VALUES (1, '우디', 5);
INSERT INTO toystory (toy_id, toy_name) VALUES (2, '버즈');
테이블_이름 뒤에 열_이름을 작성해주었을 때 좋은 점은 데이터를 입력할 때 순서를 바꾸거나,
입력하고 싶지 않은 값을 미리 설정할 수 있다는 것입니다. (단, null 허용하는 열만 가능)
데이터 입력 순서 바꾸기
INSERT INTO toystory (toy_name, age, toy_id) VALUES ('우디', 5, 1);
입력 데이터 생략하기 (단, null 허용해야 함)
INSERT INTO toystory (toy_id, toy_name) VALUES (2, '버즈');
-> 결괏값은 위와 동일해요
2) INSERT INTO 테이블_이름 VALUES (열1, 열2, ...);
INSERT INTO toystory VALUES (3, '제니', 4);
기억해야 할 것은 테이블_이름 뒤에 열_이름을 제외해도 데이터가 입력이 되지만,
꼭! 해당 테이블의 열 길이에 맞춰서 데이터를 입력해주셔야 합니다. 아니면 에러가 발생합니다.
잘 못 된 예 시 (에러 발생)
INSERT INTO toystory VALUES (5, '비비');
3) 다른 테이블 데이터를 새 테이블에 가져오기
새로운 테이블 만들기
CREATE TABLE choi(
age int,
name char(3),
phone char(11));
jun 테이블 데이터를 choi 테이블에 가져오기
INSERT INTO choi
SELECT A, B, C FROM jun; -- 가져오는 테이블 열 이름 쓰기
결괏값은 jun테이블 A열에 있는 데이터는 choi테이블 age열로, B열의 데이터는 name열로 C열의 데이터는 phone열로 가져오게 됩니다.
중요한 것은 불러올 테이블 열 길이와 새로운 테이블 열 길이가 같아야 합니다. 아니면 에러가 발생합니다.