Lệnh ALTER TABLE trong SQLite

Lệnh ALTER TABLE trong SQLite sửa đổi một bảng đang tồn tại mà không cần thiết phải nạp lại dữ liệu đó. Bạn có thể sử dụng lệnh ALTER TABLE để thay tên một bảng và bổ sung thêm các cột vào một bảng đang tồn tại.

SQLite không hỗ trợ các tính năng khác của lệnh ALTER TABLE ngoại trừ hai tính năng trên.

Cú pháp cơ bản của lệnh ALTER TABLE để thay tên một bảng đang tồn tại như sau:

ALTER TABLE database_name.table_name RENAME TO new_table_name;

Cú pháp cơ bản của lệnh ALTER TABLE để bổ sung thêm một cột vào một bảng đang tồn tại như sau:


ALTER TABLE database_name.table_name ADD COLUMN column_def...;

Ví dụ

Bạn theo dõi bảng COMPANY có các bản ghi sau:

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

Sau đây, chúng ta thử thay tên bảng này bởi sử dụng lệnh ALTER TABLE như sau:

sqlite> ALTER TABLE COMPANY RENAME TO OLD_COMPANY;

Lệnh SQLite trên sẽ thay tên bảng COMPANY thành OLD_COMPANY. Bây giờ, chúng ta thử thêm một cột vào trong bảng OLD_COMPANY này như sau:

sqlite> ALTER TABLE OLD_COMPANY ADD COLUMN SEX char(1);

Lúc này, bảng COMPANY đã bị thay đổi, và có các bản ghi sau với lệnh 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

Bạn sẽ chú ý thấy rằng, cột được bổ sung thêm sẽ được điền đầy với các giá trị NULL.

Bình luận