Polecenie ALTER TABLE służy do zmiany struktury tabeli PostgreSQL. Jest to polecenie służące do zmiany kolumn tabeli lub nazwy tabeli.
W tym samouczku dowiesz się:
- Składnia
- Opis
- Modyfikowanie kolumny
- Dodawanie nowej kolumny
- Zmiana nazwy kolumny tabeli
- Ustawianie wartości domyślnej dla kolumny
- Dodawanie wiązania sprawdzającego
- Zmiana nazwy tabeli
- Korzystanie z pgAdmin
Składnia
Oto składnia polecenia PostgreSQL ALTER TABLE:
ALTER TABLE table-name action;
Parametr nazwy tabeli to nazwa tabeli, którą należy zmienić.
Parametr akcji to czynność, którą musisz wykonać, na przykład zmiana nazwy kolumny, zmiana typu danych kolumny itp.
Opis
Polecenie ALTER TABLE zmienia definicję istniejącej tabeli. Przyjmuje następujące podformularze:
- ADD COLUMN : używa podobnej składni jak polecenie CREATE TABLE, aby dodać nową kolumnę do tabeli.
- DROP COLUMN : do usuwania kolumny tabeli. Ograniczenia i indeksy nałożone na kolumny również zostaną usunięte.
- SET / DROP DEFAULT : Służy do usuwania wartości domyślnej kolumny. Jednak zmiana będzie miała zastosowanie tylko do kolejnych instrukcji INSERT.
- SET / DROP NOT NULL : Zmienia, czy kolumna dopuszcza wartości null, czy nie.
- USTAW STATYSTYKI: Do ustawiania celu gromadzenia statystyk dla każdej kolumny dla operacji ANALIZA.
- SET STORAGE : Do ustawiania trybu przechowywania kolumny. To określi, gdzie znajduje się kolumna, czy to w wierszu, czy w tabeli uzupełniającej.
- USTAW BEZ OIDS : Służy do usuwania starej kolumny tabeli.
- RENAME : do zmiany nazwy tabeli lub nazwy kolumny.
- DODAJ ograniczenie_tabeli : Służy do dodawania nowego ograniczenia do tabeli Używa tej samej składni co polecenie CREATE TABLE.
- DROP CONSTRAINT : Służy do usuwania ograniczenia tabeli.
- WŁAŚCICIEL : do zmiany właściciela tabeli, sekwencji, indeksu lub widoku na określonego użytkownika.
- KLASTER : do zaznaczania tabeli, która będzie używana do wykonywania przyszłych operacji klastra.
Modyfikowanie kolumny
Kolumnę można modyfikować na wiele sposobów. Takie modyfikacje można wykonać poleceniem ALTER TABLE. Omówmy to:
Dodawanie nowej kolumny
Aby dodać nową kolumnę do tabeli PostgreSQL, należy użyć polecenia ALTER TABLE z następującą składnią:
ALTER TABLE table-nameADD new-column-name column-definition;
Nazwa tabeli to nazwa tabeli, która ma zostać zmodyfikowana.
Nazwa nowej-kolumny to nazwa nowej kolumny do dodania.
Definicja kolumny to typ danych nowej kolumny.
Zobacz tabelę książek pokazaną poniżej:
Tabela ma dwie kolumny, identyfikator i nazwę. Musimy dodać nową kolumnę do tabeli i nadać jej nazwisko autora. Po prostu uruchom następujące polecenie:
ALTER TABLE BookADD author VARCHAR(50);
Po uruchomieniu powyższego polecenia tabela Book wygląda teraz następująco:
Nowa kolumna została pomyślnie dodana.
Zmiana nazwy kolumny tabeli
Możemy użyć polecenia ALTER TABLE, aby zmienić nazwę kolumny. W tym przypadku polecenie jest używane z następującą składnią:
ALTER TABLE table-nameRENAME COLUMN old-name TO new-name;
Nazwa tabeli to nazwa tabeli, której nazwa kolumny ma zostać zmieniona.
Stara nazwa to stara / aktualna nazwa kolumny.
Nowa nazwa to nowa nazwa kolumny. Weź pod uwagę poniższą tabelę Book:
Książka:
Potrzebujemy nazwiska autora kolumny do book_author. Oto polecenie:
ALTER TABLE BookRENAME COLUMN author TO book_author;
Po uruchomieniu polecenia możemy przejrzeć strukturę tabeli:
Nazwa kolumny została pomyślnie zmieniona.
Ustawianie wartości domyślnej dla kolumny
Możemy ustawić wartość domyślną dla kolumny, tak że nawet jeśli nie określisz wartości dla tej kolumny podczas operacji INSERT, zostanie użyta wartość domyślna. W takim przypadku można użyć polecenia ALTER TABLE z następującą składnią:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
Nazwa tabeli to nazwa tabeli, której kolumna ma zostać zmodyfikowana.
Nazwa-kolumny to nazwa, dla której należy ustawić wartość domyślną.
Wartość jest wartością domyślną kolumny.
Rozważ tabelę książek podaną poniżej:
Musimy ustawić domyślną wartość kolumny book_author. Możemy uruchomić następujące polecenie:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Teraz wstawmy wiersz do tabeli:
INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners');
Zauważ, że wstawiliśmy wartości tylko dla dwóch kolumn, identyfikatora i nazwy. Jednak wartość domyślna została użyta dla kolumny book_author:
Dodawanie wiązania sprawdzającego
Ograniczenie sprawdzające pomaga w sprawdzaniu poprawności rekordów, które są wstawiane do tabeli. Możemy to zrobić, łącząc polecenie ALTER TABLE z instrukcją ADD CHECK. Składnia:
ALTER TABLE table-name ADD CHECK expression;
Nazwa tabeli to nazwa tabeli, która ma zostać zmieniona.
Wyrażenie jest ograniczeniem, które ma zostać nałożone na kolumnę tabeli.
Zmodyfikujmy kolumnę book_author tabeli Book, tak aby akceptowała tylko wartości Nicholas and Samuel:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
Teraz spróbujmy wstawić wartość inną niż Nicholas lub Samuel do kolumny book_author tabeli Book:
INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Instrukcja zwróci następujący błąd:
Operacja wstawiania nie powiodła się, ponieważ naruszyliśmy ograniczenie sprawdzające.
Zmiana nazwy tabeli
Oto składnia polecenia ALTER TABLE do zmiany nazwy tabeli:
ALTER TABLE table-nameRENAME TO new-table-name;
Nazwa tabeli to aktualna nazwa tabeli.
Nowa nazwa-tabeli to nowa nazwa, która ma zostać przypisana do tabeli.
Na przykład zmieńmy nazwę tabeli Książki na Książki:
ALTER TABLE BookRENAME TO Books;
Korzystanie z pgAdmin
Zobaczmy teraz, jak te akcje można wykonać za pomocą pgAdmin.
Dodawanie nowej kolumny
Aby osiągnąć to samo za pomocą pgAdmin, wykonaj następujące czynności:
Krok 1) Zaloguj się do swojego konta pgAdmin.
Krok 2)
- Z paska nawigacji po lewej stronie kliknij Bazy danych.
- Kliknij opcję Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
ALTER TABLE BookADD author VARCHAR(50);
Krok 4) Kliknij przycisk Wykonaj.
Krok 5) Aby sprawdzić, czy kolumna została dodana, wykonaj następujące czynności:
- Kliknij Bazy danych w lewym panelu nawigacyjnym.
- Rozwiń wersję demonstracyjną.
- Rozwiń schematy.
- Rozwiń Publiczny.
- Rozwiń tabele.
- Rozwiń książkę.
- Rozwiń kolumny.
Kolumna powinna zostać dodana, jak pokazano poniżej:
Zmiana nazwy kolumny tabeli
Aby osiągnąć to samo za pomocą pgAdmin, wykonaj następujące czynności:
Krok 1) Zaloguj się do swojego konta pgAdmin.
Krok 2)
- Z paska nawigacji po lewej stronie kliknij Bazy danych.
- Kliknij opcję Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
ALTER TABLE BookRENAME COLUMN author TO book_author;
Krok 4) Kliknij przycisk Wykonaj.
Krok 5) Aby sprawdzić, czy zmiana się powiodła, wykonaj następujące czynności:
- Kliknij Bazy danych w lewym panelu nawigacyjnym.
- Rozwiń wersję demonstracyjną.
- Rozwiń schematy.
- Rozwiń Publiczny.
- Rozwiń tabele.
- Rozwiń książkę.
- Rozwiń kolumny.
Kolumny powinny teraz wyglądać następująco:
Kolumna została pomyślnie zmieniona.
Ustawianie wartości domyślnej dla kolumny
Aby osiągnąć to samo za pomocą pgAdmin, wykonaj następujące czynności:
Krok 1) Zaloguj się do swojego konta pgAdmin.
Krok 2)
- Z paska nawigacji po lewej stronie kliknij Bazy danych.
- Kliknij opcję Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Krok 4) Kliknij przycisk Wykonaj.
Krok 5) Aby przetestować, uruchom następujące polecenie w edytorze zapytań:
INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners')
Krok 6) Teraz możemy wysłać zapytanie do tabeli, aby sprawdzić, czy wartość domyślna została wstawiona do kolumny book_author:
Dodawanie wiązania sprawdzającego
Aby osiągnąć to samo za pomocą pgAdmin, wykonaj następujące czynności:
Krok 1) Zaloguj się do swojego konta pgAdmin.
Krok 2)
- Z paska nawigacji po lewej stronie kliknij Bazy danych.
- Kliknij opcję Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
Krok 4) Kliknij przycisk Wykonaj.
Krok 5) Aby to sprawdzić, wykonaj następujące czynności:
- Wpisz następujące zapytanie w edytorze zapytań:
INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
- Kliknij przycisk Wykonaj.
Zwróci następujące informacje:
Zmiana nazwy tabeli
Aby osiągnąć to samo za pomocą pgAdmin, wykonaj następujące czynności:
Krok 1) Zaloguj się do swojego konta pgAdmin.
Krok 2)
- Z paska nawigacji po lewej stronie kliknij Bazy danych.
- Kliknij opcję Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
ALTER TABLE BookRENAME TO Books;
Krok 4) Kliknij przycisk Wykonaj.
Krok 5) Aby sprawdzić, czy nazwa tabeli została zmieniona, wykonaj następujące czynności:
- Kliknij Bazy danych w lewym panelu nawigacyjnym.
- Rozwiń wersję demonstracyjną.
- Rozwiń schematy.
- Rozwiń Publiczny.
- Rozwiń tabele.
Nazwa tabeli została pomyślnie zmieniona.
Podsumowanie:
- Instrukcja ALTER TABLE służy do modyfikowania struktury tabeli.
- Polecenie ALTER TABLE przybiera różne formy w zależności od zadania, które musisz wykonać.
- Strukturą mogą być kolumny tabeli lub sama tabela.
- Możemy użyć tej instrukcji, aby zmienić nazwę tabeli.
- Polecenie ALTER TABLE może służyć do ustawiania domyślnej wartości kolumny.
- Instrukcja może służyć do sprawdzania poprawności wartości wprowadzanych do kolumny tabeli.
Pobierz bazę danych używaną w tym samouczku