In Structured Query Language, se desideri aggiungere colonne in una tabella esistente, modificare la tabella o eliminare colonne dalla tabella. Tutte queste operazioni sono consentite solo durante l'utilizzo dell'istruzione ALTER TABLE. L'istruzione ALTER TABLE consente inoltre agli utenti di aggiungere o eliminare i vincoli SQL sulle tabelle esistenti nell'SQL.
L'istruzione ALTER TABLE consente inoltre all'utente di rinominare la tabella esistente.
Istruzione ALTER TABLE ADD COLUMN in SQL
Viene utilizzato quando è necessario aggiungere colonne alla tabella esistente. In tale situazione, invece di creare una nuova tabella, puoi aggiungere una colonna in una tabella esistente utilizzando la parola chiave ADD.
Sintassi dell'istruzione ALTER TABLE ADD COLUMN in SQL
ALTER TABLE Table_Name ADD Column_Name Data_Type;
La sintassi precedente viene utilizzata per aggiungere una colonna in una tabella esistente e consente agli utenti di aggiungere un solo campo nella tabella.
Per aggiungere più di una colonna in una tabella esistente, utilizza la seguente sintassi:
ALTER TABLE Table_Name ADD (Column_Name1 Data_Type, Column_Name2 Data_Type);
Comprendiamo l'ALTER TABEL ADD COLUMN in SQL con esempi.
Esempio di ALTER TABLE ADD COLUMN in SQL
Abbiamo preso più esempi SQL, che ti aiuteranno a capire l'aggiunta di una singola colonna e più colonne nella tabella esistente usando l'istruzione ALTER TABLE ADD COLUMN.
Considera le seguenti tabelle insieme ai record forniti.
Tabella 1:Mobile_Plan:
ID_pacchetto | ID_dati | Id_tempo di conversazione |
1 | 2 | 1 |
2 | 3 | 2 |
3 | 1 | 3 |
Tabella 2:Data_Plan:
ID_dati | Limite_dati | Prezzo_dati |
1 | 2 | 30 |
2 | 5 | 70 |
3 | 4 | 55 |
Tabella 3:Piano di conversazione:
Talktime_Id | Tempo di conversazione _Limite | Tempo di conversazione _Prezzo |
1 | 100 | 150 |
2 | 70 | 105 |
3 | 60 | 90 |
Tabella 4:Cliente (tabella vuota)
Esempio 1:scrivi una query per aggiungere una nuova colonna Extra_Data_Price nella tabella Data_Plan.
ALTER TABLE Data_Plan ADD Extra_Data_Price int;
Abbiamo utilizzato l'istruzione ALTER TABLE ADD nella query precedente per aggiungere una nuova colonna Extra_Data_Price nella tabella Data_Plan. Abbiamo aggiunto una singola colonna nella tabella esistente.
Ora utilizzeremo la parola chiave DESC e il nome della tabella per verificare se la colonna Extra_Data_Price è stata aggiunta o meno correttamente nella tabella Data_Plan.
DESC Data_Plan;
Campo | Digita | Null | Chiave | Predefinito | Extra |
ID_dati | int(11) | NO | PRI | NULLO | |
Limite_dati | int(11) | SI | NULLO | ||
Prezzo_dati | int(11) | SI | NULLO | ||
Prezzo_dati_extra | Int(11) | SI |
Esempio 2: Scrivi una query per aggiungere più colonne CustomerId, Customer_Name e Phone_Number nella tabella Cliente, che è vuota, senza colonne.
ALTER TABLE Customer ADD (CustomerId int, Customer_Name varchar(20), Phone_Number varchar(10));
Abbiamo utilizzato l'istruzione ALTER TABLE ADD nella query precedente per aggiungere più nuove colonne CustomerId, Customer_Name e Phone_Number nella tabella Customer. Abbiamo aggiunto più colonne nella tabella esistente.
Ora utilizzeremo la parola chiave DESC e il nome della tabella per verificare se le colonne CustomerId, Customer_Name e Phone_Number sono state aggiunte correttamente o meno nella tabella Cliente.
DESC Customer;
Campo | Digita | Null | Chiave | Predefinito | Extra |
ID cliente | int(11) | SI | NULLO | ||
Nome_cliente | varchar(20) | SI | NULLO | ||
Numero_Telefono | varchar(10) | SI | NULLO |
Si supponga di voler aggiungere vincoli come chiave primaria, chiave esterna a una tabella esistente. Faremo un esempio dell'aggiunta di vincoli di chiave primaria e di chiavi esterne alla tabella esistente. Possiamo anche aggiungere questi vincoli usando l'istruzione ALTER TABLE ADD.
Esempio 3: Scrivi una query per aggiungere il vincolo di chiave primaria sul nome della colonna CustomerId nella tabella cliente.
ALTER TABLE Customer ADD Primary Key(CustomerId);
Nella query precedente, abbiamo utilizzato l'istruzione ALTER TABLE ADD per aggiungere il vincolo della chiave primaria sul nome della colonna CustomerId nella tabella del cliente. Abbiamo utilizzato la parola chiave Chiave primaria con l'istruzione ALTER TABLE ADD per aggiungere un vincolo su CustomerId.
Ora utilizzeremo la parola chiave DESC e il nome della tabella per verificare se la chiave della colonna CustomerId è stata modificata in PRI nella tabella Customer.
DESC Customer;
Campo | Digita | Null | Chiave | Predefinito | Extra |
ID cliente | int(11) | SI | PRI | NULLO | |
Nome_cliente | varchar(20) | SI | NULLO | ||
Numero_Telefono | varchar(10) | SI | NULLO |
Esempio 4: Scrivi una query per aggiungere il vincolo di chiave esterna al nome della colonna Package_Id nella tabella cliente.
ALTER TABLE Customer ADD (Package_Id int, FOREIGN KEY(Package_Id) references Mobile_Plan(Package_ID));
Nella query precedente, abbiamo prima aggiunto la colonna Package_Id nella tabella Customer, quindi abbiamo utilizzato la chiave esterna nella stessa colonna Package_Id nella stessa query utilizzando l'istruzione ALTER TABLE ADD.
Utilizzeremo ora la parola chiave DESC e il nome della tabella per verificare se la colonna Package_Id è stata aggiunta o meno correttamente nella tabella Cliente e la chiave cambia in MUL.
DESC Customer;
Campo | Digita | Null | Chiave | Predefinito | Extra |
ID cliente | int(11) | SI | PRI | NULLO | |
Nome_cliente | varchar(20) | SI | NULLO | ||
Numero_Telefono | varchar(10) | SI | NULLO | ||
ID_pacchetto | Int(11) | SI | MUL | NULLO |
Istruzione ALTER TABLE MODIFY COLUMN in SQL
Si supponga di voler aggiornare il nome o la definizione della colonna come un tipo di dati. In tal caso, utilizzeremo l'istruzione ALTER TABLE MODIFY per aggiornare il tipo di dati della colonna della tabella già esistente. Useremo la parola chiave MODIFY subito dopo Table_Name nell'istruzione.
Sintassi dell'istruzione ALTER TABLE MODIFY COLUMN in SQL
ALTER TABLE Table_Name MODIFY Column_Name Data_Type;
La sintassi precedente viene utilizzata per modificare le colonne in una tabella esistente e consente all'utente di modificare solo un singolo campo.
Per modificare più di una colonna in una tabella esistente, utilizzare la sintassi seguente:
ALTER TABLE Table_Name MODIFY (Column_Name1 Data_Type, Column_Name2 Data_Type);
Comprendiamo ALTER TABEL MODIFY in SQL con esempi.
Esempio di colonna ALTER TABLE MODIFY in SQL
Abbiamo preso più esempi SQL per aiutarti a capire come modificare singole colonne e più colonne nella tabella esistente usando l'istruzione ALTER TABLE MODIFY.
Considera le seguenti tabelle insieme ai record forniti.
Tabella 1:Mobile_Plan:
ID_pacchetto | ID_dati | Id_tempo di conversazione |
1 | 2 | 1 |
2 | 3 | 2 |
3 | 1 | 3 |
Tabella 2:Data_Plan:
ID_dati | Limite_dati | Prezzo_dati |
1 | 2 | 30 |
2 | 5 | 70 |
3 | 4 | 55 |
Tabella 3:Piano di conversazione:
Talktime_Id | Tempo di conversazione _Limite | Tempo di conversazione _Prezzo |
1 | 100 | 150 |
2 | 70 | 105 |
3 | 60 | 90 |
Tabella 4:Cliente
ID cliente | Nome_cliente | Numero_di_telefono | ID_pacchetto |
101 | Bhavesh | 9846522021 | 1 |
102 | Mahesh | 7798598272 | 3 |
103 | Anita | 7865222021 | 1 |
Esempio 1: Scrivi una query per aggiornare la dimensione della colonna Nome cliente dalla tabella clienti.
ALTER TABLE Customer MODIFY Customer_Name varchar(30);
Nella query precedente, abbiamo modificato la colonna Customer_Name size da 20 a 30. Abbiamo utilizzato l'istruzione ALTER TABLE con la parola chiave MODIFY subito dopo il nome della tabella per modificare la colonna.
Utilizzeremo ora la parola chiave DESC e il nome della tabella per verificare se il tipo di dati della colonna Nome_cliente è stato modificato nella tabella Cliente.
DESC Customer;
Campo | Digita | Null | Chiave | Predefinito | Extra |
ID cliente | int(11) | SI | PRI | NULLO | |
Nome_cliente | varchar(30) | SI | NULLO | ||
Numero_Telefono | varchar(10) | SI | NULLO | ||
ID_pacchetto | Int(11) | SI | MUL | NULLO |
Esempio 2: Scrivi una query per aggiornare il tipo di dati delle colonne Talktime_Limit e Talktime_Price dalla tabella Talktime_Plan.
ALTER TABLE Talktime_Plan MODIFY (Talktime_Limit varchar(2), Talktime_Price varchar(2));
Abbiamo modificato il tipo di dati della colonna Talktime_Limit e Talktime_Price da int a varchar nella query precedente. Abbiamo utilizzato l'istruzione ALTER TABLE con la parola chiave MODIFY subito dopo il nome della tabella per modificare la colonna.
Utilizzeremo ora la parola chiave DESC e il nome della tabella per verificare se i tipi di dati della colonna Limite di conversazione e Prezzo di conversazione sono stati modificati o meno nella tabella Programma di conversazione.
DESC Talktime_Plan;
Campo | Digita | Null | Chiave | Predefinito | Extra |
TalkTime_Id | int(11) | SI | PRI | NULLO | |
Limite_tempo di conversazione | varchar(2) | SI | NULLO | ||
TalkTime_Price | varchar(2) | SI | NULLO |
Istruzione ALTER TABLE DROP COLUMN in SQL
Viene utilizzato quando si elimina la colonna dalla tabella esistente. Quindi in una situazione del genere, invece di eliminare l'intera tabella dal database, possiamo utilizzare la parola chiave DROP per eliminare la colonna.
Sintassi dell'istruzione ALTER TABLE DROP COLUMN in SQL
ALTER TABLE Table_Name DROP Column_Name;
Comprendiamo l'ALTER TABEL DROP in SQL con esempi.
Esempio di colonna ALTER TABLE DROP in SQL
Abbiamo preso esempi SQL per aiutarti a comprendere la modifica di singole colonne e più colonne nella tabella esistente utilizzando l'istruzione ALTER TABLE DROP.
Considera le seguenti tabelle insieme ai record forniti.
Tabella 1:Mobile_Plan:
ID_pacchetto | ID_dati | Id_tempo di conversazione |
1 | 2 | 1 |
2 | 3 | 2 |
3 | 1 | 3 |
Tabella 2:Data_Plan:
ID_dati | Limite_dati | Prezzo_dati |
1 | 2 | 30 |
2 | 5 | 70 |
3 | 4 | 55 |
Tabella 3:Piano di conversazione:
Talktime_Id | Tempo di conversazione _Limite | Tempo di conversazione _Prezzo |
1 | 100 | 150 |
2 | 70 | 105 |
3 | 60 | 90 |
Tabella 4:Cliente
ID cliente | Nome_cliente | Numero_di_telefono | ID_pacchetto |
101 | Bhavesh | 9846522021 | 1 |
102 | Mahesh | 7798598272 | 3 |
103 | Anita | 7865222021 | 1 |
Esempio 1:scrivi una query per eliminare Package_Id dalla tabella Cliente.
ALTER TABLE Customer DROP COLUMN Package_Id;
Abbiamo eliminato il nome della colonna Package_Id dalla tabella Customer nella query precedente. Abbiamo utilizzato l'istruzione ALTER TABLE DROP per eliminare la colonna dalla tabella.
Ora verificheremo in modo incrociato se la colonna Package_Id dalla tabella Customer è stata eliminata o meno correttamente.
SELECT * FROM CUSTOMER;
ID cliente | Nome_cliente | Numero_di_telefono |
101 | Bhavesh | 9846522021 |
102 | Mahesh | 7798598272 |
103 | Anita | 7865222021 |
Istruzione ALTER TABLE RENAME in SQL
Supponiamo di voler cambiare il nome della colonna o della tabella, quindi utilizzeremo la parola chiave RENAME per rinominare i campi o le tabelle della tabella esistente.
Sintassi dell'istruzione ALTER TABLE RENAME in SQL
ALTER TABLE Table_Name RENAME Column_Name;
Comprendiamo ALTER TABEL RENAME in SQL con esempi.
Esempio di colonna ALTER TABLE RENAME in SQL
Abbiamo preso esempi SQL per aiutarti a comprendere la modifica di singole colonne e più colonne nella tabella esistente utilizzando l'istruzione ALTER TABLE RENAME.
Considera le seguenti tabelle insieme ai record forniti.
ID cliente | Nome_cliente | Numero_di_telefono |
101 | Bhavesh | 9846522021 |
102 | Mahesh | 7798598272 |
103 | Anita | 7865222021 |
Esempio 1:scrivi una query per modificare il nome della tabella Cliente.
ALTER TABLE Customer RENAME TO CUST;
Nella query precedente, abbiamo rinominato il nome della tabella della tabella Customer nella tabella Cust. Abbiamo usato l'istruzione ALTER TABLE RENAME per rinominare il nome della tabella.
Verificheremo se il nome della tabella è stato modificato o meno correttamente.
SHOW TABLES;
Esempio 1:scrivi una query per modificare il nome della colonna CustomerId in cid dalla tabella Cust.
ALTER TABLE Cust RENAME COLUMN CustomerId cid int not null;
Nella query precedente, abbiamo cambiato il nome della colonna CustomerId in Cid. Abbiamo usato l'istruzione ALTER TABLE RENAME per rinominare il nome della tabella.
Verificheremo se il nome della tabella è stato modificato o meno correttamente.
SELECT * FROM CUST;