ALTER (RENAME) en SQL

ALTER (RENAME) en SQL

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:

alumnes-taula

Consulta:

 ALTER TABLE students    
RENAME TO learners;

Sortida:

Alter-taula

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;

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

Taula dTaula d'estudiants

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

ALTER (RENAME) en SQLSortida

Exemple 2: Canvia el nom d'una taula

En aquest exemple volem canviar el nom de la taula Student a Student_Details utilitzant el ALTER TABLE comanda que fa que el nom sigui més descriptiu i rellevant pel seu contingut.

Consulta:

 ALTER TABLE Student RENAME TO Student_Details;  

Sortida

Taula de detalls_estudiantTaula de detalls_estudiant

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;

Consulta:

 ALTER TABLE Student ADD marks INT;  

Sortida

sortidasortida

En l'exemple el phone la columna s'actualitza des de VARCHAR(20) a BIGINT 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 :

  • 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:

ALTER TABLE Student RENAME COLUMN nom_columna_antiga A nom_columna_nou;

Crea un qüestionari