Trong hướng dẫn này, bạn sẽ học cách sử dụng câu lệnh ALTER TABLE DROP COLUMN
trong SQL Server để xóa một hoặc nhiều cột khỏi bảng hiện có.
Đôi khi, bạn cần xóa một hoặc nhiều cột không sử dụng hoặc đã lỗi thời khỏi bảng. Để thực hiện việc này, bạn sử dụng câu lệnh ALTER TABLE DROP COLUMN
như sau:
ALTER TABLE table_name
DROP COLUMN column_name;
Trong cú pháp này:
Nếu cột mà bạn muốn xóa có một ràng buộc CHECK, bạn phải xóa ràng buộc trước khi xóa cột. Ngoài ra, SQL Server không cho phép bạn xóa một cột có ràng buộc PRIMARY KEY
hoặc FOREIGN KEY
.
Nếu bạn muốn xóa nhiều cột cùng một lúc, bạn sử dụng cú pháp sau:
ALTER TABLE table_name
DROP COLUMN column_name_1, column_name_2,...;
Trong cú pháp này, bạn chỉ định các cột mà bạn muốn xóa dưới dạng danh sách các cột được phân tách bằng dấu phẩy trong mệnh đề DROP COLUMN
.
Hãy tạo một bảng mới có tên sales.price_lists
để minh họa.
CREATE TABLE sales.price_lists(
product_id int,
valid_from DATE,
price DEC(10,2) NOT NULL CONSTRAINT ck_positive_price CHECK(price >= 0),
discount DEC(10,2) NOT NULL,
surcharge DEC(10,2) NOT NULL,
note VARCHAR(255),
PRIMARY KEY(product_id, valid_from)
);
Câu lệnh sau xóa cột note
khỏi bảng price_lists
:
ALTER TABLE sales.price_lists
DROP COLUMN note;
Cột price
trong bảng price_lists
có một ràng buộc CHECK
, do đó bạn không thể xóa nó theo cách thông thường được. Nếu bạn cố gắng thực hiện câu lệnh sau, bạn sẽ gặp lỗi:
ALTER TABLE sales.price_lists
DROP COLUMN price;
Đây là thông báo lỗi:
The object 'ck_positive_price' is dependent on column 'price'.
Để xóa cột price
, trước tiên hãy xóa ràng buộc CHECK
của nó:
ALTER TABLE sales.price_lists
DROP CONSTRAINT ck_positive_price;
Và sau đó, xóa cột price
bằng lệnh sau:
ALTER TABLE sales.price_lists
DROP COLUMN price;
Ví dụ sau đây xóa hai cột discount
và surcharge
cùng một lúc:
ALTER TABLE sales.price_lists
DROP COLUMN discount, surcharge;
Trong hướng dẫn này, bạn đã học cách sử dụng câu lệnh ALTER TABLE DROP COLUMN
trong SQL Server để xóa một hoặc nhiều cột khỏi bảng.
Bạn có thể vui lòng tắt trình chặn quảng cáo ❤️ để hỗ trợ chúng tôi duy trì hoạt động của trang web.
Trong hướng dẫn này, bạn sẽ tìm hiểu về GUID trong SQL Server và cách sử dụng hàm NEWID() để tạo giá trị GUID.
Trong hướng dẫn này, bạn sẽ học cách sử dụng kiểu dữ liệu DATETIMEOFFSET trong SQL Server để thao tác datetime với múi giờ.
Trong hướng dẫn này, bạn sẽ học cách lưu trữ thời gian trong ngày trong cơ sở dữ liệu bằng cách sử dụng kiểu dữ liệu TIME trong SQL Server.
Trong hướng dẫn này, bạn sẽ học cách sử dụng kiểu dữ liệu DATE trong SQL Server để lưu trữ dữ liệu ngày tháng trong một bảng.