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:

Dodanie nowej kolumny w PostgreSQL

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:

Dodanie nowej kolumny w PostgreSQL

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:

Zmiana nazwy kolumny tabeli w PostgreSQL

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:

Zmiana nazwy kolumny tabeli w PostgreSQL

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:

Ustawianie wartości domyślnej dla kolumny

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:

Ustawianie wartości domyślnej dla kolumny

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:

Dodawanie ograniczenia sprawdzającego

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)

  1. Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
  2. Kliknij opcję Demo.

Dodawanie nowej kolumny za pomocą pgAdmin

Krok 3) Wpisz zapytanie w edytorze zapytań:

ALTER TABLE Book
  ADD author VARCHAR(50);

Krok 4) Kliknij przycisk Wykonaj.

Dodawanie nowej kolumny za pomocą pgAdmin

Krok 5) Aby sprawdzić, czy kolumna została dodana, wykonaj następujące czynności:

  1. Kliknij Bazy danych w lewym panelu nawigacyjnym.
  2. Rozwiń wersję demonstracyjną.
  3. Rozwiń Schematy.
  4. Rozwiń Publiczne.
  5. Rozwiń tabele.
  6. Rozwiń książkę.
  7. Rozwiń kolumny.

Dodawanie nowej kolumny za pomocą pgAdmin

Należy dodać kolumnę, jak pokazano poniżej:

Dodawanie nowej kolumny za pomocą pgAdmin

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)

  1. Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
  2. Kliknij opcję Demo.

Zmiana nazwy kolumny tabeli za pomocą pgAdmin

Krok 3) Wpisz zapytanie w edytorze zapytań:

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

Krok 4) Kliknij przycisk Wykonaj.

Zmiana nazwy kolumny tabeli za pomocą pgAdmin

Krok 5) Aby sprawdzić, czy zmiana się powiodła, wykonaj następujące czynności:

  1. Kliknij Bazy danych w lewym panelu nawigacyjnym.
  2. Rozwiń wersję demonstracyjną.
  3. Rozwiń Schematy.
  4. Rozwiń Publiczne.
  5. Rozwiń tabele.
  6. Rozwiń książkę.
  7. Rozwiń kolumny.

Zmiana nazwy kolumny tabeli za pomocą pgAdmin

Kolumny powinny teraz wyglądać następująco:

Zmiana nazwy kolumny tabeli za pomocą pgAdmin

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)

  1. Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
  2. Kliknij opcję Demo.

Ustawianie wartości domyślnej dla kolumny

Krok 3) Wpisz zapytanie w edytorze zapytań:

ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';		

Krok 4) Kliknij przycisk Wykonaj.

Ustawianie wartości domyślnej dla kolumny

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:

Ustawianie wartości domyślnej dla kolumny

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)

  1. Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
  2. Kliknij opcję Demo.

Dodawanie ograniczenia sprawdzającego za pomocą pgAdmin

Krok 3) Wpisz zapytanie w edytorze zapytań:

ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))

Krok 4) Kliknij przycisk Wykonaj.

Dodawanie ograniczenia sprawdzającego za pomocą pgAdmin

Krok 5) Aby to sprawdzić, wykonaj następujące czynności:

  1. Wpisz następujące zapytanie w edytorze zapytań:
    INSERT INTO Book
    VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
    
  2. Kliknij przycisk Wykonaj.

    Dodawanie ograniczenia sprawdzającego za pomocą pgAdmin

    Zwróci to:

Dodawanie ograniczenia sprawdzającego za pomocą pgAdmin

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)

  1. Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
  2. Kliknij opcję Demo.

Zmiana nazwy tabeli za pomocą pgAdmin

Krok 3) Wpisz zapytanie w edytorze zapytań:

ALTER TABLE Book
  RENAME TO Books;

Krok 4) Kliknij przycisk Wykonaj.

Zmiana nazwy tabeli za pomocą pgAdmin

Krok 5) Aby sprawdzić, czy nazwa tabeli została zmieniona, wykonaj następujące czynności:

  1. Kliknij Bazy danych w lewym panelu nawigacyjnym.
  2. Rozwiń wersję demonstracyjną.
  3. Rozwiń Schematy.
  4. Rozwiń Publiczne.
  5. Rozwiń tabele.

Zmiana nazwy tabeli za pomocą pgAdmin

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