Junior
İlişkisel veritabanında bir tablonun yapısını nasıl değiştirebilirsiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bir ilişkisel veritabanındaki tablo yapısı, SQL komutları ALTER TABLE kullanılarak değiştirilir.
Ana işlemler:
- Sütun ekleme
- Sütun silme
- Bir sütunun veri türünü değiştirme
- Kısıtlamalar ekleme/silme (PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK, DEFAULT)
- Tabloyu yeniden adlandırma
- Sütunu yeniden adlandırma
ALTER TABLE komutlarına örnekler:
-- 'users' tablosuna NOT NULL kısıtlamasıyla VARCHAR(255) türünde 'email' sütunu ekleme
ALTER TABLE users
ADD COLUMN email VARCHAR(255) NOT NULL;
-- 'users' tablosundan 'phone' sütununu silme
ALTER TABLE users
DROP COLUMN phone;
-- 'users' tablosundaki 'age' sütununun veri türünü INTEGER olarak değiştirme
ALTER TABLE users
ALTER COLUMN age TYPE INTEGER;
-- 'users' tablosundaki 'username' sütununa UNIQUE kısıtlaması ekleme
ALTER TABLE users
ADD CONSTRAINT unique_username UNIQUE (username);
-- 'user_groups' tablosundan 'fk_user_group' adlı Foreign Key kısıtlamasını silme
ALTER TABLE user_groups
DROP CONSTRAINT fk_user_group;
-- 'customers' tablosunu 'clients' olarak yeniden adlandırma
ALTER TABLE customers
RENAME TO clients;
-- 'users' tablosunda 'first_name' sütununu 'given_name' olarak yeniden adlandırma (sözdizimi değişebilir)
ALTER TABLE users
RENAME COLUMN first_name TO given_name;
Önemli noktalar:
- Tablo içinde veri olması: Veri türünü değiştirmek veya sütunu silmek, veri kaybına veya hatalı verilere yol açabilir.
- Bağımlılıklar: Sütunu silmek veya kısıtlamaları değiştirmek, ilişkili tabloların çalışmasını bozabilir (örneğin, dış anahtarlar nedeniyle).
- Performans: Büyük tablolarda karmaşık
ALTER TABLEişlemleri kaynak yoğun olabilir ve işlem sırasında tabloya erişimi engelleyebilir.
Bu değişikliklerin üretim ortamında uygulanmadan önce test ortamında yapılması ve veri yedeklerinin alınması önerilir.