ALTER TABLE käsku kasutatakse PostgreSQL tabeli struktuuri muutmiseks. Seda käsku kasutatakse tabeli veergude või tabeli nime muutmiseks.
Selles õpetuses saate teada:
- Süntaks
- Kirjeldus
- Veeru muutmine
- Uue veeru lisamine
- Tabeliveeru ümbernimetamine
- Veeru vaikeväärtuse määramine
- Kontrollpiirangu lisamine
- Tabeli ümbernimetamine
- PgAdmini kasutamine
Süntaks
Siin on käsu PostgreSQL ALTER TABLE süntaks:
ALTER TABLE table-name action;
Parameeter table-name on tabeli nimi, mida peate muutma.
Toimingu parameeter on toiming, mille peate tegema, näiteks muutma veeru nime, muutma veeru andmetüüpi jne.
Kirjeldus
ALTER TABLE käsk muudab olemasoleva tabeli määratlust. Selleks on vaja järgmisi alamvorme:
- LISA VEERG : uue veeru lisamiseks tabelisse kasutatakse sarnast süntaksit kui käsku CREATE TABLE.
- DROP COLUMN : tabeliveeru kukutamiseks. Samuti kaotatakse veergudele seatud piirangud ja indeksid.
- SET / DROP DEFAULT : Kasutage veeru vaikeväärtuse eemaldamiseks. Muudatus kehtib siiski ainult järgnevate INSERT-lausete kohta.
- SET / DROP NOT NULL : määrab, kas veerg lubab nullide olemasolu või mitte.
- STATISTIKA MÄÄRAMINE: statistika kogumise eesmärgi määramiseks iga veeru jaoks ANALÜÜSI toimingutele.
- SET STORAGE : veeru salvestusrežiimi määramiseks. See määrab, kus veergu hoitakse, kas sees või lisatabelis.
- MÄÄRATA OODITA : kasutage tabeli vana veeru eemaldamiseks.
- RENAME : tabeli nime või veeru nime muutmiseks.
- ADD table_constraint : Kasutage uue piirangu lisamist tabelisse. See kasutab sama süntaksit kui käsk CREATE TABLE.
- DROP CONRARA : Kasutage tabeli piirangu langetamiseks.
- OMANIK : tabeli, järjestuse, indeksi või vaate omaniku vahetamiseks kindlale kasutajale.
- CLUSTER : tabeli märkimiseks, mida kasutatakse tulevaste klastritoimingute teostamiseks.
Veeru muutmine
Veergu saab muuta mitmel viisil. Selliseid muudatusi saab teha käsuga ALTER TABLE. Arutagem neid:
Uue veeru lisamine
Uue veeru lisamiseks PostgreSQL-i tabelisse kasutatakse käsku ALTER TABLE järgmise süntaksiga:
ALTER TABLE table-nameADD new-column-name column-definition;
Tabeli nimi on muudetava tabeli nimi.
Uus veeru nimi on uue lisatava veeru nimi.
Veergude määratlus on uue veeru andmetüüp.
Vaadake allpool näidatud raamatute tabelit:
Tabelis on kaks veergu, ID ja nimi. Peame lisama tabelisse uue veeru ja andma sellele nime autori. Käivitage lihtsalt järgmine käsk:
ALTER TABLE BookADD author VARCHAR(50);
Pärast ülaltoodud käsu käivitamist on tabel Raamat nüüd järgmine:
Uus veerg lisati edukalt.
Tabeliveeru ümbernimetamine
Veeru nime muutmiseks saame kasutada käsku ALTER TABLE. Sel juhul kasutatakse käsku järgmise süntaksiga:
ALTER TABLE table-nameRENAME COLUMN old-name TO new-name;
Tabeli nimi on selle tabeli nimi, mille veerg tuleb ümber nimetada.
Vana nimi on veeru vana / praegune nimi.
Uus nimi on veeru uus nimi. Vaadake allolevat tabelit:
Raamat:
Vajame veeru autori nime book_author. Siin on käsk:
ALTER TABLE BookRENAME 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 veerule määrata 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 tuleb muuta.
Veeru nimi on nimi, mille vaikeväärtus tuleb määrata.
Väärtus on veeru vaikeväärtus.
Vaatleme allpool toodud raamatute tabelit:
Peame veerus book_author määrama vaikeväärtuse. Saame käivitada järgmise käsu:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Lisagem nüüd tabelisse rida:
INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners');
Pange tähele, et sisestasime väärtused ainult kahele veerule, id ja nimi. Veeru book_author jaoks on aga kasutatud vaikeväärtust:
Kontrollpiirangu lisamine
Kontrollpiirang aitab kinnitada tabelisse sisestatavaid kirjeid. Saame seda teha, kombineerides ALTER TABLE käsu ADD CHECK lausega. Süntaks:
ALTER TABLE table-name ADD CHECK expression;
Tabeli nimi on muudetava tabeli nimi.
Väljend on piirang, mis tabeli veerule seatakse.
Muutke tabeli Raamat veergu book_author nii, et see aktsepteeriks ainult väärtusi Nicholas ja Samuel:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
Püüdkem nüüd tabeli Raamat veergu book_author veergu lisada muu väärtus kui Nicholas või Samuel:
INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Avaldus tagastab järgmise tõrke:
Sisestusoperatsioon nurjus, kuna rikkusime kontrollpiirangut.
Tabeli ümbernimetamine
Siin on tabeli ümbernimetamise käsu ALTER TABLE süntaks:
ALTER TABLE table-nameRENAME TO new-table-name;
Tabeli nimi on tabeli praegune nimi.
Uus tabeli nimi on tabelile määratav uus nimi.
Muutkem näiteks tabeli Raamat nimeks Raamatud:
ALTER TABLE BookRENAME TO Books;
PgAdmini kasutamine
Vaatame nüüd, kuidas neid toiminguid saab teha pgAdmini abil.
Uue veeru lisamine
Sama saavutamiseks pgAdmini kaudu tehke seda:
Samm 1) Logige sisse oma pgAdmini kontole.
2. samm)
- Vasakul navigeerimisribal klõpsake käsku Andmebaasid.
- Klõpsake valikul Demo.
Samm 3) Sisestage päring päringiredaktorisse:
ALTER TABLE BookADD author VARCHAR(50);
Samm 4) Klõpsake nuppu Execute.
Samm 5) Veeru lisamise kontrollimiseks tehke järgmist.
- Klõpsake vasakul navigeerimisribal valikut Andmebaasid.
- Laienda demo.
- Laiendage skeeme.
- Laienda avalikkust.
- Laienda tabeleid.
- Laienda raamatut.
- Laienda veerud.
Veerg oleks tulnud lisada, nagu allpool näidatud:
Tabeliveeru ümbernimetamine
Sama saavutamiseks pgAdmini kaudu tehke seda:
Samm 1) Logige sisse oma pgAdmini kontole.
2. samm)
- Vasakul navigeerimisribal klõpsake käsku Andmebaasid.
- Klõpsake valikul Demo.
Samm 3) Sisestage päring päringiredaktorisse:
ALTER TABLE BookRENAME COLUMN author TO book_author;
Samm 4) Klõpsake nuppu Execute.
5. samm. Kontrollige, kas muudatus õnnestus, toimige järgmiselt.
- Klõpsake vasakul navigeerimisribal valikut Andmebaasid.
- Laienda demo.
- Laiendage skeeme.
- Laienda avalikkust.
- Laienda tabeleid.
- Laienda raamatut.
- Laienda veerud.
Veerud peaksid olema järgmised:
Veergu muudeti edukalt.
Veeru vaikeväärtuse määramine
Sama saavutamiseks pgAdmini kaudu tehke seda:
Samm 1) Logige sisse oma pgAdmini kontole.
2. samm)
- Vasakul navigeerimisribal klõpsake käsku Andmebaasid.
- Klõpsake valikul Demo.
Samm 3) Sisestage päring päringiredaktorisse:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Samm 4) Klõpsake nuppu Execute.
Samm 5) Testimiseks käivitage päringiredaktoris järgmine käsk:
INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners')
Samm 6) Nüüd saame tabelilt päringu teha, et kontrollida, kas veergu book_author lisati vaikeväärtus:
Kontrollpiirangu lisamine
Sama saavutamiseks pgAdmini kaudu tehke seda:
Samm 1) Logige sisse oma pgAdmini kontole.
2. samm)
- Vasakul navigeerimisribal klõpsake käsku Andmebaasid.
- Klõpsake valikul Demo.
Samm 3) Sisestage päring päringiredaktorisse:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
Samm 4) Klõpsake nuppu Execute.
5. samm. Selle testimiseks tehke järgmist.
- Sisestage päringiredaktorisse järgmine päring:
INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
- Klõpsake nuppu Execute.
See tagastab järgmise:
Tabeli ümbernimetamine
Sama saavutamiseks pgAdmini kaudu tehke seda:
Samm 1) Logige sisse oma pgAdmini kontole.
2. samm)
- Vasakul navigeerimisribal klõpsake käsku Andmebaasid.
- Klõpsake valikul Demo.
Samm 3) Sisestage päring päringiredaktorisse:
ALTER TABLE BookRENAME TO Books;
Samm 4) Klõpsake nuppu Execute.
5. samm. Kontrollige, kas tabel on ümber nimetatud, toimige järgmiselt.
- Klõpsake vasakul navigeerimisribal valikut Andmebaasid.
- Laienda demo.
- Laiendage skeeme.
- Laienda avalikkust.
- Laienda tabeleid.
Tabeli ümbernimetamine õnnestus.
Kokkuvõte:
- Lauset ALTER TABLE kasutatakse tabeli struktuuri muutmiseks.
- Käsk ALTER TABLE on erinevas vormis, sõltuvalt teie täidetavast ülesandest.
- Struktuur võib olla tabeli veerud või tabel ise.
- Selle avalduse abil saame muuta tabeli nime.
- Veeru vaikeväärtuse määramiseks saab kasutada käsku ALTER TABLE.
- Lauset saab kasutada tabeli veergu sisestatud väärtuste kinnitamiseks.
Laadige alla selles õpetuses kasutatud andmebaas