W SQL często wymagane są strukturalne modyfikacje bazy danych, takie jak zmiana nazw tabel lub kolumn, dodanie nowych kolumn lub zmiana typów danych. Polecenie ALTER TABLE umożliwia efektywne wprowadzenie tych zmian bez wpływu na istniejące dane. Jest to podstawowe polecenie służące do zarządzania i aktualizowania schematów baz danych w miarę zmieniających się wymagań aplikacji.
Przykład: Najpierw utwórzmy przykładową tabelę Studenta, aby zademonstrować polecenie ALTER:
Zapytanie:
ALTER TABLE students
RENAME TO learners;
Wyjście:
Składnia polecenia ALTER
Oto typowe formaty składni polecenia ALTER TABLE:
1. Zmiana nazwy tabeli
ZMIEŃ TABELĘ nazwa_tabeli
ZMIEŃ NAZWĘ NA nowa_nazwa_tabeli;
2. Zmiana nazwy kolumny
ZMIEŃ TABELĘ nazwa_tabeli
ZMIEŃ NAZWĘ KOLUMNY nazwa_starej_kolumny NA nazwa_nowej_kolumny;
3. Dodanie nowej kolumny
ZMIEŃ TABELĘ nazwa_tabeli
DODAJ typ danych nazwa_kolumny;rozmiar tekstu lateksowego
ZMIEŃ TABELĘ nazwa_tabeli
MODYFIKUJ KOLUMNĘ nazwa_kolumny nowy_typ_danych;
Przykłady polecenia ALTER w SQL
Poniżej znajdują się praktyczne przykłady, które pomogą nam zrozumieć, jak efektywnie używać polecenia ALTER w różnych scenariuszach. Te przykłady obejmują zmianę nazw tabel lub kolumn, dodanie nowych kolumn lub zmiana kolumny typy danych.
1. Utwórz przykładową tabelę
Najpierw utwórzmy przykładowego Studenta tabela, aby zademonstrować ALTER rozkaz:
CREATE TABLE Student (
id INT PRIMARY KEY
name VARCHAR(50)
age INT
email VARCHAR(50)
phone VARCHAR(20)
);
Wstawmy trochę danych, a następnie wykonajmy operację ALTER, aby lepiej zrozumieć działanie polecenia 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');
Wyjście
Przykład 1: Zmień nazwę kolumny
Zmień nazwę kolumny na FIRST_NAME w tabeli Student. Aby zmienić nazwę kolumny istniejącej tabeli, musimy użyć słowa kluczowego Column przed zapisaniem nazwy istniejącej kolumny do zmiany.
Składnia
ALTER TABLE Student ZMIEŃ NAZWĘ KOLUMNY NAZWA kolumny NA FIRST_NAME;
Zapytanie:
ALTER TABLE Student RENAME Column name TO FIRST_NAME;Wyjście
WyjściePrzykład 2: Zmień nazwę tabeli
W tym przykładzie chcemy zmienić nazwę tabeli zStudentDoStudent_Detailsza pomocąALTER TABLEpolecenie nadające nazwę bardziej opisową i istotne z punktu widzenia jego treści.
Zapytanie:
ALTER TABLE Student RENAME TO Student_Details;Wyjście
Przykład 3: Dodaj nową kolumnę
Aby dodać nową kolumnę do istniejącej tabeli należy najpierw zaznaczyć tabelę komendą ALTER TABLE nazwa_tabeli a następnie wpisać nazwę nowej kolumny i jej typ danych za pomocą ADD nazwa_kolumny typ danych. Spójrzmy poniżej, aby lepiej zrozumieć.
Składnia
ZMIEŃ TABELĘ nazwa_tabeli
DODAJ typ danych nazwa_kolumny;wykres alokacji zasobów
Zapytanie:
ALTER TABLE Student ADD marks INT;Wyjście
W przykładziephonekolumna jest aktualizowana zVARCHAR(20)DoBIGINT aby efektywniej i bezpieczniej przechowywać dane numeryczne integralność danych dla numerów telefonów bez zbędnych znaków.
Składnia
ZMIEŃ TABELĘ nazwa_tabeli
MODYFIKUJ KOLUMNĘ nazwa_kolumny nowy_typ_danych;
Zapytanie:
ALTER TABLE Student_Details
MODIFY COLUMN phone BIGINT;
Wyjście
| id | nazwa | wiek | telefon | |
|---|---|---|---|---|
| 1 | Co | 20 | [email protected] | 9999999999 |
| 2 | Rahul | 22 | [email protected] | 8888888888 |
| 3 | Priya | 21 | [email protected] | 7777777777 |
| 4 | Soni | 23 | [email protected] | 6666666666 |
| 5 | Powołanie | 19 | [email protected] | 5555555555 |
Wyjaśnienie :
- Kolumna telefonu ma teraz typ danych BIGINT odpowiedni do przechowywania dużych wartości numerycznych.
- Istniejące dane pozostają niezmienione, ale są przechowywane jako liczby całkowite zamiast sznurków.
Dodatkowe przypadki użycia polecenia ALTER
1. Usuwanie kolumny : W niektórych przypadkach może być konieczne usunięcie kolumny. Aby to zrobić, możesz użyć składni DROP COLUMN:
ZMIEŃ TABELĘ Student_Details
Znaki DROP COLUMN;
To polecenie całkowicie usuwa kolumnę znaczników z tabeli
2. Zmiana domyślnej wartości kolumny : Możemy także modyfikować domyślną wartość kolumny za pomocą klauzuli SET DEFAULT:
ZMIEŃ TABELĘ Student_Details
jak sprawdzić rozmiar ekranu monitoraZMIEŃ KOLUMNĘ wiek USTAW DOMYŚLNIE 18;
3. Zmiana nazwy tabeli lub kolumny w różnych bazach danych : Należy pamiętać, że składnia języka SQL może się różnić w różnych systemach baz danych. Oto jak zmienilibyśmy nazwę tabeli lub kolumny w MySQL MariaDB i Wyrocznia :
- MySQL/MariaDB : Składnia zmiany nazwy kolumny jest podobna, ale aby zmienić nazwę kolumny, należy również użyć polecenia CHANGE COLUMN:
ALTER TABEL Student
ZMIEŃ KOLUMNĘ nazwa_starej_kolumny nazwa_nowej_kolumny typ danych;
- Wyrocznia : Oracle obsługuje składnię RENAME COLUMN, ale wymaga innej składni do zmiany nazwy tabeli:
Utwórz quizZMIEŃ TABELĘ Student ZMIEŃ NAZWĘ KOLUMNY nazwa_starej_kolumny NA nazwa_nowej_kolumny;