Lệnh ALTER TABLE trong SQL Server

Trong ngành lập trình, việc nắm vững những ngôn ngữ cơ bản và phổ biến nhất là rất quan trọng. Đồng thời, cũng cần hiểu về các công cụ quản trị dữ liệu. Trong số đó, SQL Server là một trong những hệ thống quản trị cơ sở dữ liệu tuyệt vời nhất. Với những tính năng vô cùng hữu ích như chèn, cập nhật, xóa dữ liệu, chỉnh sửa đối tượng trong cơ sở dữ liệu, kiểm soát truy cập và đảm bảo tính nhất quán và mối quan hệ ràng buộc, SQL Server đang trở thành một sự lựa chọn phổ biến cho các nhà phát triển.

Học SQL Server không khó. Điều quan trọng là nắm vững các lệnh thường được sử dụng. Trong bài viết này, chúng ta sẽ tìm hiểu về lệnh ALTER SQL Server.

Lệnh ALTER trong SQL Server

Lệnh ALTER trong SQL Server được sử dụng để thực hiện các thay đổi trong một bảng hiện tại. Các thay đổi có thể bao gồm thêm cột, xóa cột, thay đổi kích thước, chỉnh sửa kiểu dữ liệu, thêm hoặc xóa index, thêm hoặc xóa ràng buộc và nhiều hơn thế nữa. Dưới đây là một số điều bạn cần biết về lệnh ALTER trong SQL Server.

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 sẽ thêm cột Luotxem vào bảng Quantrimang.

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.

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 thành 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 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ể sử dụng lệnh ALTER TABLE để đổi tên cột trong bảng. Tuy nhiên, Microsoft khuyến khích việc xóa và tạo lại bảng để đảm bảo không làm hỏng các kịch bản và quy trình lưu trữ.

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ể sử dụng lệnh ALTER TABLE để đổi tên bảng trong SQL Server. Tuy nhiên, có thể sử dụng sp_rename. Tuy nhiên, Microsoft khuyến khích việc xóa và tạo lại bảng để đảm bảo không làm hỏng các kịch bản và quy trình lưu trữ.

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.

Thêm chỉ mục

Bạn có thể thêm chỉ mục vào cột hiện tại của bảng bằng lệnh ADD INDEX kết hợp với lệnh ALTER để chỉnh sửa cột SQL.

Ví dụ:

ALTER TABLE Employee ADD INDEX sample_index (Name, Salary);

Thêm khóa chính

Dưới đây là cú pháp để thêm khóa chính trên bảng hiện tại của database:

Cú pháp:

ALTER TABLE table_name ADD CONSTRAINT MyPrimaryKey PRIMARY KEY (column1, column2...);

Ví dụ:

ALTER TABLE Employee ADD COLUMN ID INT FIRST;
ALTER TABLE Employee ADD CONSTRAINT MyPrimaryKey PRIMARY KEY(ID);

Xác minh

Bạn có thể xác minh các chỉ số của bảng bằng lệnh EXEC sp_helpindex như sau:

EXEC sp_helpindex Employee;

Để xác minh truy vấn trên khi bạn mô tả bảng bằng lệnh EXEC sp_help, bạn có thể quan sát trường Key, dựa trên đó bạn có thể xác minh chỉ số của bảng.

Sau khi hiểu rõ về lệnh ALTER TABLE trong SQL Server, bạn có thể sử dụng nó để thực hiện các thay đổi trong cơ sở dữ liệu của mình.