# Kuinka lisätä tai poistaa sarakkeita PostgreSQL:ssä ALTER TABLE -komennolla

PostgreSQL:n `ALTER TABLE` `-komennolla voit lisätä tai muokata tietokantataulukoiden sarakkeita.

## Mikä on PostgreSQL `ALTER TABLE`?

PostgreSQL: n `ALTER TABLE` voidaan käyttää tietokannan **taulukoiden muokkaamiseen**. Tämän komennon avulla voit lisätä, poistaa tai muokata taulukon sarakkeita tarpeen mukaan. Sitä voidaan käyttää myös rajoitusten asettamiseen tai poistamiseen tietokannan hallintajärjestelmän taulukoista. Komennon käyttämiseksi se on yhdistettävä tiettyyn toimintoon.

## Mikä on luvun `ALTER TABLE` kirjoitusmuoto?

Jotta ymmärtäisimme paremmin, miten komentoa `ALTER TABLE` käytetään, tarkastellaanpa ensin sen syntaksia:

```postgresql
ALTER TABLE table_name action;
```

Komennon jälkeen sinun on määritettävä sen taulukon nimi, jota haluat muokata, ja valittava haluamiesi muutosten mukainen toiminto.

Vinkki Voit luoda uuden taulukon käyttämällä PostgreSQL:n [CREATE TABLE](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/postgresql-create-table/) -komentoa.

## PostgreSQL `ALTER TABLE` -esimerkkejä

Seuraavassa esittelemme yksinkertaisen esimerkin avulla, miten `ALTER TABLE` toimii. Käytämme taulukkoa nimeltä `customers`, jossa on kolme saraketta ja kolme riviä:

<table>
  <thead>
    <tr>
      <th>id</th>
      <th>nimi</th>
      <th>kaupunki</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Lee</td>
      <td>Northampton</td>
    </tr>
    <tr>
      <td>2</td>
      <td>Johnson</td>
      <td>Edinburgh</td>
    </tr>
    <tr>
      <td>3</td>
      <td>Smith</td>
      <td>Brighton</td>
    </tr>
  </tbody>
</table>

Voimme muokata tätä taulukkoa monin tavoin käyttämällä `ALTER TABLE`.

### Sarakkeen lisääminen PostgreSQL `ADD COLUMN`:ssä

Voit lisätä uuden sarakkeen käyttämällä `ALTER TABLE` yhdessä PostgreSQL:n `ADD COLUMN` kanssa. Tämä toiminto vaatii kaksi parametria: uuden sarakkeen nimen ja sen tietotyypin. Syntaksi on seuraava:

```postgresql
ALTER TABLE table_name ADD COLUMN column_name data_type;
```

Esimerkiksi näin voit lisätä osoitesarakkeen taulukkoon `customers`:

```postgresql
ALTER TABLE customers ADD COLUMN address VARCHAR(255);
```

Taulukko näyttää nyt tältä:

<table>
  <thead>
    <tr>
      <th>id</th>
      <th>nimi</th>
      <th>kaupunki</th>
      <th>osoite</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Lee</td>
      <td>Northampton</td>
      <td>NULL</td>
    </tr>
    <tr>
      <td>2</td>
      <td>Johnson</td>
      <td>Edinburgh</td>
      <td>NULL</td>
    </tr>
    <tr>
      <td>3</td>
      <td>Smith</td>
      <td>Brighton</td>
      <td>NULL</td>
    </tr>
  </tbody>
</table>

### Sarakkeen poistaminen, jossa on `DROP COLUMN`

Jos haluat poistaa sarakkeen taulukosta, käytä `ALTER TABLE` yhdessä toiminnon `DROP COLUMN` kanssa. Tässä riittää, että lisäät sarakkeen nimen parametriksi:

```postgresql
ALTER TABLE table_name DROP COLUMN column_name;
```

Poistaaksesi sarakkeen `city`, käytä seuraavaa koodia:

```postgresql
ALTER TABLE customers DROP COLUMN city;
```

Tämä supistaa taulukon kolmeen sarakkeeseen:

<table>
  <thead>
    <tr>
      <th>id</th>
      <th>nimi</th>
      <th>osoite</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Lee</td>
      <td>NULL</td>
    </tr>
    <tr>
      <td>2</td>
      <td>Johnson</td>
      <td>NULL</td>
    </tr>
    <tr>
      <td>3</td>
      <td>Smith</td>
      <td>NULL</td>
    </tr>
  </tbody>
</table>

### Sarakkeen nimen muuttaminen `RENAME COLUMN`:ksi

Voit myös nimetä olemassa olevan sarakkeen uudelleen. Tämä voi olla hyvä vaihtoehto sarakkeiden poistamiselle ja uudelleen lisäämiselle. `RENAME COLUMN` syntaksi on:

```postgresql
ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
```

Voit esimerkiksi muuttaa sarakkeen `name` sarakkeeksi `customer_name`:

```postgresql
ALTER TABLE customers RENAME COLUMN name TO customer_name;
```

Taulukko näyttää nyt tältä:

<table>
  <thead>
    <tr>
      <th>id</th>
      <th>asiakkaan\_nimi</th>
      <th>osoite</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Lee</td>
      <td>NULL</td>
    </tr>
    <tr>
      <td>2</td>
      <td>Johnson</td>
      <td>NULL</td>
    </tr>
    <tr>
      <td>3</td>
      <td>Smith</td>
      <td>NULL</td>
    </tr>
  </tbody>
</table>

### Lisätoiminnot PostgreSQL:lle versiossa `ALTER TABLE`

Tässä on muutamia muita tärkeimpiä toimintoja, joita voit käyttää `ALTER TABLE` kanssa:

Sarakkeen **tietotyypin** muuttaminen:

```postgresql
ALTER TABLE table_name ALTER COLUMN column_name TYPE data_type;
```

Varmistetaan, että jokaisella sarakkeen rivillä on arvo:

```postgresql
ALTER TABLE table_name ALTER COLUMN column_name SET NOT NULL;
```

Rajoitusten, kuten `UNIQUE` tai `PRIMARY KEY`, määrittäminen käyttämällä `ALTER TABLE` yhdessä `ADD CONSTRAINT` kanssa:

```postgresql
ALTER TABLE table_name ADD CONSTRAINT constraint_name constraint_definition;
```


This is a markdown version of: [https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/postgresql-alter-table/](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/postgresql-alter-table/) for AI/LLM consumption.