Sobes.tech
Junior

Jak změnit strukturu tabulky v relační databázi?

sobes.tech AI

Odpověď od AI

Struktura tabulky v relační databázi se mění pomocí SQL příkazů ALTER TABLE.

Hlavní akce:

  • Přidání sloupce
  • Odstranění sloupce
  • Změna datového typu sloupce
  • Přidání/odstranění omezení (PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK, DEFAULT)
  • Přejmenování tabulky
  • Přejmenování sloupce

Příklady příkazů ALTER TABLE:

-- Přidání sloupce 'email' typu VARCHAR(255) s omezením NOT NULL do tabulky 'users'
ALTER TABLE users
ADD COLUMN email VARCHAR(255) NOT NULL;
-- Odstranění sloupce 'phone' z tabulky 'users'
ALTER TABLE users
DROP COLUMN phone;
-- Změna datového typu sloupce 'age' v tabulce 'users' na INTEGER
ALTER TABLE users
ALTER COLUMN age TYPE INTEGER;
-- Přidání omezení UNIQUE na sloupec 'username' v tabulce 'users'
ALTER TABLE users
ADD CONSTRAINT unique_username UNIQUE (username);
-- Odstranění omezení Foreign Key s názvem 'fk_user_group' z tabulky 'user_groups'
ALTER TABLE user_groups
DROP CONSTRAINT fk_user_group;
-- Přejmenování tabulky 'customers' na 'clients'
ALTER TABLE customers
RENAME TO clients;
-- Přejmenování sloupce 'first_name' na 'given_name' v tabulce 'users' (syntax se může lišit)
ALTER TABLE users
RENAME COLUMN first_name TO given_name;

Důležité:

  • Přítomnost dat v tabulce: změna datového typu nebo odstranění sloupce může vést ke ztrátě nebo nesprávným datům.
  • Závislosti: odstranění sloupce nebo změna omezení může narušit funkčnost souvisejících tabulek (například kvůli cizím klíčům).
  • Výkon: složité operace ALTER TABLE na velkých tabulkách mohou být náročné na zdroje a mohou blokovat přístup k tabulce během provádění.

Doporučuje se tyto změny nejprve provést v testovacím prostředí před nasazením do produkce a zálohovat data.