PostgreSQL ALTER TABLE: Dodaj i zmień nazwę kolumny
⚡ Inteligentne podsumowanie
PostgreSQL Polecenie ALTER TABLE zmienia strukturę istniejącej tabeli, umożliwiając dodawanie lub usuwanie kolumn, zmianę nazwy kolumny lub całej tabeli, ustawianie wartości domyślnych i dołączanie ograniczeń sprawdzających bez konieczności ponownego tworzenia obiektu.

Czym jest ALTER TABLE PostgreSQL?
ALTER TABLE polecenie służy do zmiany struktury PostgreSQL tabela. Jest to polecenie służące do zmiany kolumn tabeli lub samej nazwy tabeli, bez konieczności usuwaniaping i odtworzenie obiektu.
Składnia
Oto składnia dla PostgreSQL ZMIEŃ TABELĘ, polecenie:
ALTER TABLE table-name action;
Parametr „table-name” to nazwa tabeli, którą chcesz zmienić. Parametr „action” to czynność, którą musisz wykonać, na przykład zmiana nazwy kolumny lub typu danych kolumny.
OPIS
Polecenie ALTER TABLE zmienia definicję istniejącej tabeli. Przyjmuje następujące podformularze:
- DODAJ KOLUMNĘ: wykorzystuje podobną składnię jak polecenie CREATE TABLE, służące do dodania nowej kolumny do tabeli.
- OPUŚĆ KOLUMNĘ: do upuszczeniaping kolumna tabeli. Ograniczenia i indeksy nałożone na kolumny również zostaną usunięte.
- USTAW/Upuść DOMYŚLNE: służy do ustawiania lub usuwania wartości domyślnej kolumny. Zmiana dotyczy tylko kolejnych WSTAW oświadczenia.
- USTAW/Upuść NIE NULL: zmienia, czy kolumna będzie dopuszczać wartości null, czy nie.
- USTAW STATYSTYKI: do ustawiania celu zbierania statystyk dla każdej kolumny na potrzeby operacji ANALIZY.
- USTAW PRZECHOWYWANIE: do ustawiania trybu przechowywania kolumny, czy to wbudowanej, czy w tabeli uzupełniającej.
- ZESTAW BEZ OIDÓW: służy do usuwania starej kolumny OID z tabeli.
- PRZEMIANOWAĆ: 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 UTWÓRZ TABELĘ dowództwo.
- WZMOCNIENIE UPADKU:używany do upuszczaniaping ograniczenie tabeli.
- WŁAŚCICIEL: do zmiany właściciela tabeli, sekwencji, indeksu lub widoku na określonego użytkownika.
- CLUSTER: do oznaczenia tabeli, która będzie używana w przyszłych operacjach klastra.
Modyfikowanie kolumny
Kolumnę można modyfikować na wiele sposobów. Takie modyfikacje wykonuje się za pomocą polecenia ALTER TABLE. Omówimy je poniżej.
Dodanie nowej kolumny
Aby dodać nową kolumnę do a PostgreSQL tabeli, polecenie ALTER TABLE jest używane z następującą składnią:
ALTER TABLE table-name ADD new-column-name column-definition;
Nazwa tabeli to nazwa tabeli, którą należy zmodyfikować. Nazwa nowej kolumny to nazwa nowej kolumny, która ma zostać dodana. Definicja kolumny to typ danych nowej kolumny. Zobacz tabelę „Książka” poniżej:
Tabela ma dwie kolumny: id i name. Musimy dodać nową kolumnę do tabeli i nadać jej nazwę author. Wystarczy uruchomić następujące polecenie:
ALTER TABLE Book ADD author VARCHAR(50);
Po uruchomieniu powyższego polecenia tabela Book wygląda teraz następująco:
Nowa kolumna została dodana pomyślnie.
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-name RENAME COLUMN old-name TO new-name;
Nazwa tabeli to nazwa tabeli, której kolumna ma zostać zmieniona. Stara nazwa to aktualna nazwa kolumny, a nowa nazwa to nowa nazwa kolumny. Rozważmy tabelę Book przedstawioną poniżej:
Książka:
Musimy zmienić nazwę kolumny „author” na „book_author”. Oto polecenie:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Po uruchomieniu polecenia możemy obejrzeć strukturę tabeli:
Nazwa kolumny została pomyślnie zmieniona.
Ustawianie wartości domyślnej dla kolumny
Możemy ustawić wartość domyślną dla kolumny, dzięki czemu nawet jeśli nie określisz wartości dla tej kolumny podczas operacji INSERT, zostanie ona użyta. W takim przypadku polecenie ALTER TABLE można użyć 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 kolumny, której wartość domyślna ma zostać ustawiona, a wartość jest wartością domyślną dla tej kolumny. Rozważmy poniższą tabelę „Book”:
Musimy ustawić wartość domyślną dla 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');
Zwróć uwagę, że wstawiliśmy wartości tylko dla dwóch kolumn: id i name. Jednak dla kolumny book_author użyto wartości domyślnej:
Dodawanie ograniczenia sprawdzającego
Ograniczenie sprawdzające pomaga w sprawdzaniu poprawności rekordów wstawianych 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órą należy zmienić, a wyrażenie to ograniczenie, które ma zostać nałożone na kolumnę tabeli. Zmodyfikujmy kolumnę book_author tabeli Book tak, aby akceptowała tylko wartości Nicholas i Samuel:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
Spróbujmy teraz wstawić wartość inną niż Nicholas lub Samuel do kolumny book_author tabeli Book:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Polecenie zwróci następujący błąd:
Operacja wstawiania nie powiodła się, ponieważ naruszono ograniczenie sprawdzające.
Zmiana nazwy tabeli
Oto składnia polecenia ALTER TABLE służącego do zmiany nazwy tabeli:
ALTER TABLE table-name RENAME TO new-table-name;
Nazwa tabeli to bieżąca nazwa tabeli, a 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 Book RENAME TO Books;
Korzystanie z pgAdmina
Do tej pory akcje były uruchamiane z poziomu powłoki SQL. Teraz zobaczmy, jak te same akcje można wykonać wizualnie za pomocą pgAdmin.
Dodanie nowej kolumny
Krok 1) Zaloguj się na swoje konto pgAdmin.
Krok 2)
- Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
- Kliknij opcję Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
ALTER TABLE Book ADD 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ń Publiczne.
- Rozwiń tabele.
- Rozwiń książkę.
- Rozwiń kolumny.
Należy dodać kolumnę, jak pokazano poniżej:
Zmiana nazwy kolumny tabeli
Krok 1) Zaloguj się na swoje konto pgAdmin.
Krok 2)
- Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
- Kliknij opcję Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Krok 4) Kliknij przycisk Wykonaj.
Krok 5) Aby sprawdzić, czy zmiana się powiodła, rozwiń kolumny tabeli książek jak poprzednio:
Kolumny powinny teraz wyglądać następująco:
Kolumna została pomyślnie zmieniona.
Ustawianie wartości domyślnej dla kolumny
Krok 1) Zaloguj się na swoje konto pgAdmin.
Krok 2)
- Na pasku nawigacyjnym po lewej stronie kliknij opcję 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 w kolumnie book_author została wstawiona wartość domyślna:
Dodawanie ograniczenia sprawdzającego
Krok 1) Zaloguj się na swoje konto pgAdmin.
Krok 2)
- Na pasku nawigacyjnym po lewej stronie kliknij opcję 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ć, wpisz następujące zapytanie w edytorze zapytań i kliknij przycisk Wykonaj:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Zwróci to:
Zmiana nazwy tabeli
Krok 1) Zaloguj się na swoje konto pgAdmin.
Krok 2)
- Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
- Kliknij opcję Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
ALTER TABLE Book RENAME TO Books;
Krok 4) Kliknij przycisk Wykonaj.
Krok 5) Aby sprawdzić, czy nazwa tabeli została zmieniona, rozwiń pozycję Bazy danych > Demo > Schematy > Publiczne > Tabele:
Nazwa tabeli została pomyślnie zmieniona.
Pobierz bazę danych używaną w tym samouczku

























