SQLite - Lệnh ALTER TABLE

SQLite ALTER TABLElệnh sửa đổi một bảng hiện có mà không thực hiện kết xuất đầy đủ và tải lại dữ liệu. Bạn có thể đổi tên bảng bằng câu lệnh ALTER TABLE và có thể thêm các cột bổ sung vào bảng hiện có bằng câu lệnh ALTER TABLE.

Không có hoạt động nào khác được hỗ trợ bởi lệnh ALTER TABLE trong SQLite ngoại trừ đổi tên bảng và thêm cột trong bảng hiện có.

Cú pháp

Sau đây là cú pháp cơ bản của ALTER TABLE để RENAME một bảng hiện có.

ALTER TABLE database_name.table_name RENAME TO new_table_name;

Sau đây là cú pháp cơ bản của ALTER TABLE để thêm một cột mới trong bảng hiện có.

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

Thí dụ

Hãy xem xét bảng COMPANY với 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

Bây giờ, hãy thử đổi tên bảng này bằng cách sử dụng câu lệnh ALTER TABLE như sau:

sqlite> ALTER TABLE COMPANY RENAME TO OLD_COMPANY;

Câu lệnh SQLite trên sẽ đổi tên bảng COMPANY thành OLD_COMPANY. Bây giờ, hãy thử thêm một cột mới trong bảng OLD_COMPANY như sau:

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

Bảng COMPANY hiện đã được thay đổi và sau đây sẽ là kết quả từ câu 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

Cần lưu ý rằng cột mới được thêm vào chứa các giá trị NULL.