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.

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 nhanvien
 ADD ho VARCHAR(50);

Lệnh ALTER TABLE trên đây sẽ thêm cột ho vào bảng nhanvien.

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 nhanvien
 ADD ho VARCHAR(50),
ten VARCHAR(40);

Lệnh ALTER TABLE ở ví dụ này sẽ thêm 2 cột là ho với trường VARCHAR(50) và ten với trường VARCHAR(40) vào bảng nhanvien.

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 nhanvien
 ALTER COLUMN ho VARCHAR(75) NOT NULL;

Lệnh trên sẽ sửa cột ho 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_cot 
 DROP COLUMN ten_cot;

Ví dụ

ALTER TABLE nhanvien
 DROP COLUMN ho;

Lệnh ALTER TABLE trên đây sẽ xóa cột ho khỏi bảng nhanvien.

Đổ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 ‘nhanvien.ho’, ‘honhanvien’, ‘COLUMN’;

Ví dụ này sử dụng sp_rename sẽ đổi tên cột ho trong bảng nhanvien thành honhanvien.

Đổ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 ‘nhanvien’, ‘nv’;

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

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

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

Thứ Sáu, 10/05/2019 09:42
52 👨 29.193