# Kaip pridėti arba pašalinti stulpelius PostgreSQL naudojant ALTER TABLE

PostgreSQL komanda `ALTER TABLE` leidžia pridėti arba keisti duomenų bazių lentelių stulpelius.

## Kas yra „PostgreSQL `ALTER TABLE`“?

PostgreSQL komanda `ALTER TABLE` gali būti naudojama duomenų bazės **lentelėms keisti**. Ši komanda leidžia prireikus pridėti, pašalinti arba pakeisti lentelės stulpelius. Ji taip pat gali būti naudojama duomenų bazės valdymo sistemoje nustatyti arba panaikinti lentelės apribojimus. Norint naudoti šią komandą, ją reikia derinti su konkrečiu veiksmu.

## Kokia yra skaičiaus `ALTER TABLE` rašybos forma?

Norėdami geriau suprasti, kaip naudoti `ALTER TABLE`, pirmiausia pažvelkime į jo sintaksę:

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

Po komandos reikia nurodyti lentelės, kurią norite pakeisti, pavadinimą ir pasirinkti atitinkamą veiksmą, kurį norite atlikti.

Tip Norėdami sukurti naują lentelę, galite naudoti komandą [CREATE TABLE](https://www.ionos.com/lt-lt/digitalguide/serveris/konfiguracija/postgresql-create-table/) PostgreSQL sistemoje.

## „PostgreSQL `ALTER TABLE` pavyzdžiai

Toliau paprastu pavyzdžiu parodysime, kaip veikia `ALTER TABLE` “. Naudosime lentelę pavadinimu `customers`, kurioje yra trys stulpeliai ir trys eilutės:

<table>
  <thead>
    <tr>
      <th>id</th>
      <th>pavadinimas</th>
      <th>miestas</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Lee</td>
      <td>Northampton</td>
    </tr>
    <tr>
      <td>2</td>
      <td>Johnson</td>
      <td>Edinburgas</td>
    </tr>
    <tr>
      <td>3</td>
      <td>Smith</td>
      <td>Braitonas</td>
    </tr>
  </tbody>
</table>

Naudodami `ALTER TABLE`, šią lentelę galime koreguoti įvairiais būdais.

### Stulpelio pridėjimas naudojant „PostgreSQL `ADD COLUMN`

Norėdami pridėti naują stulpelį, naudokite `ALTER TABLE` kartu su PostgreSQL veiksmu `ADD COLUMN`. Šiam veiksmui reikalingi du parametrai: naujo stulpelio pavadinimas ir jo duomenų tipas. Sintaksė yra tokia:

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

Pavyzdžiui, štai kaip galite pridėti stulpelį „Adresas“ prie lentelės `customers` “:

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

Štai kaip lentelė atrodo dabar:

<table>
  <thead>
    <tr>
      <th>id</th>
      <th>pavadinimas</th>
      <th>miestas</th>
      <th>adresas</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>Edinburgas</td>
      <td>NULL</td>
    </tr>
    <tr>
      <td>3</td>
      <td>Smith</td>
      <td>Braitonas</td>
      <td>NULL</td>
    </tr>
  </tbody>
</table>

### Stulpelio su `DROP COLUMN` pašalinimas

Norėdami pašalinti stulpelį iš lentelės, naudokite `ALTER TABLE` su `DROP COLUMN` veiksmu. Čia kaip parametrą reikia nurodyti tik stulpelio pavadinimą:

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

Norėdami pašalinti `city` stulpelį, naudokite šį kodą:

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

Taip lentelė susiaurinama iki trijų stulpelių:

<table>
  <thead>
    <tr>
      <th>id</th>
      <th>vardas</th>
      <th>adresas</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>

### Stulpelio pavadinimo keitimas su `RENAME COLUMN`

Taip pat galite pervardyti esamą stulpelį. Tai gali būti gera alternatyva stulpelių ištrinimui ir vėlesniam jų pridėjimui iš naujo. Sintaksė yra `RENAME COLUMN`:

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

Pavyzdžiui, `name` stulpelį galite pakeisti į `customer_name`:

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

Štai kaip lentelė atrodo dabar:

<table>
  <thead>
    <tr>
      <th>id</th>
      <th>kliento\_vardas</th>
      <th>adresas</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>

### Papildomos PostgreSQL operacijos `ALTER TABLE`

Štai keletas kitų pagrindinių veiksmų, kuriuos galite atlikti naudodami `ALTER TABLE`“:

Stulpelio **duomenų tipo** keitimas:

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

Užtikrinti, kad kiekvienas stulpelio įrašas turėtų reikšmę:

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

Apribojimų, pavyzdžiui, `UNIQUE` arba `PRIMARY KEY`, nustatymas naudojant `ALTER TABLE` kartu su `ADD CONSTRAINT`:

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


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