06/04/2021, 14:50

Lệnh ALTER TABLE trong SQLite - SQLite căn bản và nâng cao

Lệnh ALTER TABLE trong SQLite dùng để sửa đổi một bảng hiện có mà không cần thực hiện dump and reload dữ liệu. Bạn có thể sử dụng ALTER TABLE để đổi tên bảng và bổ sung thêm các cột mới vào trong bảng hiện có. Không có hoạt động nào khác được hỗ trợ bởi lệnh ALTER TABLE ...

Lệnh ALTER TABLE trong SQLite dùng để sửa đổi một bảng hiện có mà không cần thực hiện dump and reload dữ liệu. Bạn có thể sử dụng ALTER TABLE để đổi tên bảng và bổ sung thêm các cột mới vào trong bảng hiện có.

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

1. Cú pháp của lệnh ALTER TABLE trong SQLite

Sau đây là cú pháp cơ bản của lệnh ALTER TABLE trong SQLite để đổi tên 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 lệnh ALTER TABLE trong SQLite để thêm một cột mới trong bảng hiện có.

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

2. Ví dụ lệnh ALTER TABLE trong SQLite

Giả sử chúng ta có bảng COMPANY có cấu trúc định nghĩa bảng sau:

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

Chúng ta dùng câu lệnh INSERT để chèn dữ liệu vào bảng COMPANY như sau:

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 );

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (2, 'Allen', 25, 'Texas', 15000.00 );

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (5, 'David', 27, 'Texas', 85000.00 );

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (6, 'Kim', 22, 'South-Hall', 45000.00 );

INSERT INTO COMPANY VALUES (7, 'James', 24, 'Houston', 10000.00 );

Như vậy chúng ta đã có 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

Bây giờ, chúng ta 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.

Tạ Quốc Bảo

23 chủ đề

7270 bài viết

Cùng chủ đề
0