# Kuinka luoda taulukoita PostgreSQL:n CREATE TABLE -komennolla

PostgreSQL: `CREATE TABLE` ento `CREATE TABLE` käytetään uusien taulukoiden luomiseen tietokantaan. Tätä komentoa käytettäessä voit myös määrittää erilaisia asetuksia taulukolle ja yksittäisille sarakkeille.

## Mikä on PostgreSQL `CREATE TABLE`?

PostgreSQL: n `CREATE TABLE` **CREATE** `CREATE TABLE` komentoa käytetään **uuden taulukon luomiseen olemassa olevaan tietokantaan**. Uutta taulukkoa luotaessa sinun on määritettävä sille yksilöllinen nimi sekä annettava jokaiselle sarakkeelle nimi ja tietotyyppi. Kun luot taulukoita tässä suositussa tietokannan hallintajärjestelmässä, voit myös määrittää rajoituksia joko taulukon kaikille sarakkeille tai yksittäisille sarakkeille.

Vinkki Jos haluat muokata taulukon asetuksia myöhemmin, voit käyttää [ALTER TABLE](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/postgresql-alter-table/) -komentoa sarakkeiden muokkaamiseen tarpeen mukaan.

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

PostgreSQL `CREATE TABLE`:n perusrakenteet ovat seuraavat:

```postgresql
CREATE TABLE table_name(
column1 data_type PRIMARY KEY,
column2 data_type,
column3 data_type,
…
);
```

Komento `CREATE TABLE` käskee PostgreSQL:ää **luomaan uuden taulukon**. Komennon perässä tulee taulukon nimi, jonka on oltava yksilöllinen. Taulukon nimen perään kirjoitetaan sulkeet, joiden sisälle määritellään eri sarakkeiden nimet ja niiden vastaavat tietotyypit.

Jos haluat lisätä rajoituksia, syntaksi muuttuu:

```postgresql
CREATE TABLE table_name(
column1 data_type PRIMARY KEY constraint,
column2 data_type constraint,
column3 data_type constraint,
…
);
```

Kohdan `PRIMARY KEY` lisäksi PostgreSQL tukee myös seuraavia rajoituksia:

- `NOT NULL`: Varmistaa, ettei sarakkeessa voi olla `NULL` arvoa
- `UNIQUE`: Varmistaa, että kaikki sarakkeen tai sarakkeiden yhdistelmän arvot ovat yksilöllisiä
- `CHECK`: Määrittelee ehdot, jotka on täytettävä tietojen lisäämisen tai päivittämisen yhteydessä
- `FOREIGN KEY`: Luo suhteen toisen taulukon sarakkeeseen
- `DEFAULT`: Määrittää sarakkeen oletusarvon, jos nimenomaista arvoa ei ole annettu

## PostgreSQL `CREATE TABLE` -esimerkki

Jotta voimme havainnollistaa, miten `CREATE TABLE` toimii PostgreSQL:ssä, luomme taulukon nimeltä `customer_list`. Taulukossa on neljä saraketta: `id`, `name`, `country` ja `address`. Sarakkeen `id` arvoksi on määritetty `PRIMARY KEY`. Rajoitusta `NOT NULL` käytetään varmistamaan, että sarakkeet `id` ja `name` sisältävät arvoja. Koodi näyttää seuraavalta:

```postgresql
CREATE TABLE customer_list(
id INT PRIMARY KEY NOT NULL,
name VARCHAR(50) NOT NULL,
country VARCHAR(50),
address VARCHAR(255)
);
```

Tämä komento luo tyhjän taulukon, jonka nimi ja sarakkeet on määritelty koodissa. Voit nyt syöttää taulukkoon tietoja. Kun taulukko on täytetty tiedoilla, se voi näyttää esimerkiksi tältä:

<table>
  <thead>
    <tr>
      <th>id</th>
      <th>nimi</th>
      <th>maa</th>
      <th>osoite</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Emily Esimerkki</td>
      <td>Yhdistynyt kuningaskunta</td>
      <td>123 High St, Anytown, W1 4GH</td>
    </tr>
    <tr>
      <td>2</td>
      <td>…</td>
      <td>…</td>
      <td>…</td>
    </tr>
    <tr>
      <td>3</td>
      <td>…</td>
      <td>…</td>
      <td>…</td>
    </tr>
  </tbody>
</table>

### Kuinka tarkistaa taulukoita käyttämällä `\d`

Komento `\d` listaa kaikki tietokannan taulukot, ja sen avulla voi tarkistaa, onko taulukko luotu onnistuneesti. Näin se tehdään:

```postgresql
testdb-# \d
```

Tällä komennolla voit myös hakea taulukosta yksityiskohtaisen kuvauksen. Käytämme edellä mainittua taulukkoa esimerkkinä siitä, miltä tätä varten kirjoitettava koodi näyttää:

```postgresql
testdb-# \d customer_list
```


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