Trong bài này mình sẽ hướng dẫn bạn cách xóa một hoặc nhiều column ra khỏi table trong SQL Server, lệnh này hữu ích khi bạn muốn loại bõ những column không còn dùng tới trong database.
1. Lênh ALTER TABLE DROP COLUMN
Để xóa column ra khỏi table thì ta sư dụng lệnh ALTER TABLE DROP COLUMN với cú pháp như sau:
ALTER TABLE table_name DROP column_name;
Trong đó:
table_name
là bảng muốn xóa columntable_name
là tên column muốn xóa
Bạn phải kiểm tra điều kiện ràng buộc trước khi xóa bởi vì nếu column cần xóa là khóa ngoại thì rất huy hiểm, sẽ ảnh hướng đến ràng buộc toàn vẹn. Tuy nhiên bạn yên tâm vì nếu column đó là foreign key hoặc primary key thì SQL Server sẽ không cho bạn xóa.
Bài viết này được đăng tại [kiso.vn]
Nếu bạn muốn xóa một lúc nhiều column thì sử dụng cú pháp sau:
ALTER TABLE table_name DROP column_name_1, column_name_2,...;
Danh sách các column sẽ được ngăn cách nhau bởi đấu phẩy.
2. Ví dụ xóa column trong SQL Server
Trước tiên bạn hãy tạo một table băng câu lệnh SQL sau:
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) );
Xóa column note
Bây giờ mình muốn xóa column note
ra khỏi table price_lists
.
ALTER TABLE sales.price_lists DROP COLUMN note;
Xóa column price
Column price có CHECK tên là ck_positive_price
nên khi xóa column này ta phải xóa ck_positive_price
trước, nếu không sẽ bị báo lỗi: The object ‘ck_positive_price’ is dependent on column ‘price’.
ALTER TABLE sales.price_lists DROP CONSTRAINT ck_positive_price;
ALTER TABLE sales.price_lists DROP COLUMN price;
Xóa column discount, surcharge
Vì hai column này không có ràng buộc gì nên xóa bình thường.
ALTER TABLE sales.price_lists DROP COLUMN discount, surcharge;
Bạn hãy tự thực hành bằng cách xóa các column còn lại nhé, thử xóa luôn primary key xem có nhận được thông báo lôi gì không.
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chính1. Lênh ALTER TABLE DROP COLUMN2. Ví dụ xóa...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính1. Lênh ALTER TABLE DROP COLUMN2. Ví dụ xóa column trong SQL ServerXóa column noteXóa column priceXóa column discount, surcharge1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chính1. Lênh ALTER TABLE DROP COLUMN2. Ví dụ xóa column trong SQL ServerXóa column noteXóa column priceXóa column discount, surchargeV. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ...
Directory traversal vulnerabilities (phần 3)
Nội dung chính1. Lênh ALTER TABLE DROP COLUMN2. Ví dụ xóa column trong SQL ServerXóa column noteXóa column priceXóa column discount, surchargeV. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy...
Directory traversal vulnerabilities (phần 2)
Nội dung chính1. Lênh ALTER TABLE DROP COLUMN2. Ví dụ xóa column trong SQL ServerXóa column noteXóa column priceXóa column discount, surchargeIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình...