ALTER TABLE -komentoa käytetään muuttamaan PostgreSQL-taulukon rakennetta. Se on komento, jota käytetään taulukon sarakkeiden tai taulukon nimen muuttamiseen.
Tässä opetusohjelmassa opit:
- Syntaksi
- Kuvaus
- Sarakkeen muokkaaminen
- Uuden sarakkeen lisääminen
- Nimeä taulukon sarake uudelleen
- Oletusarvon asettaminen sarakkeelle
- Sekin rajoituksen lisääminen
- Pöydän uudelleennimeäminen
- PgAdminin käyttäminen
Syntaksi
Tässä on PostgreSQL ALTER TABLE -komennon syntaksi:
ALTER TABLE table-name action;
Table-name-parametri on muutettavan taulukon nimi.
Toimintaparametri on suoritettava toiminto, kuten sarakkeen nimen muuttaminen, sarakkeen tietotyypin muuttaminen.
Kuvaus
ALTER TABLE -komento muuttaa olemassa olevan taulukon määritelmää. Siihen tarvitaan seuraavat alilomakkeet:
- LISÄÄ Sarake : tämä käyttää samanlaista syntaksia kuin CREATE TABLE -komento uuden sarakkeen lisäämiseksi taulukkoon.
- DROP COLUMN : pudota taulukon sarake. Sarakkeille asetetut rajoitteet ja indeksit myös poistetaan.
- SET / DROP DEFAULT : Käytä sarakkeen oletusarvon poistamiseen. Muutos koskee kuitenkin vain seuraavia INSERT-lauseita.
- SET / DROP NOT NULL : Muuttaa, sallitaanko sarakkeessa nollat vai ei.
- ASETA TILASTOT: Jokaisen sarakkeen tilastojen keräystavoitteen asettamiseksi ANALYSOI-operaatioille.
- ASETA VARASTO : Sarakkeen tallennustilan asettamiseen. Tämä määrittää, missä saraketta pidetään, joko inline-muodossa tai täydentävässä taulukossa.
- ASETA ILMAN HAIHTOJA : Käytä taulukon vanhan sarakkeen poistamiseen.
- RENAME : taulukon nimen tai sarakkeen nimen muuttamiseksi.
- ADD table_constraint : Käytä uuden rajoituksen lisäämiseen taulukkoon. Se käyttää samaa syntaksia kuin CREATE TABLE -komento.
- PUDOTUSRAJOITUS : Käytä pudottamaan taulukon rajoitus.
- OMISTAJA : taulukon, sekvenssin, hakemiston tai näkymän omistajan vaihtamiseksi tietylle käyttäjälle.
- CLUSTER : taulukon merkitsemiseksi käytettäväksi tulevissa klusteritoiminnoissa.
Sarakkeen muokkaaminen
Saraketta voidaan muokata monin tavoin. Tällaiset muutokset voidaan tehdä ALTER TABLE -komennolla. Keskustelkaamme näistä:
Uuden sarakkeen lisääminen
Uuden sarakkeen lisäämiseen PostgreSQL-taulukkoon käytetään ALTER TABLE -komentoa seuraavan syntaksin kanssa:
ALTER TABLE table-nameADD new-column-name column-definition;
Taulukon nimi on muokattavan taulukon nimi.
Uusi sarake-nimi on uuden lisättävän sarakkeen nimi.
Sarakemääritys on uuden sarakkeen tietotyyppi.
Katso alla oleva kirjataulukko:
Taulukossa on kaksi saraketta, tunnus ja nimi. Meidän on lisättävä uusi sarake taulukkoon ja annettava sille nimen kirjoittaja. Suorita vain seuraava komento:
ALTER TABLE BookADD author VARCHAR(50);
Edellä olevan komennon suorittamisen jälkeen Kirja-taulukko on nyt seuraava:
Uusi sarake lisättiin onnistuneesti.
Nimeä taulukon sarake uudelleen
Voimme muuttaa sarakkeen nimen ALTER TABLE -komennolla. Tässä tapauksessa komentoa käytetään seuraavan syntaksin kanssa:
ALTER TABLE table-nameRENAME COLUMN old-name TO new-name;
Taulukon nimi on sen taulukon nimi, jonka sarake nimetään uudelleen.
Vanha nimi on sarakkeen vanha / nykyinen nimi.
Uusi nimi on sarakkeen uusi nimi. Harkitse alla olevaa taulukkoa:
Kirja:
Tarvitsemme sarakkeen kirjoittajan nimen book_author. Tässä on komento:
ALTER TABLE BookRENAME COLUMN author TO book_author;
Komennon suorittamisen jälkeen voimme tarkastella taulukon rakennetta:
Sarakkeen nimen muuttaminen onnistui.
Oletusarvon asettaminen sarakkeelle
Voimme asettaa sarakkeen oletusarvon siten, että vaikka et määritä sarakkeen arvoa INSERT-toimintojen aikana, käytetään oletusarvoa. Tässä tapauksessa ALTER TABLE -komentoa voidaan käyttää seuraavalla syntaksilla:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
Taulukon nimi on sen taulukon nimi, jonka saraketta on tarkoitus muuttaa.
Sarakkeen nimi on nimi, jonka oletusarvo on asetettava.
Arvo on sarakkeen oletusarvo.
Harkitse alla olevaa Kirjat-taulukkoa:
Meidän on asetettava oletusarvo book_author -sarakkeelle. Voimme suorittaa seuraavan komennon:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Lisätään nyt rivi taulukkoon:
INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners');
Huomaa, että lisäsimme arvoja vain kahdelle sarakkeelle, id ja name. Book_author -sarakkeessa on kuitenkin käytetty oletusarvoa:
Sekin rajoituksen lisääminen
Tarkistusta koskeva rajoitus auttaa vahvistamaan taulukkoon lisättävät tietueet. Voimme tehdä tämän yhdistämällä ALTER TABLE -komennon ADD CHECK -käskyyn. Syntaksi:
ALTER TABLE table-name ADD CHECK expression;
Taulukon nimi on muutettavan taulukon nimi.
Lauseke on taulukon sarakkeelle asetettava rajoitus.
Muokkaa meidän kirjataulukon kirja_autor saraketta siten, että se hyväksyy vain arvot, Nicholas ja Samuel:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
Yritetään nyt lisätä muu arvo kuin Nicholas tai Samuel Book-taulukon book_author -sarakkeeseen:
INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Lauseke palauttaa seuraavan virheen:
Lisäämisoperaatio epäonnistui, koska rikkomme tarkistusrajoitusta.
Pöydän uudelleennimeäminen
Tässä on syntaksi ALTER TABLE -komennolle taulukon uudelleennimeämiselle:
ALTER TABLE table-nameRENAME TO new-table-name;
Taulukon nimi on taulukon nykyinen nimi.
New-table-name on uusi nimi, joka määritetään taulukkoon.
Vaihdetaan esimerkiksi Kirjat-taulukon nimeksi Kirjat:
ALTER TABLE BookRENAME TO Books;
PgAdminin käyttäminen
Katsotaan nyt, kuinka nämä toiminnot voidaan suorittaa pgAdmin-sovelluksella.
Uuden sarakkeen lisääminen
Voit tehdä saman pgAdminin avulla seuraavasti:
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta siirtymispalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
ALTER TABLE BookADD author VARCHAR(50);
Vaihe 4) Napsauta Suorita-painiketta.
Vaihe 5) Tarkista, onko sarake lisätty, seuraavasti:
- Napsauta vasemman selauspalkin Tietokannat-kohtaa.
- Laajenna esittely.
- Laajenna Kaaviot.
- Laajenna Julkinen.
- Laajenna taulukot.
- Laajenna kirja.
- Laajenna Sarakkeet.
Sarake olisi pitänyt lisätä alla olevan kuvan mukaisesti:
Nimeä taulukon sarake uudelleen
Voit tehdä saman pgAdminin avulla seuraavasti:
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta siirtymispalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
ALTER TABLE BookRENAME COLUMN author TO book_author;
Vaihe 4) Napsauta Suorita-painiketta.
Vaihe 5) Voit tarkistaa muutoksen onnistumisen seuraavasti:
- Napsauta vasemman selauspalkin Tietokannat-kohtaa.
- Laajenna esittely.
- Laajenna Kaaviot.
- Laajenna Julkinen.
- Laajenna taulukot.
- Laajenna kirja.
- Laajenna Sarakkeet.
Sarakkeiden tulisi nyt olla seuraavat:
Saraketta muutettiin onnistuneesti.
Oletusarvon asettaminen sarakkeelle
Voit tehdä saman pgAdminin avulla seuraavasti:
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta siirtymispalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Vaihe 4) Napsauta Suorita-painiketta.
Vaihe 5) Testaa suorittamalla seuraava komento kyselyeditorissa:
INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners')
Vaihe 6) Nyt voimme kysyä taulukosta tarkistaa, onko oletusarvo lisätty book_author -sarakkeeseen:
Sekin rajoituksen lisääminen
Voit tehdä saman pgAdminin avulla seuraavasti:
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta siirtymispalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
Vaihe 4) Napsauta Suorita-painiketta.
Vaihe 5) Testaa tämä seuraavasti:
- Kirjoita seuraava kysely kyselyeditoriin:
INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
- Napsauta Suorita-painiketta.
Se palauttaa seuraavat:
Pöydän uudelleennimeäminen
Voit tehdä saman pgAdminin avulla seuraavasti:
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Valitse vasemmalla olevasta siirtymispalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
ALTER TABLE BookRENAME TO Books;
Vaihe 4) Napsauta Suorita-painiketta.
Vaihe 5) Tarkista, onko taulukko nimetty uudelleen, seuraavasti:
- Napsauta vasemman selauspalkin Tietokannat-kohtaa.
- Laajenna esittely.
- Laajenna Kaaviot.
- Laajenna Julkinen.
- Laajenna taulukot.
Taulukko nimettiin uudelleen.
Yhteenveto:
- ALTER TABLE -käskyä käytetään taulukon rakenteen muokkaamiseen.
- ALTER TABLE -komento on eri muodoissa suoritettavan tehtävän mukaan.
- Rakenne voi olla taulukon sarakkeet tai itse taulukko.
- Voimme käyttää tätä lausetta taulukon nimen muuttamiseen.
- ALTER TABLE -komennolla voidaan asettaa sarakkeen oletusarvo.
- Lausetta voidaan käyttää taulukkosarakkeeseen syötettyjen arvojen tarkistamiseen.
Lataa tässä opetusohjelmassa käytetty tietokanta