PostgreSQL ALTER tabel: LISA veerg, nimeta veerg/tabelinäited ümber

Käsku ALTER TABLE kasutatakse a struktuuri muutmiseks PostgreSQL laud. See on käsk, mida kasutatakse tabeli veergude või tabeli nime muutmiseks.

Süntaks

Siin on süntaks PostgreSQL ALTER TABLE käsk:

ALTER TABLE table-name action;

Parameeter tabeli nimi on tabeli nimi, mida peate muutma.

Toimingu parameeter on toiming, mida peate tegema, näiteks muutma veeru nime, muutma veeru andmetüüpi jne.

Kirjeldus

Käsk ALTER TABLE muudab olemasoleva tabeli definitsiooni. See võtab järgmised alamvormid:

  • LISA VEERG: see kasutab tabelisse uue veeru lisamiseks sarnast süntaksit nagu käsk CREATE TABLE.
  • KULKU VEERG: tabeli veeru kukutamiseks. Samuti loobutakse veergudele kehtestatud piirangutest ja indeksidest.
  • SET/DOP vaikesäte: kasutage veeru vaikeväärtuse eemaldamiseks. Muudatus rakendub aga ainult järgnevatele INSERT avaldused.
  • SET/Drop NOT NULL: muudab seda, kas veerg lubab nullväärtusi või mitte.
  • SEADISTA STATISTIKA: Iga veeru statistika kogumise sihtmärgi määramiseks ANALÜÜSI toimingute jaoks.
  • MÄÄRATA SALVELU: veeru salvestusrežiimi määramiseks. See määrab, kus veergu hoitakse, kas sees või täiendavas tabelis.
  • MÄÄRA ILMA OIIDIDETA: kasutage tabeli vana veeru eemaldamiseks.
  • RENAME: tabeli või veeru nime muutmiseks.
  • LISA tabeli_piirang: Kasutage tabelisse uue piirangu lisamiseks Kasutab sama süntaksit nagu LOE TABEL käsk
  • VÄHENEMISE PIIRAMINE: kasutage tabelipiirangu tühistamiseks.
  • OMANIK: tabeli, jada, indeksi või vaate omaniku muutmiseks teatud kasutajaks.
  • KLASTER: tabeli märgistamiseks, mida kasutatakse tulevaste klastrioperatsioonide läbiviimiseks.

Veeru muutmine

Veergu saab muuta mitmel viisil. Selliseid muudatusi saab teha käsu ALTER TABLE abil. Arutleme nende üle:

Uue veeru lisamine

Uue veeru lisamiseks a PostgreSQL tabelis kasutatakse käsku ALTER TABLE järgmise süntaksiga:

ALTER TABLE table-name
  ADD new-column-name column-definition;

Tabelinimi on muudetava tabeli nimi.

Uue veeru nimi on uue lisatava veeru nimi.

Veeru definitsioon on andmetüüp uuest veerust.

Vaadake allpool olevat raamatute tabelit:

Uue veeru lisamine PostgreSQL

Tabelis on kaks veergu, id ja nimi. Peame tabelisse lisama uue veeru ja andma sellele autori nime. Käivitage lihtsalt järgmine käsk:

ALTER TABLE Book
  ADD author VARCHAR(50);

Pärast ülaltoodud käsu käivitamist on raamatutabel nüüd järgmine:

Uue veeru lisamine PostgreSQL

Uue veeru lisamine õnnestus.

Tabeli veeru ümbernimetamine

Veeru nime muutmiseks saame kasutada käsku ALTER TABLE. Sel juhul kasutatakse käsku järgmise süntaksiga:

ALTER TABLE table-name
  RENAME COLUMN old-name TO new-name;

Tabelinimi on selle tabeli nimi, mille veerg tuleb ümber nimetada.

Vana nimi on veeru vana/praegune nimi.

Uus nimi on veeru uus nimi. Mõelge allpool näidatud tabeliraamatule:

Raamat:

Tabeli veeru ümbernimetamine PostgreSQL

Meil on vaja veeru autori nime, et book_author. Siin on käsk:

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

Pärast käsu käivitamist saame vaadata tabeli struktuuri:

Tabeli veeru ümbernimetamine PostgreSQL

Veeru nime muutmine õnnestus.

Veeru vaikeväärtuse määramine

Saame määrata veerule vaikeväärtuse nii, et isegi kui te INSERT-i toimingute ajal selle veeru väärtust ei määra, kasutatakse vaikeväärtust. Sel juhul saab käsku ALTER TABLE kasutada järgmise süntaksiga:

ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];

Tabelinimi on tabeli nimi, mille veergu tuleb muuta.

Veeru nimi on nimi, mille vaikeväärtus määratakse.

Väärtus on veeru vaikeväärtus.

Mõelge allolevale raamatutabelile:

Veeru vaikeväärtuse määramine

Peame määrama veeru book_author vaikeväärtuse. Saame käivitada järgmise käsu:

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

Nüüd lisame tabelisse rea:

INSERT INTO Book (id, name)
 VALUES (6, 'PostgreSQL for Beginners');

Pange tähele, et sisestasime väärtused ainult kahe veeru jaoks, id ja nimi. Siiski on veeru book_author jaoks kasutatud vaikeväärtust:

Veeru vaikeväärtuse määramine

Kontrollipiirangu lisamine

Kontrollpiirang aitab kinnitada tabelisse lisatavaid kirjeid. Seda saame teha, kombineerides käsu ALTER TABLE käsuga ADD CHECK. Süntaks:

ALTER TABLE table-name ADD CHECK expression;

Tabeli nimi on muudetava tabeli nimi.

Avaldis on tabeli veerule kehtestatav piirang.

Muutkem tabeli Book veergu book_author nii, et see aktsepteeriks ainult Nicholas ja Samueli väärtusi:

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

Proovime nüüd sisestada tabeli Book_author veergu muu väärtuse kui Nicholas või Samuel:

INSERT INTO Book
VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');

Avaldus tagastab järgmise vea:

Kontrollipiirangu lisamine

Sisestamistoiming nurjus, kuna rikkusime kontrollipiirangut.

Tabeli ümbernimetamine

Siin on tabeli ümbernimetamise käsu ALTER TABLE süntaks:

ALTER TABLE table-name
  RENAME TO new-table-name;

Tabeli nimi on tabeli praegune nimi.

Tabeli uus nimi on uus nimi, mis tabelile määratakse.

Näiteks muutkem tabeli Books nimeks Books:

ALTER TABLE Book
  RENAME TO Books;

pgAdmini kasutamine

Nüüd vaatame, kuidas neid toiminguid pgAdmini abil teha saab.

Uue veeru lisamine

Sama tegemiseks pgAdmini kaudu tehke järgmist:

Step 1) Logige sisse oma pgAdmini kontole.

Step 2)

  1. Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
  2. Klõpsake Demo.

Uue veeru lisamine pgAdmini abil

Step 3) Sisestage päring päringuredaktorisse:

ALTER TABLE Book
  ADD author VARCHAR(50);

Step 4) Klõpsake nuppu Käivita.

Uue veeru lisamine pgAdmini abil

Step 5) Veerg lisamise kontrollimiseks tehke järgmist.

  1. Klõpsake vasakpoolses navigeerimisribas valikul Andmebaasid.
  2. Laienda Demo.
  3. Laiendage Skeemid.
  4. Laiendage Avalik.
  5. Laiendage tabeleid.
  6. Laienda raamatut.
  7. Laienda veerud.

Uue veeru lisamine pgAdmini abil

Veerg oleks tulnud lisada, nagu allpool näidatud:

Uue veeru lisamine pgAdmini abil

Tabeli veeru ümbernimetamine

Sama tegemiseks pgAdmini kaudu tehke järgmist:

Step 1) Logige sisse oma pgAdmini kontole.

Step 2)

  1. Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
  2. Klõpsake Demo.

Tabeli veeru ümbernimetamine pgAdmini abil

Step 3) Sisestage päring päringuredaktorisse:

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

Step 4) Klõpsake nuppu Käivita.

Tabeli veeru ümbernimetamine pgAdmini abil

Step 5) Muudatuse õnnestumise kontrollimiseks tehke järgmist.

  1. Klõpsake vasakpoolses navigeerimisribas valikul Andmebaasid.
  2. Laienda Demo.
  3. Laiendage Skeemid.
  4. Laiendage Avalik.
  5. Laiendage tabeleid.
  6. Laienda raamatut.
  7. Laienda veerud.

Tabeli veeru ümbernimetamine pgAdmini abil

Veerud peaksid nüüd olema järgmised:

Tabeli veeru ümbernimetamine pgAdmini abil

Veeru muutmine õnnestus.

Veeru vaikeväärtuse määramine

Sama tegemiseks pgAdmini kaudu tehke järgmist:

Step 1) Logige sisse oma pgAdmini kontole.

Step 2)

  1. Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
  2. Klõpsake Demo.

Veeru vaikeväärtuse määramine

Step 3) Sisestage päring päringuredaktorisse:

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

Step 4) Klõpsake nuppu Käivita.

Veeru vaikeväärtuse määramine

Step 5) Testimiseks käivitage päringuredaktoris järgmine käsk:

INSERT INTO Book (id, name)
 VALUES (6, 'PostgreSQL for Beginners')

Step 6) Nüüd saame teha tabelist päringu, et kontrollida, kas vaikeväärtus on sisestatud veergu book_author:

Veeru vaikeväärtuse määramine

Kontrollipiirangu lisamine

Sama tegemiseks pgAdmini kaudu tehke järgmist:

Step 1) Logige sisse oma pgAdmini kontole.

Step 2)

  1. Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
  2. Klõpsake Demo.

Kontrollpiirangu lisamine pgAdmini abil

Step 3) Sisestage päring päringuredaktorisse:

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

Step 4) Klõpsake nuppu Käivita.

Kontrollpiirangu lisamine pgAdmini abil

Step 5) Selle testimiseks tehke järgmist.

  1. Tippige päringuredaktorisse järgmine päring:
    INSERT INTO Book
    VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
    
  2. Klõpsake nuppu Käivita.

    Kontrollpiirangu lisamine pgAdmini abil

    See tagastab järgmise:

Kontrollpiirangu lisamine pgAdmini abil

Tabeli ümbernimetamine

Sama tegemiseks pgAdmini kaudu tehke järgmist:

Step 1) Logige sisse oma pgAdmini kontole.

Step 2)

  1. Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
  2. Klõpsake Demo.

Tabeli ümbernimetamine pgAdmini abil

Step 3) Sisestage päring päringuredaktorisse:

ALTER TABLE Book
  RENAME TO Books;

Step 4) Klõpsake nuppu Käivita.

Tabeli ümbernimetamine pgAdmini abil

Step 5) Tabeli ümbernimetamise kontrollimiseks tehke järgmist.

  1. Klõpsake vasakpoolses navigeerimisribas valikul Andmebaasid.
  2. Laienda Demo.
  3. Laiendage Skeemid.
  4. Laiendage Avalik.
  5. Laiendage tabeleid.

Tabeli ümbernimetamine pgAdmini abil

Tabeli ümbernimetamine õnnestus.

kokkuvõte

  • Lauset ALTER TABLE kasutatakse tabeli struktuuri muutmiseks.
  • Käsk ALTER TABLE on erineval kujul, olenevalt ülesandest, mida peate täitma.
  • Struktuur võib olla tabeli veerud või tabel ise.
  • Seda lauset saame kasutada tabeli nime muutmiseks.
  • Käsku ALTER TABLE saab kasutada veeru vaikeväärtuse määramiseks.
  • Seda avaldust saab kasutada tabeli veergu sisestatud väärtuste kinnitamiseks.

Laadige alla selles õpetuses kasutatud andmebaas