PostgreSQL ALTER TABLE: Lisa ja nimeta veerg ümber
⚡ Nutikas kokkuvõte
PostgreSQL Käsk ALTER TABLE muudab olemasoleva tabeli struktuuri, võimaldades teil veerge lisada või eemaldada, veergu või tervet tabelit ümber nimetada, vaikeväärtusi määrata ja kontrollpiiranguid lisada ilma objekti uuesti loomata.

Mis on ALTER TABLE? PostgreSQL?
. ALTER TABLE käsku kasutatakse struktuuri muutmiseks PostgreSQL tabel. See on käsk, mida kasutatakse tabeli veergude või tabeli enda nime muutmiseks ilma käsku "drop" muutmata.ping ja objekti taasloomine.
Süntaks
Siin on süntaks PostgreSQL ALTER TABLE käsk:
ALTER TABLE table-name action;
Parameeter „table-name” on tabeli nimi, mida peate muutma. Parameeter „action” on toiming, mida peate tegema, näiteks veeru nime või veeru andmetüübi muutmine.
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: tilkade jaoksping tabeli veerg. Veergudele kehtestatud piirangud ja indeksid eemaldatakse samuti.
- SET/DOP vaikesäte: kasutatakse veeru vaikeväärtuse määramiseks või eemaldamiseks. Muudatus kehtib ainult järgnevatele INSERT avaldused.
- SET/Drop NOT NULL: muudab, kas veerg lubab tühiväärtusi või mitte.
- STATISTIKA KOHALDAMIST: iga veeru statistika kogumise eesmärgi määramiseks ANALYZE-toimingute jaoks.
- MÄÄRATA SALVELU: veeru salvestusrežiimi määramiseks, olgu see siis rea sees või lisatabelis.
- MÄÄRA ILMA OIIDIDETA: kasutatakse tabeli vana OID-veeru eemaldamiseks.
- RENAME: tabeli või veeru nime muutmiseks.
- LISA tabeli_piirang: kasutatakse tabelile uue piirangu lisamiseks. See kasutab sama süntaksit nagu LOE TABEL käsk
- VÄHENEMISE PIIRAMINE: kasutatakse langetamiseksping tabeli piirang.
- OMANIK: tabeli, jada, indeksi või vaate omaniku muutmiseks kindlale kasutajale.
- KLASTER: tulevaste klastritoimingute jaoks kasutatava tabeli märkimiseks.
Veeru muutmine
Veergu saab muuta mitmel viisil. Selliseid muudatusi tehakse käsu ALTER TABLE abil. Vaatleme neid allpool.
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;
Tabeli nimi on muudetava tabeli nimi. Uue veeru nimi on lisatava uue veeru nimi. Veeru definitsioon on andmetüüp uue veeru kohta. Vaadake allpool olevat raamatute tabelit:
Tabelis on kaks veergu, id ja nimi. Peame tabelisse lisama uue veeru ja andma sellele nimeks autor. Selleks käivitage 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 õ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;
Tabeli „nimi” on selle tabeli nimi, mille veergu ümber nimetatakse. Vana „nimi” on veeru praegune nimi ja uus „nimi” on veeru uus nimi. Vaatleme allolevat tabelit Book:
Raamat:
Peame veeru autori nime muutma nimeks 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:
Veeru nime muutmine õnnestus.
Veeru vaikeväärtuse määramine
Me saame määrata veerule vaikeväärtuse, nii et isegi kui te INSERT-toimingute ajal sellele veerule väärtust ei määra, kasutatakse vaikeväärtust. Sellisel juhul saab käsku ALTER TABLE kasutada järgmise süntaksiga:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
Tabeli nimi on selle tabeli nimi, mille veergu muudetakse. Veeru nimi on selle veeru nimi, mille vaikeväärtust soovitakse määrata, ja väärtus on veeru vaikeväärtus. Vaatleme allolevat raamatu tabelit:
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');
Pane tähele, et lisasime väärtused ainult kahe veeru jaoks, id ja name. Book_author veeru jaoks on aga kasutatud vaikeväärtust:
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 ja avaldis on piirang, mis tabeli veerule kehtestatakse. Muudame Book tabeli veergu book_author nii, et see aktsepteeriks ainult väärtusi Nicholas ja Samuel:
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:
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 ja „uus tabeli nimi” on tabelile määratav uus nimi. Näiteks muudame „Raamatu” tabeli nimeks „Raamatud”:
ALTER TABLE Book RENAME TO Books;
pgAdmini kasutamine
Siiani on toiminguid käivitatud SQL-kestast. Nüüd vaatame, kuidas neid samu toiminguid saab visuaalselt teha pgAdmini abil.
Uue veeru lisamine
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Klõpsake vasakpoolsel navigeerimisribal valikul Andmebaasid.
- Klõpsake Demo.
Step 3) Sisestage päring päringuredaktorisse:
ALTER TABLE Book ADD author VARCHAR(50);
Step 4) Klõpsake nuppu Käivita.
Step 5) Veerg lisamise kontrollimiseks tehke järgmist.
- Klõpsake vasakpoolses navigeerimisribas valikul Andmebaasid.
- Laienda Demo.
- Laiendage Skeemid.
- Laiendage Avalik.
- Laiendage tabeleid.
- Laienda raamatut.
- Laienda veerud.
Veerg oleks tulnud lisada, nagu allpool näidatud:
Tabeli veeru ümbernimetamine
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Klõpsake vasakpoolsel navigeerimisribal valikul Andmebaasid.
- Klõpsake Demo.
Step 3) Sisestage päring päringuredaktorisse:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Step 4) Klõpsake nuppu Käivita.
Step 5) Muudatuse õnnestumise kontrollimiseks laiendage raamatute tabeli veerge nagu varem:
Veerud peaksid nüüd olema järgmised:
Veeru muutmine õnnestus.
Veeru vaikeväärtuse määramine
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Klõpsake vasakpoolsel navigeerimisribal valikul Andmebaasid.
- Klõpsake Demo.
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.
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:
Kontrollipiirangu lisamine
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Klõpsake vasakpoolsel navigeerimisribal valikul Andmebaasid.
- Klõpsake Demo.
Step 3) Sisestage päring päringuredaktorisse:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
Step 4) Klõpsake nuppu Käivita.
Step 5) Selle testimiseks tippige päringuredaktorisse järgmine päring ja klõpsake nuppu Käivita:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
See tagastab järgmise:
Tabeli ümbernimetamine
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Klõpsake vasakpoolsel navigeerimisribal valikul Andmebaasid.
- Klõpsake Demo.
Step 3) Sisestage päring päringuredaktorisse:
ALTER TABLE Book RENAME TO Books;
Step 4) Klõpsake nuppu Käivita.
Step 5) Selleks, et kontrollida, kas tabel on ümber nimetatud, laiendage Andmebaasid > Demo > Skeemid > Avalik > Tabelid:
Tabeli ümbernimetamine õnnestus.
Laadige alla selles õpetuses kasutatud andmebaas

























