En SQL, sovint es requereixen modificacions estructurals a una base de dades, com canviar el nom de taules o columnes, afegir columnes noves o canviar els tipus de dades. L'ordre ALTER TABLE permet fer aquests canvis de manera eficient sense afectar les dades existents. És una ordre essencial per gestionar i actualitzar esquemes de bases de dades a mesura que evolucionen els requisits de l'aplicació.
Exemple: Primer creem una taula d'estudiant de mostra per demostrar l'ordre ALTER:
Consulta:
ALTER TABLE students
RENAME TO learners;
Sortida:
Sintaxi de l'ordre ALTER
Aquests són els formats de sintaxi habituals per utilitzar l'ordre ALTER TABLE:
1. Canviar el nom d'una taula
ALTER TABLE nom_taula
CANVIA EL NOM A nom_taula_nou;
2. Canviar el nom d'una columna
ALTER TABLE nom_taula
RENAME COLUMN nom_columna_antiga A nom_columna_nou;
3. Afegir una nova columna
ALTER TABLE nom_taula
ADD column_name datatype;matemàtiques java
ALTER TABLE nom_taula
MODIFY COLUMN nom_columna nou_tip de dades;
Exemples de l'ordre ALTER en SQL
A continuació es mostren exemples pràctics que ens ajudaran a entendre com utilitzar l'ordre ALTER de manera eficaç en diversos escenaris. Aquests exemples inclouen canviar el nom de taules o columnes afegint columnes noves o columna canviant tipus de dades.
1. Creeu una taula de mostra
Primer creem un alumne de mostra taula per demostrar l'ALTER comandament:
CREATE TABLE Student (
id INT PRIMARY KEY
name VARCHAR(50)
age INT
email VARCHAR(50)
phone VARCHAR(20)
);
Introduïm algunes dades i després realitzem l'operació ALTER per entendre millor l'ordre d'alteració.
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');
Sortida
Exemple 1: Canvia el nom d'una columna
Canvieu el nom del nom de la columna a FIRST_NAME a la taula Student. Per canviar el nom de la columna de la taula existent hem d'utilitzar la paraula clau Columna abans d'escriure el nom de la columna existent per canviar.
Sintaxi
ALTER TABLE L'estudiant CANVIA EL NOM DE LA COLUMNA Column_NAME PER FIRST_NAME;
Consulta:
ALTER TABLE Student RENAME Column name TO FIRST_NAME;Sortida
SortidaExemple 2: Canvia el nom d'una taula
En aquest exemple volem canviar el nom de la taulaStudentaStudent_Detailsutilitzant elALTER TABLEcomanda que fa que el nom sigui més descriptiu i rellevant pel seu contingut.
Consulta:
ALTER TABLE Student RENAME TO Student_Details;Sortida
Exemple 3: afegiu una columna nova
Per afegir una nova columna a la taula existent, primer hem de seleccionar la taula amb l'ordre ALTER TABLE nom_taula i després escriurem el nom de la nova columna i el seu tipus de dades amb ADD nom_columna tipus de dades. Fem una ullada a continuació per entendre millor.
Sintaxi
ALTER TABLE nom_taula
ADD column_name datatype;quants zeros hi ha 1.000 milions
Consulta:
ALTER TABLE Student ADD marks INT;Sortida
En l'exemple elphonela columna s'actualitza des deVARCHAR(20)aBIGINT per emmagatzemar dades numèriques de manera més eficient i garantir integritat de les dades dels números de telèfon sense caràcters innecessaris.
Sintaxi
ALTER TABLE nom_taula
MODIFY COLUMN nom_columna nou_tip de dades;
Consulta:
ALTER TABLE Student_Details
MODIFY COLUMN phone BIGINT;
Sortida
| id | nom | edat | correu electrònic | telèfon |
|---|---|---|---|---|
| 1 | Què | 20 | [email protected] | 9999999999 |
| 2 | Rahul | 22 | [email protected] | 8888888888 |
| 3 | Priya | 21 | [email protected] | 7777777777 |
| 4 | Sonia | 23 | [email protected] | 6666666666 |
| 5 | La trucada | 19 | [email protected] | 5555555555 |
Explicació :
- La columna del telèfon ara té un tipus de dades BIGINT adequat per emmagatzemar valors numèrics grans.
- Les dades existents romanen sense canvis, però s'emmagatzemen com a nombres enters en lloc de cordes.
Casos d'ús addicionals de la comanda ALTER
1. Eliminació d'una columna : En alguns casos és possible que hàgim d'eliminar una columna. Per fer-ho, podeu utilitzar la sintaxi DROP COLUMN:
ALTER TABLE Estudiant_Detalls
DROP COLUMN marques;
Aquesta ordre suprimeix completament la columna de marques de la taula
2. Canviar el valor per defecte d'una columna : També podem modificar el valor per defecte d'una columna mitjançant la clàusula SET DEFAULT:
ALTER TABLE Estudiant_Detalls
ALTER COLUMN age SET DEFAULT 18;
3. Canviar el nom d'una taula o columna en diferents bases de dades : Tingueu en compte que la sintaxi SQL pot variar en diferents sistemes de bases de dades. Així és com canviaríem el nom d'una taula o columna a MySQL MariaDB i Oracle :
com actualitzo java
- MySQL / MariaDB : La sintaxi per canviar el nom d'una columna és similar, però també heu d'utilitzar l'ordre CHANGE COLUMN per canviar el nom d'una columna:
ALTER TAULA Estudiant
CHANGE COLUMN nom_columna_antiga nom_columna_nou tipus de dades;
- Oracle : Oracle admet la sintaxi RENAME COLUMN però requereix una sintaxi diferent per canviar el nom d'una taula:
Crea un qüestionariALTER TABLE Student RENAME COLUMN nom_columna_antiga A nom_columna_nou;