Sådan slipper du en kolonne i SQL
Introduktion
- For at slette en kolonne fra en allerede oprettet tabel, skal man bruge ALTER kommandoen sammen med DROP COLUMN klausul.
Syntaks:
ALTER TABLE tablename DROP COLUMN ColumnName;
Hvor ,
- Tabelnavn er navnet på en allerede eksisterende tabel, hvorfra du skal slette en kolonne.
- Kolonnenavn er navnet på den kolonne, der skal slettes fra en allerede eksisterende tabel.
Eksempel 1:
Først vil vi oprette en database med navnet "studentdb ”. Så i den database vil vi oprette en tabel "elev" og indsætte poster i tabellen.
Nu vil vi slette en kolonne 'By' fra en eksisterende tabel.
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)
Kolonne 'By' er fjernet fra en eksisterende elevtabel.
Eksempel 2:
Vi sletter en kolonne "Stud_ID" sammen med dens primære nøgle.
mysql> 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)
Vi har brugt DESC kommando i SQL for at se strukturen af elevtabellen. Før du udfører ALTER-kommandoen, eksisterer der en primær nøgle på 'Stud_ID'. Efter at have udført ALTER-kommandoen sammen med DROP-kolonnesætningen, fjernes 'Stud_ID' fra tabelstrukturen sammen med dens primære nøgle.