V SQL jsou často vyžadovány strukturální úpravy databáze, jako je přejmenování tabulek nebo sloupců, přidání nových sloupců nebo změna datových typů. Příkaz ALTER TABLE umožňuje provádět tyto změny efektivně bez ovlivnění existujících dat. Je to nezbytný příkaz pro správu a aktualizaci databázových schémat podle toho, jak se vyvíjejí požadavky na aplikace.
Příklad: Nejprve vytvořte vzorovou studentskou tabulku pro demonstraci příkazu ALTER:
Dotaz:
ALTER TABLE students
RENAME TO learners;
výstup:
Syntaxe příkazu ALTER
Zde jsou běžné formáty syntaxe pro použití příkazu ALTER TABLE:
1. Přejmenování tabulky
ALTER TABLE název_tabulky
RENAME TO new_table_name;
2. Přejmenování sloupce
ALTER TABLE název_tabulky
PŘEJMENOVAT SLOUPEC starý_název_sloupce NA nový_název_sloupce;
3. Přidání nového sloupce
ALTER TABLE název_tabulky
ADD název_sloupce datový typ;náhodné číslo mezi 1 a 10
ALTER TABLE název_tabulky
MODIFY COLUMN název_sloupce nový_datový typ;
Příklady příkazu ALTER v SQL
Níže jsou uvedeny praktické příklady, které nám pomohou pochopit, jak efektivně používat příkaz ALTER v různých scénářích. Tyto příklady zahrnují přejmenování tabulek nebo sloupců přidáním nových sloupců nebo měnící se sloupec datové typy.
1. Vytvořte vzorovou tabulku
Nejprve si vytvořte ukázkový Student tabulka pro demonstraci ALTER příkaz:
CREATE TABLE Student (
id INT PRIMARY KEY
name VARCHAR(50)
age INT
email VARCHAR(50)
phone VARCHAR(20)
);
Pojďme vložit nějaká data a poté provést operaci ALTER, abychom lépe porozuměli příkazu alter.
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');
Výstup
Příklad 1: Přejmenujte sloupec
Změňte název sloupce na FIRST_NAME v tabulce Student. Chcete-li změnit název sloupce existující tabulky, musíme použít klíčové slovo Column, než napíšete název stávajícího sloupce, který chcete změnit.
Syntax
ALTER TABLE Student RENAME COLUMN Column_NAME TO FIRST_NAME;
Dotaz:
ALTER TABLE Student RENAME Column name TO FIRST_NAME;Výstup
VýstupPříklad 2: Přejmenujte tabulku
V tomto příkladu chceme tabulku přejmenovat zStudentnaStudent_DetailspomocíALTER TABLEpříkaz, díky kterému je název popisnější a relevantní k jeho obsahu.
Dotaz:
ALTER TABLE Student RENAME TO Student_Details;Výstup
Příklad 3: Přidejte nový sloupec
Pro přidání nového sloupce do stávající tabulky musíme nejprve vybrat tabulku příkazem ALTER TABLE název_tabulky a poté napíšeme název nového sloupce a jeho datový typ pomocí ADD název_sloupce datový typ. Podívejme se níže, abychom lépe porozuměli.
Syntax
ALTER TABLE název_tabulky
ADD název_sloupce datový typ;np.histogram
Dotaz:
ALTER TABLE Student ADD marks INT;Výstup
V příkladuphonesloupec je aktualizován zVARCHAR(20)naBIGINT efektivněji ukládat číselná data a zajistit integrita dat pro telefonní čísla bez zbytečných znaků.
Syntax
ALTER TABLE název_tabulky
MODIFY COLUMN název_sloupce nový_datový typ;
Dotaz:
ALTER TABLE Student_Details
MODIFY COLUMN phone BIGINT;
Výstup
| id | jméno | stáří | telefon | |
|---|---|---|---|---|
| 1 | Co | 20 | [email protected] | 9999999999 |
| 2 | Rahul | 22 | [email protected] | 8888888888 |
| 3 | Priya | 21 | [email protected] | 7777777777 |
| 4 | Sonia | 23 | [email protected] | 6666666666 |
| 5 | Hovor | 19 | [email protected] | 5555555555 |
Vysvětlení :
- Sloupec telefon má nyní datový typ BIGINT vhodný pro ukládání velkých číselných hodnot.
- Stávající data zůstávají nezměněna, ale jsou uložena jako celá čísla místo strun.
Další případy použití příkazu ALTER
1. Odebrání sloupce : V některých případech může být nutné sloupec odstranit. K tomu můžete použít syntaxi DROP COLUMN:
jádro java
ALTER TABLE Student_Details
značky DROP COLUMN;
Tento příkaz zcela odstraní sloupec značek z tabulky
2. Změna výchozí hodnoty sloupce : Můžeme také upravit výchozí hodnotu sloupce pomocí klauzule SET DEFAULT:
ALTER TABLE Student_Details
ALTER COLUMN age SET DEFAULT 18;
3. Přejmenování tabulky nebo sloupce v různých databázích : Všimněte si, že syntaxe SQL se může v různých databázových systémech lišit. Zde je návod, jak bychom přejmenovali tabulku nebo sloupec v MySQL MariaDB a Věštec :
- MySQL / MariaDB : Syntaxe pro přejmenování sloupce je podobná, ale k přejmenování sloupce musíte také použít příkaz CHANGE COLUMN:
ALTER TABLE Student
CHANGE COLUMN starý_název_sloupce nový_název_sloupce datový typ;
- Věštec : Oracle podporuje syntaxi RENAME COLUMN, ale vyžaduje jinou syntaxi pro přejmenování tabulky:
Vytvořit kvízALTER TABLE Student PŘEJMENOVAT COLUMN starý_název_sloupce TO nový_název_sloupce;