# Kā pievienot vai dzēst kolonnas PostgreSQL, izmantojot ALTER TABLE

PostgreSQL komanda ``ALTER TABLE`` ļauj pievienot vai mainīt datu bāzes tabulu kolonnas.

## Kas ir PostgreSQL `ALTER TABLE`?

PostgreSQL komandu `ALTER TABLE` var izmantot, lai **veiktu izmaiņas** datubāzes **tabulās**. Šī komanda ļauj pēc nepieciešamības pievienot, dzēst vai pielāgot tabulas kolonnas. To var izmantot arī, lai datubāzes pārvaldības sistēmā ieviestu vai atceltu ierobežojumus tabulai. Lai izmantotu šo komandu, tā jāapvieno ar konkrētu darbību.

## Kāda ir skaitļa `ALTER TABLE` sintakse?

Lai labāk izprastu, kā lietot `ALTER TABLE`, vispirms aplūkosim tās sintaksi:

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

Pēc komandas ir jānorāda tās tabulas nosaukums, kuru vēlaties mainīt, un jāizvēlas atbilstošā darbība, lai veiktu vēlamās izmaiņas.

Tip Lai izveidotu jaunu tabulu, PostgreSQL var izmantot komandu [CREATE TABLE](https://www.ionos.com/lv-lv/digitalguide/serveris/konfiguracija/postgresql-create-table/).

## PostgreSQL `ALTER TABLE` piemēri

Turpinājumā mēs parādīsim, kā darbojas `ALTER TABLE`, izmantojot vienkāršu piemēru. Mēs izmantosim tabulu ar nosaukumu `customers`, kurā ir trīs kolonnas un trīs rindas:

<table>
  <thead>
    <tr>
      <th>id</th>
      <th>vārds</th>
      <th>pilsēta</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Lee</td>
      <td>Northampton</td>
    </tr>
    <tr>
      <td>2</td>
      <td>Džonsons</td>
      <td>Edinburga</td>
    </tr>
    <tr>
      <td>3</td>
      <td>Smits</td>
      <td>Braitona</td>
    </tr>
  </tbody>
</table>

Mēs varam pielāgot šo tabulu dažādos veidos, izmantojot `ALTER TABLE`.

### Kolonnas pievienošana PostgreSQL `ADD COLUMN`

Lai pievienotu jaunu kolonnu, izmantojiet `ALTER TABLE` kopā ar PostgreSQL darbību `ADD COLUMN`. Šai darbībai ir nepieciešami divi parametri: jaunas kolonnas nosaukums un tās datu tips. Sintakse ir šāda:

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

Piemēram, šādi varat pievienot adreses sleju tabulai `customers` “:

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

Šādi tabula izskatās tagad:

<table>
  <thead>
    <tr>
      <th>id</th>
      <th>vārds</th>
      <th>pilsēta</th>
      <th>adrese</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Lee</td>
      <td>Northampton</td>
      <td>NULL</td>
    </tr>
    <tr>
      <td>2</td>
      <td>Džonsons</td>
      <td>Edinburga</td>
      <td>NULL</td>
    </tr>
    <tr>
      <td>3</td>
      <td>Smits</td>
      <td>Braitona</td>
      <td>NULL</td>
    </tr>
  </tbody>
</table>

### Kolonnas ar `DROP COLUMN` izdzēšana

Lai no tabulas izdzēstu kolonnu, izmantojiet `ALTER TABLE` kopā ar `DROP COLUMN` darbību. Šajā gadījumā kā parametru ir jānorāda tikai kolonnas nosaukums:

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

Lai noņemtu `city` sleju, izmantojiet šādu kodu:

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

Tādējādi tabula tiek samazināta līdz trim slejām:

<table>
  <thead>
    <tr>
      <th>id</th>
      <th>vārds</th>
      <th>adrese</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>Smits</td>
      <td>NULL</td>
    </tr>
  </tbody>
</table>

### Kolonnas pārdēvēšana ar `RENAME COLUMN`

Jūs varat arī pārdēvēt esošu kolonnu. Tas var būt labs risinājums, lai izvairītos no kolonnu dzēšanas un to atkārtotas pievienošanas. Sintakse `RENAME COLUMN` ir:

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

Piemēram, varat mainīt `name` sleju uz `customer_name`.:

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

Šādi tabula izskatās tagad:

<table>
  <thead>
    <tr>
      <th>id</th>
      <th>klienta\_vārds</th>
      <th>adrese</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>Smits</td>
      <td>NULL</td>
    </tr>
  </tbody>
</table>

### Papildu PostgreSQL darbības `ALTER TABLE` datumā

Šeit ir vēl dažas galvenās darbības, ko varat veikt, izmantojot `ALTER TABLE`:

Kolonnas **datu tipa** maiņa:

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

Pārliecināties, ka katram ierakstam ailē ir vērtība:

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

Ierobežojumu, piemēram, `UNIQUE` vai `PRIMARY KEY`, noteikšana, izmantojot `ALTER TABLE` kopā ar `ADD CONSTRAINT`:

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


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