Trong SQL Server, lệnh ALTER TABLE được dùng để thêm cột, chỉnh sửa cột, xóa cột, đổi tên cột hoặc đổi tên bảng.
Các hướng dẫn được thực hiện trên Microsoft SQL System Sever Management Studio 18 và SQL Server 19.
Các ví dụ trong bài viết này ta sẽ sử dụng cùng một bảng dữ liệu Quantrimang sau, được tạo bằng lệnh Create table. Để xem bảng Quantrimang trong MS SSMS bạn có thể sử dụng truy vấn Select * from Quantrimang, thay Quantrimang bằng tên bảng bạn cần xem nhé.
Dưới đây là bảng Quantrimang:
-+-------------+--------------+-------------+-------+
| IDChuyenmuc | Chuyenmuccon |Chuyenmuclon | Sobai |
+-------------+--------------+-------------+-------+
| 1 | SQL Server | Lap trinh | 101 |
| 2 | Facebook | Mang xa hoi| 152 |
| 3 | Python | Lap trinh | 101 |
| 4 | JavaScript | Lap trinh | 122 |
| 5 | Chrome | Web | 94 |
| 6 | Instagram | Mang xa hoi| 165 |
+-------------+--------------+-------------+-------+
Thêm cột vào bảng trong SQL Server
Cú pháp
ALTER TABLE ten_bang
ADD ten_cot dinh_nghia_cot;
Ví dụ
ALTER TABLE Quantrimang
ADD Luotxem FLOAT(10);
Lệnh ALTER TABLE trên đây sẽ thêm cột Luotxem vào bảng Quantrimang.
Sau khi chạy lệnh trên thì đây là kết quả của mình:
Thêm nhiều cột vào bảng trong SQL Server
Cú pháp
ALTER TABLE ten_bang
ADD cot1 dinh_nghia_cot,
cot2 dinh_nghia_cot,
…
cot_n dinh_nghia_cot;
Ví dụ
ALTER TABLE Quantrimang
ADD Bientap VARCHAR(50),
Trangthai VARCHAR(50);
Lệnh ALTER TABLE ở ví dụ này sẽ thêm 2 cột là Bientap với trường VARCHAR(50) và Trangthai với trường VARCHAR(50) vào bảng Quantrimang.
Ta có kết quả như sau:
Chỉnh sửa cột trong bảng trong SQL Server
Cú pháp
ALTER TABLE ten_bang
ALTER COLUMN ten_cot kieu_cot;
Ví dụ
ALTER TABLE Quantrimang
ALTER COLUMN Trangthai VARCHAR(75) NOT NULL;
Lệnh trên sẽ sửa cột Trangthai sang kiểu dữ liệu VARCHAR(75) và không chấp nhận giá trị NULL.
Xóa cột của bảng trong SQL Server
Cú pháp
ALTER TABLE ten_bang
DROP COLUMN ten_cot;
Ví dụ
ALTER TABLE Quantrimang
DROP COLUMN Bientap;
Lệnh ALTER TABLE trên đây sẽ xóa cột Bientap khỏi bảng Quantrimang.
Đổi tên cột của bảng trong SQL Server
Có thể dùng lệnh ALTER TABLE để đổi tên cột trong bảng. Có thể dùng sp_rename nhưng Microsoft khuyến khích xóa và tạo lại bảng để kịch bản và các quy trình lưu trữ không bị hỏng.
Cú pháp
sp_rename 'ten_bang.ten_cot_cu', 'ten_cot_moi', 'COLUMN';
Ví dụ
sp_rename 'Quantrimang.Chuyenmuccon', 'Muccon','COLUMN';
Ví dụ này sử dụng sp_rename để đổi tên cột Chuyenmuccon trong bảng Quantrimang thành Muccon.
Đổi tên bảng trong SQL Server
Không thể dùng lệnh ALTER TABLE để đổi tên bảng trong SQL Server. Dù vậy bạn có thể dùng sp_rename, nhưng Microsoft khuyến khích xóa và tạo lại bảng để kịch bản và các quy trình lưu trữ không bị hỏng.
Cú pháp
sp_rename ‘ten_bang_cu’, ‘ten_bang_moi’;
Ví dụ
sp_rename 'Quantrimang','Quantrimang.com';
22 Th12 2020
16 Th12 2020
15 Th12 2020
16 Th12 2020
25 Th12 2020
31 Th12 2020