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:
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 õ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:
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:
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:
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:
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:
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)
- Vasakpoolsel navigeerimisribal klõpsake nuppu 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
Sama tegemiseks pgAdmini kaudu tehke järgmist:
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Vasakpoolsel navigeerimisribal klõpsake nuppu 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 tehke järgmist.
- Klõpsake vasakpoolses navigeerimisribas valikul Andmebaasid.
- Laienda Demo.
- Laiendage Skeemid.
- Laiendage Avalik.
- Laiendage tabeleid.
- Laienda raamatut.
- Laienda veerud.
Veerud peaksid nüüd olema järgmised:
Veeru muutmine õnnestus.
Veeru vaikeväärtuse määramine
Sama tegemiseks pgAdmini kaudu tehke järgmist:
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Vasakpoolsel navigeerimisribal klõpsake nuppu 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
Sama tegemiseks pgAdmini kaudu tehke järgmist:
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Vasakpoolsel navigeerimisribal klõpsake nuppu 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 tehke järgmist.
- Tippige päringuredaktorisse järgmine päring:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
- Klõpsake nuppu Käivita.
See tagastab järgmise:
Tabeli ümbernimetamine
Sama tegemiseks pgAdmini kaudu tehke järgmist:
Step 1) Logige sisse oma pgAdmini kontole.
Step 2)
- Vasakpoolsel navigeerimisribal klõpsake nuppu 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) Tabeli ümbernimetamise kontrollimiseks tehke järgmist.
- Klõpsake vasakpoolses navigeerimisribas valikul Andmebaasid.
- Laienda Demo.
- Laiendage Skeemid.
- Laiendage Avalik.
- Laiendage tabeleid.
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