Lệnh ALTER TABLE trong SQL Server

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:

Thêm nhiều cột cùng lúc vào bảng

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';

Lệnh này đổi tên bảng Quantrimang thành Quantrimang.com.

Bài trước: Khóa chính PRIMARY KEY trong SQL Server

Bài sau: Lệnh DROP TABLE trong SQL Server

Thứ Hai, 17/08/2020 11:37
57 👨 63.688
0 Bình luận
Sắp xếp theo