(SQLite3) INSERT문 – 테이블에 값 삽입하기
INSERT
문은 테이블에 새로운 값을 추가할 때 사용하는 명령이다. 패턴에 따라서 몇 가지 형식으로 사용된다.
INSERT INTO table DEFAULT VALUES;
: 테이블의 각 칼럼에 적절한 디폴트 값이 있다면 디폴트 값을 적용해서 새 Row를 추가한다. 디폴트 값에는 명시적으로DEFAULT
를 써서 선언한 값이나 자동으로 증가하는 인덱스 번호값 혹은NULL
이 사용될 수 있다.INSERT INTO table VALUES (val1, val2, val3, ... );
: 테이블의 모든 칼럼에 대해서 값을 던져주고 해당 값으로 새 레코드를 등록한다. 이 때VALUES
뒤에 나오는 괄호의 값들은 테이블의 전체 칼럼 수와 같은 개수여야 하며, 테이블 스키마에 정의된 칼럼의 순서와 각각 매치되어야 한다.INSERT INTO table (col1, col3, col7) VALEUS (val1, val2, val3);
: 1, 2의 혼합으로 칼럼의 일부에 대해서만 값을 제공하여 레코드를 생성한다. 여기에 명시되지 않은 칼럼들은 디폴트값으로 생성되기 때문에 NOT NULL이거나 디폴트가 정의되지 않았다면 에러가 난다.