În SQL, modificările structurale ale unei baze de date sunt adesea necesare, cum ar fi redenumirea tabelelor sau a coloanelor, adăugarea de noi coloane sau schimbarea tipurilor de date. Comanda ALTER TABLE permite efectuarea eficientă a acestor modificări fără a afecta datele existente. Este o comandă esențială pentru gestionarea și actualizarea schemelor bazei de date pe măsură ce cerințele aplicației evoluează.
Exemplu: Mai întâi, să creăm un exemplu de tabel Student pentru a demonstra comanda ALTER:
Interogare:
ALTER TABLE students
RENAME TO learners;
Ieșire:
Sintaxă pentru comanda ALTER
Iată formatele de sintaxă comune pentru utilizarea comenzii ALTER TABLE:
1. Redenumirea unui tabel
ALTER TABLE nume_tabel
RENAME TO new_table_name;
2. Redenumirea unei coloane
ALTER TABLE nume_tabel
RENAME COLUMN nume_coloană_veche LA numele_coloană_nouă;
3. Adăugarea unei coloane noi
ALTER TABLE nume_tabel
ADD tip de date nume_coloană;exemple de programare python
ALTER TABLE nume_tabel
MODIFY COLUMN nume_coloană tip_date_nou;
Exemple de comandă ALTER în SQL
Mai jos sunt exemple practice pentru a ne ajuta să înțelegem cum să folosim eficient comanda ALTER în diferite scenarii. Aceste exemple includ redenumirea tabelelor sau coloanelor adăugarea de noi coloane sau schimbarea coloanei tipuri de date.
1. Creați un tabel de probă
Mai întâi, să creăm un exemplu de Student tabel pentru a demonstra ALTER comanda:
CREATE TABLE Student (
id INT PRIMARY KEY
name VARCHAR(50)
age INT
email VARCHAR(50)
phone VARCHAR(20)
);
Să inserăm câteva date și apoi să efectuăm operația ALTER pentru a înțelege mai bine comanda alter.
INSERT INTO Student (id name age email phone)
VALUES
(1 'Amit' 20 '[email protected]' '9999999999')
(2 'Rahul' 22 '[email protected]' '8888888888')
(3 'Priya' 21 '[email protected]' '7777777777')
(4 'Sonia' 23 '[email protected]' '6666666666')
(5 'Kiran' 19 '[email protected]' '5555555555');
Ieșire
Exemplul 1: Redenumiți o coloană
Schimbați numele coloanei în FIRST_NAME din tabelul Student. Pentru a schimba numele coloanei tabelului existent, trebuie să folosim cuvântul cheie Column înainte de a scrie numele coloanei existente pentru a schimba.
Sintaxă
ALTER TABLE Student RENAME COLUMN Column_NAME TO FIRST_NAME;
Interogare:
ALTER TABLE Student RENAME Column name TO FIRST_NAME;Ieșire
IeșireExemplul 2: Redenumiți un tabel
În acest exemplu, dorim să redenumim tabelul dinStudentlaStudent_DetailsfolosindALTER TABLEcomandă care face numele mai descriptiv și relevante pentru conținutul său.
Interogare:
ALTER TABLE Student RENAME TO Student_Details;Ieșire
Exemplul 3: Adăugați o coloană nouă
Pentru a adăuga o nouă coloană la tabelul existent, trebuie mai întâi să selectăm tabelul cu comanda ALTER TABLE table_name și apoi vom scrie numele noii coloane și tipul ei de date cu ADD column_name tipul de date. Să aruncăm o privire mai jos pentru a înțelege mai bine.
Sintaxă
ALTER TABLE nume_tabel
ADD tip de date nume_coloană;număr palindrom
Interogare:
ALTER TABLE Student ADD marks INT;Ieșire
În exemplulphonecoloana este actualizată de laVARCHAR(20)laBIGINT pentru a stoca mai eficient datele numerice și a asigura integritatea datelor pentru numerele de telefon fără caractere inutile.
Sintaxă
ALTER TABLE nume_tabel
MODIFY COLUMN nume_coloană tip_date_nou;
Interogare:
ALTER TABLE Student_Details
MODIFY COLUMN phone BIGINT;
Ieșire
| id | nume | vârstă | telefon | |
|---|---|---|---|---|
| 1 | Ce | 20 | [email protected] | 9999999999 |
| 2 | Rahul | 22 | [email protected] | 8888888888 |
| 3 | Priya | 21 | [email protected] | 7777777777 |
| 4 | Sonia | 23 | [email protected] | 6666666666 |
| 5 | Apelul | 19 | [email protected] | 5555555555 |
Explicaţie :
- Coloana de telefon are acum un tip de date BIGINT potrivit pentru stocarea valorilor numerice mari.
- Datele existente rămân neschimbate, dar sunt stocate ca numere întregi în loc de sfori.
Cazuri de utilizare suplimentare ale comenzii ALTER
1. Eliminarea unei coloane : În unele cazuri, ar putea fi necesar să eliminam o coloană. Pentru a face acest lucru, puteți utiliza sintaxa DROP COLUMN:
ALTER TABLE Student_Details
DROP COLUMN semne;
Această comandă șterge în întregime coloana de marcaje din tabel
2. Modificarea valorii implicite a unei coloane : De asemenea, putem modifica valoarea implicită a unei coloane folosind clauza SET DEFAULT:
ALTER TABLE Student_Details
ALTER COLUMN age SET DEFAULT 18;
cine este freddie mercury
3. Redenumirea unui tabel sau a unei coloane în diferite baze de date : Rețineți că sintaxa SQL poate varia în diferite sisteme de baze de date. Iată cum am redenumi un tabel sau o coloană în MySQL MariaDB și Oracol :
- MySQL / MariaDB : Sintaxa pentru redenumirea unei coloane este similară, dar trebuie să utilizați și comanda CHANGE COLUMN pentru a redenumi o coloană:
ALTER TABLE Student
CHANGE COLUMN nume_coloană_veche nume_coloană_nou tip de date;
- Oracol : Oracle acceptă sintaxa RENAME COLUMN, dar necesită o sintaxă diferită pentru redenumirea unui tabel:
Creați un testALTER TABLE Student RENUMIRE COLUMN nume_coloană_veche LA numele_coloană_nouă;