Bij SQL zijn vaak structurele wijzigingen aan een database vereist, zoals het hernoemen van tabellen of kolommen, het toevoegen van nieuwe kolommen of het wijzigen van gegevenstypen. Met het ALTER TABLE-commando kunnen deze wijzigingen efficiënt worden aangebracht zonder de bestaande gegevens te beïnvloeden. Het is een essentiële opdracht voor het beheren en bijwerken van databaseschema's naarmate de applicatievereisten evolueren.
Voorbeeld: Laten we eerst een voorbeeld van een Student-tabel maken om de opdracht ALTER te demonstreren:
Vraag:
ALTER TABLE students
RENAME TO learners;
Uitgang:
Syntaxis voor ALTER-opdracht
Dit zijn de gebruikelijke syntaxisformaten voor het gebruik van de opdracht ALTER TABLE:
1. De naam van een tabel wijzigen
ALTER TABLE tabelnaam
HERNAAM NAAR nieuwe_tabelnaam;
2. De naam van een kolom wijzigen
ALTER TABLE tabelnaam
HERNOEM KOLOM oude_kolomnaam NAAR nieuwe_kolomnaam;
3. Een nieuwe kolom toevoegen
ALTER TABLE tabelnaam
TOEVOEGEN kolom_naam gegevenstype;reguliere expressie in Java
ALTER TABLE tabelnaam
WIJZIG KOLOM kolomnaam nieuw_datatype;
Voorbeelden van ALTER-opdrachten in SQL
Hieronder staan praktische voorbeelden om ons te helpen begrijpen hoe we de ALTER-opdracht effectief kunnen gebruiken in verschillende scenario's. Deze voorbeelden omvatten het hernoemen van tabellen of kolommen, het toevoegen van nieuwe kolommen of veranderende kolom gegevenstypen.
1. Maak een voorbeeldtabel
Laten we eerst een voorbeeldstudent maken tabel om de ALTER te demonstreren commando:
CREATE TABLE Student (
id INT PRIMARY KEY
name VARCHAR(50)
age INT
email VARCHAR(50)
phone VARCHAR(20)
);
Laten we wat gegevens invoegen en vervolgens de ALTER-bewerking uitvoeren om de alter-opdracht beter te begrijpen.
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');
Uitvoer
Voorbeeld 1: Hernoem een kolom
Wijzig de naam van de kolomnaam in FIRST_NAME in tabel Student. Om de kolomnaam van de bestaande tabel te wijzigen, moeten we het trefwoord Kolom gebruiken voordat we de bestaande kolomnaam schrijven om te wijzigen.
Syntaxis
ALTER TABLE Student RENAME COLUMN Column_NAME NAAR FIRST_NAME;
Vraag:
ALTER TABLE Student RENAME Column name TO FIRST_NAME;Uitvoer
UitvoerVoorbeeld 2: De naam van een tabel wijzigen
In dit voorbeeld willen we de tabel hernoemen vanStudentnaarStudent_Detailsmet behulp van deALTER TABLEcommando dat de naam beschrijvender maakt en relevant voor de inhoud ervan.
Vraag:
ALTER TABLE Student RENAME TO Student_Details;Uitvoer
Voorbeeld 3: Voeg een nieuwe kolom toe
Om een nieuwe kolom aan de bestaande tabel toe te voegen, moeten we eerst de tabel selecteren met het ALTER TABLE-commando table_name en dan schrijven we de naam van de nieuwe kolom en zijn datatype met ADD column_name gegevenstype. Laten we hieronder eens kijken om het beter te begrijpen.
Syntaxis
ALTER TABLE tabelnaam
TOEVOEGEN kolom_naam gegevenstype;np.clip
Vraag:
ALTER TABLE Student ADD marks INT;Uitvoer
In het voorbeeld dephonekolom wordt bijgewerkt vanVARCHAR(20)naarBIGINT om numerieke gegevens efficiënter op te slaan en te garanderen gegevensintegriteit voor telefoonnummers zonder onnodige tekens.
Syntaxis
ALTER TABLE tabelnaam
WIJZIG KOLOM kolomnaam nieuw_datatype;
Vraag:
ALTER TABLE Student_Details
MODIFY COLUMN phone BIGINT;
Uitvoer
| Identiteitskaart | naam | leeftijd | telefoon | |
|---|---|---|---|---|
| 1 | Wat | 20 | [email protected] | 9999999999 |
| 2 | Rahul | 22 | [email protected] | 8888888888 |
| 3 | Priya | 21 | [email protected] | 7777777777 |
| 4 | Sonja | 23 | [email protected] | 6666666666 |
| 5 | De oproep | 19 | [email protected] | 5555555555 |
Uitleg :
- De telefoonkolom heeft nu een BIGINT-gegevenstype dat geschikt is voor het opslaan van grote numerieke waarden.
- Bestaande gegevens blijven ongewijzigd, maar worden opgeslagen als gehele getallen in plaats van touwtjes.
Aanvullende gebruiksscenario's voor ALTER-opdrachten
1. Een kolom verwijderen : In sommige gevallen moeten we mogelijk een kolom verwijderen. Om dat te doen, kunt u de DROP COLUMN-syntaxis gebruiken:
ALTER TABEL Student_Details
DROP COLUMN-markeringen;
Met deze opdracht wordt de kolom met markeringen volledig uit de tabel verwijderd
2. De standaardwaarde van een kolom wijzigen : We kunnen de standaardwaarde van een kolom ook wijzigen met behulp van de SET DEFAULT-clausule:
ALTER TABEL Student_Details
Java-afdrukWIJZIG KOLOM leeftijd SET DEFAULT 18;
3. De naam van een tabel of kolom in verschillende databases wijzigen : Houd er rekening mee dat de SQL-syntaxis kan variëren tussen verschillende databasesystemen. Hier ziet u hoe we een tabel of kolom in MySQL MariaDB zouden hernoemen en Orakel :
- MySQL/MariaDB : De syntaxis voor het hernoemen van een kolom is vergelijkbaar, maar u moet ook de opdracht CHANGE COLUMN gebruiken om de naam van een kolom te wijzigen:
VERANDER TABEL Student
WIJZIG KOLOM oude_kolomnaam nieuw_kolomnaam gegevenstype;
- Orakel : Oracle ondersteunt de RENAME COLUMN-syntaxis, maar vereist een andere syntaxis voor het hernoemen van een tabel:
Quiz makenWIJZIG TABEL Student HERNAAM KOLOM oude_kolomnaam NAAR nieuwe_kolomnaam;