Xóa Column Trong SQL Server - Freetuts

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.

test php

banquyen pngBài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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 column
  • table_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 [free tuts .net]

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

Xóa Check ALTER TABLE sales.price_lists DROP CONSTRAINT ck_positive_price;

Xóa 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.

Từ khóa » Xóa Dữ Liệu 1 Cột Trong Sql