SQLite 변경 명령
SQLite의 ALTER TABLE 명령은 데이터의 전체 덤프 및 다시 로드를 수행하여 기존 테이블을 수정하지 않습니다. ALTER TABLE 문을 사용하여 테이블 이름을 바꾸고 기존 테이블에 추가 열을 추가할 수 있습니다.
SQLite에서 ALTER TABLE 명령은 테이블 이름 바꾸기 및 기존 테이블에 열 추가를 제외한 다른 작업을 지원하지 않습니다.
구문
기존 테이블의 이름을 바꾸는 ALTER TABLE의 기본 구문은 다음과 같습니다.
ALTER TABLE database_name.table_name RENAME TO new_table_name;
는 기존 테이블의 이름을 바꾸는 데 사용됩니다. table 테이블에 새 열을 추가하는 ALTER TABLE의 기본 구문은 다음과 같습니다.
ALTER TABLE database_name.table_name ADD COLUMN column_def...;
예
COMPANY 테이블에 다음 레코드가 있다고 가정합니다.
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
이제 아래와 같이 ALTER TABLE 문을 사용하여 테이블 이름을 바꿔 보겠습니다.
sqlite> ALTER TABLE COMPANY RENAME TO OLD_COMPANY;
위의 SQLite 문은 COMPANY 테이블의 이름을 OLD_COMPANY로 바꿉니다. 이제 아래와 같이 OLD_COMPANY 테이블에 새 열을 추가해 보겠습니다.
sqlite> ALTER TABLE OLD_COMPANY ADD COLUMN SEX char(1);
이제 COMPANY 테이블이 변경되었으며 SELECT 문을 사용하여 출력은 다음과 같습니다.
ID NAME AGE ADDRESS SALARY SEX ---------- ---------- ---------- ---------- ---------- --- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
새로 추가된 열은 NULL 값으로 채워져 있습니다.