PostgreSQL ALTER Table: DODAJ kolumnę, Zmień nazwę kolumny/przykłady tabeli
Polecenie ALTER TABLE służy do zmiany struktury pliku a PostgreSQL tabela. Jest to polecenie służące do zmiany kolumn tabeli lub nazwy tabeli.
Składnia
Oto składnia dla PostgreSQL ZMIEŃ TABELĘ, polecenie:
ALTER TABLE table-name action;
Parametr nazwa-tabeli to nazwa tabeli, którą chcesz zmienić.
Parametr akcji to akcja, którą należy wykonać, np. zmiana nazwy kolumny, zmiana typu danych kolumny itp.
Opis
Polecenie ALTER TABLE zmienia definicję istniejącej tabeli. Przyjmuje następujące podformularze:
- DODAJ KOLUMNĘ: używa podobnej składni jak polecenie CREATE TABLE, aby dodać nową kolumnę do tabeli.
- OPUŚĆ KOLUMNĘ: do upuszczenia kolumny tabeli. Ograniczenia i indeksy nałożone na kolumny również zostaną usunięte.
- USTAW/Upuść DOMYŚLNE: Służy do usuwania wartości domyślnej kolumny. Zmiana będzie jednak dotyczyć tylko kolejnych WSTAW oświadczenia.
- USTAW/Upuść NIE NULL: Zmienia, czy kolumna dopuszcza wartości null, czy nie.
- USTAW STATYSTYKI: Do ustawiania celu zbierania statystyk dla każdej kolumny dla operacji ANALIZY.
- USTAW PRZECHOWYWANIE: Do ustawiania trybu przechowywania kolumny. To określi, gdzie kolumna jest przechowywana, czy jest wbudowana, czy w tabeli dodatkowej.
- ZESTAW BEZ OIDÓW: Służy do usuwania starej kolumny 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: 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.
- CLUSTER: do oznaczenia tabeli, która będzie używana do przeprowadzania przyszłych operacji klastra.
Modyfikowanie kolumny
Kolumnę można modyfikować na wiele sposobów. Takie modyfikacje można wykonać za pomocą polecenia ALTER TABLE. Omówmy je:
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óra ma zostać zmodyfikowana.
Nazwa nowej kolumny to nazwa nowej kolumny, która ma zostać dodana.
Definicja kolumny to typ danych nowej kolumny.
Zobacz tabelę książek pokazaną 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 stara/bieżąca nazwa kolumny.
Nowa nazwa to nowa nazwa kolumny. Rozważmy tabelę Book pokazaną poniżej:
Książka:
Potrzebujemy nazwiska autora kolumny do 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 tak, że nawet jeśli nie określisz wartości dla tej kolumny podczas operacji INSERT, zostanie użyta wartość domyślna. W tym przypadku polecenie ALTER TABLE może zostać użyte 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 ma zostać ustawiona wartość domyślna.
Ta wartość jest wartością domyślną dla kolumny.
Rozważ tabelę Book podaną poniżej:
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');
Zauważ, że wstawiliśmy wartości tylko dla dwóch kolumn, id i name. Jednakże w kolumnie book_author została użyta wartość domyślna:
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ó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 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.
Nowa nazwa-tabeli to nowa nazwa, która ma zostać przypisana do tabeli.
Na przykład zmieńmy nazwę tabeli Książka na Książki:
ALTER TABLE Book RENAME TO Books;
Korzystanie z pgAdmina
Zobaczmy teraz, jak można wykonać te akcje za pomocą pgAdmin.
Dodanie nowej kolumny
Aby osiągnąć to samo poprzez pgAdmin, wykonaj następujące czynności:
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
Aby osiągnąć to samo poprzez pgAdmin, wykonaj następujące czynności:
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, 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.
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 poprzez pgAdmin, wykonaj następujące czynności:
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
Aby osiągnąć to samo poprzez pgAdmin, wykonaj następujące czynności:
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ć, wykonaj następujące czynności:
- Wpisz następujące zapytanie w edytorze zapytań:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
- Kliknij przycisk Wykonaj.
Zwróci to:
Zmiana nazwy tabeli
Aby osiągnąć to samo poprzez pgAdmin, wykonaj następujące czynności:
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, wykonaj następujące czynności:
- Kliknij Bazy danych w lewym panelu nawigacyjnym.
- Rozwiń wersję demonstracyjną.
- Rozwiń Schematy.
- Rozwiń Publiczne.
- 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 należy wykonać.
- Strukturą mogą być kolumny tabeli lub sama tabela.
- Możemy użyć tej instrukcji do zmiany nazwy tabeli.
- Polecenie ALTER TABLE może zostać użyte do ustawienia domyślnej wartości kolumny.
- Za pomocą tej instrukcji można sprawdzić wartości wprowadzone do kolumny tabeli.
Pobierz bazę danych używaną w tym samouczku