Cách bỏ một cột trong SQL
Giới thiệu
- Để xóa một cột khỏi bảng đã được tạo, người ta cần sử dụng ALTER cùng với lệnh DROP COLUMN mệnh đề.
Cú pháp:
ALTER TABLE tablename DROP COLUMN ColumnName;
Ở đâu ,
- Tên bảng là tên của một bảng đã tồn tại mà từ đó bạn phải xóa một cột.
- ColumnName là tên của cột sẽ bị xóa khỏi bảng đã tồn tại.
Ví dụ 1:
Đầu tiên, chúng tôi sẽ tạo một cơ sở dữ liệu với tên “ studentdb ”. Sau đó, trong cơ sở dữ liệu đó, chúng tôi sẽ tạo một bảng “sinh viên” và chèn các bản ghi vào bảng.
Bây giờ, chúng tôi sẽ xóa cột 'Thành phố' khỏi bảng hiện có.
mysql> USE studentdb; Database changed mysql> SELECT *FROM student; +---------+-----------+-----------+-------------+------+ | Stud_ID | Stud_Name | Course_ID | Course_Name | City | +---------+-----------+-----------+-------------+------+ | 1 | Prajakta | 101 | DBMS | NULL | | 2 | Shweta | 102 | CN | NULL | | 3 | Nikita | 103 | OS | NULL | | 4 | Ankita | 104 | C | NULL | | 5 | Ashmita | 105 | JAVA | NULL | +---------+-----------+-----------+-------------+------+ 5 rows in set (0.00 sec) mysql> ALTER TABLE student DROP COLUMN City; Query OK, 5 rows affected (0.29 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> SELECT *FROM student; +---------+-----------+-----------+-------------+ | Stud_ID | Stud_Name | Course_ID | Course_Name | +---------+-----------+-----------+-------------+ | 1 | Prajakta | 101 | DBMS | | 2 | Shweta | 102 | CN | | 3 | Nikita | 103 | OS | | 4 | Ankita | 104 | C | | 5 | Ashmita | 105 | JAVA | +---------+-----------+-----------+-------------+ 5 rows in set (0.00 sec)
Cột 'Thành phố' bị xóa khỏi bảng sinh viên hiện có.
Ví dụ 2:
Chúng tôi sẽ xóa cột ‘Stud_ID’ cùng với khóa chính của nó.
sinh viênmysql> DESC student; +-------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+-------+ | Stud_ID | int(11) | NO | PRI | NULL | | | Stud_Name | varchar(20) | YES | | NULL | | | Course_ID | int(11) | YES | | NULL | | | Course_Name | varchar(20) | YES | | NULL | | +-------------+-------------+------+-----+---------+-------+ 4 rows in set (0.02 sec) mysql> ALTER TABLE student DROP COLUMN Stud_ID; Query OK, 5 rows affected (0.28 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> DESC student; +-------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+-------+ | Stud_Name | varchar(20) | YES | | NULL | | | Course_ID | int(11) | YES | | NULL | | | Course_Name | varchar(20) | YES | | NULL | | +-------------+-------------+------+-----+---------+-------+ 3 rows in set (0.01 sec)
Chúng tôi đã sử dụng DESC lệnh trong SQL để xem cấu trúc của bảng sinh viên. Trước khi thực hiện lệnh ALTER, tồn tại một khóa chính trên ‘Stud_ID’. Sau khi thực hiện lệnh ALTER cùng với mệnh đề cột DROP, ‘Stud_ID’ bị xóa khỏi cấu trúc bảng cùng với khóa chính của nó.