I SQL krävs ofta strukturella ändringar av en databas som att byta namn på tabeller eller kolumner, lägga till nya kolumner eller ändra datatyper. Kommandot ALTER TABLE gör att dessa ändringar kan göras effektivt utan att befintliga data påverkas. Det är ett viktigt kommando för att hantera och uppdatera databasscheman när applikationskraven utvecklas.
Exempel: Låt oss först skapa ett exempel på en studenttabell för att demonstrera ALTER-kommandot:
Fråga:
ALTER TABLE students
RENAME TO learners;
Produktion:
Syntax för kommandot ALTER
Här är de vanliga syntaxformaten för att använda kommandot ALTER TABLE:
1. Byta namn på en tabell
ALTER TABLE tabellnamn
BYT NAMN TILL nytt_tabellnamn;
2. Byta namn på en kolumn
ALTER TABLE tabellnamn
RENAME COLUMN old_column_name TO new_column_name;
3. Lägga till en ny kolumn
ALTER TABLE tabellnamn
ADD kolumnnamn datatyp;python konvertera byte till sträng
ALTER TABLE tabellnamn
MODIFY COLUMN kolumnnamn ny_datatyp;
Exempel på ALTER-kommando i SQL
Nedan finns praktiska exempel som hjälper oss att förstå hur man använder ALTER-kommandot effektivt i olika scenarier. Dessa exempel inkluderar att byta namn på tabeller eller kolumner genom att lägga till nya kolumner eller byter kolumn datatyper.
1. Skapa en provtabell
Låt oss först skapa en exempelstudent tabell för att visa ALTER kommando:
CREATE TABLE Student (
id INT PRIMARY KEY
name VARCHAR(50)
age INT
email VARCHAR(50)
phone VARCHAR(20)
);
Låt oss infoga lite data och sedan utföra ALTER-operationen för att bättre förstå alter-kommandot.
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');
Produktion
Exempel 1: Byt namn på en kolumn
Ändra namnet på kolumnnamnet till FIRST_NAME i tabellen Student. För att ändra kolumnnamnet för den befintliga tabellen måste vi använda kolumnnyckelordet innan vi skriver det befintliga kolumnnamnet för att ändra.
Syntax
ALTER TABLE Student RENAME COLUMN Column_NAME TILL FIRST_NAME;
Fråga:
ALTER TABLE Student RENAME Column name TO FIRST_NAME;Produktion
ProduktionExempel 2: Byt namn på en tabell
I det här exemplet vill vi byta namn på tabellen frånStudenttillStudent_Detailsmed hjälp avALTER TABLEkommandot gör namnet mer beskrivande och relevant för dess innehåll.
Fråga:
ALTER TABLE Student RENAME TO Student_Details;Produktion
Exempel 3: Lägg till en ny kolumn
För att lägga till en ny kolumn till den befintliga tabellen måste vi först välja tabellen med ALTER TABLE-kommandot table_name och sedan skriver vi namnet på den nya kolumnen och dess datatyp med ADD column_name datatyp. Låt oss ta en titt nedan för att förstå bättre.
Syntax
ALTER TABLE tabellnamn
ADD kolumnnamn datatyp;maven installera
Fråga:
ALTER TABLE Student ADD marks INT;Produktion
I exempletphonekolumnen uppdateras frånVARCHAR(20)tillBIGINT att lagra numerisk data mer effektivt och säkerställa dataintegritet för telefonnummer utan onödiga tecken.
Syntax
ALTER TABLE tabellnamn
MODIFY COLUMN kolumnnamn ny_datatyp;
Fråga:
vad är ett användarnamn
ALTER TABLE Student_Details
MODIFY COLUMN phone BIGINT;
Produktion
| id | namn | åldras | e-post | telefon |
|---|---|---|---|---|
| 1 | Vad | 20 | [email protected] | 9999999999 |
| 2 | Rahul | 22 | [email protected] | 8888888888 |
| 3 | Priya | 21 | [email protected] | 7777777777 |
| 4 | Sonia | 23 | [email protected] | 6666666666 |
| 5 | Samtalet | 19 | [email protected] | 5555555555 |
Förklaring :
- Telefonkolumnen har nu en BIGINT datatyp som är lämplig för att lagra stora numeriska värden.
- Befintlig data förblir oförändrad men lagras som heltal istället för strängar.
Ytterligare användningsfall för ALTER-kommandot
1. Ta bort en kolumn : I vissa fall kan vi behöva ta bort en kolumn. För att göra det kan du använda syntaxen DROP COLUMN:
ALTER TABLE Student_Details
DROP COLUMN-märken;
Detta kommando tar bort markeringskolumnen helt från tabellen
2. Ändra en kolumns standardvärde : Vi kan också ändra en kolumns standardvärde med hjälp av SET DEFAULT-satsen:
ALTER TABLE Student_Details
ALTER COLUMN age SET DEFAULT 18;
3. Byta namn på en tabell eller kolumn i olika databaser : Observera att SQL-syntax kan variera mellan olika databassystem. Så här skulle vi byta namn på en tabell eller kolumn i MySQL MariaDB och Orakel :
- MySQL / MariaDB : Syntaxen för att byta namn på en kolumn är liknande men du måste också använda kommandot CHANGE COLUMN för att byta namn på en kolumn:
ALTER TABLE Student
CHANGE COLUMN old_column_name new_column_name datatyp;
- Orakel : Oracle stöder syntaxen RENAME COLUMN men kräver annan syntax för att byta namn på en tabell:
Skapa frågesportÄNDRA TABELL Student RENAME COLUMN old_column_name TO new_column_name;