Ana içeriğe atla

SQL'de ALTER TABLE Deyimine Giriş

Bu eğitimde, SQL'de ALTER TABLE deyimini nasıl kullanacağınızı ve uygulayacağınızı öğreneceksiniz.
Güncel 3 Eki 2026  · 7 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

SQL'de temel olarak üç tür komut vardır -

  • DDL - Veri Tanımlama Dili (Data Definition Language). Veritabanını tanımlamak için kullanılan SQL komutlarını kapsar; tabloların oluşturulması, özelliklerin belirlenmesi, tabloların değiştirilmesi vb. DDL'ye örnek olarak CREATE, DROP, ALTER verilebilir. DDL komutlarıyla yapılan değişiklikler geri alınamaz.

  • DML - Veri İşleme Dili (Data Manipulation Language). Seçme, ekleme, güncelleme ve silme sorgularını çalıştırmanıza olanak tanır. DML komutlarıyla yapılan değişiklikler geri alınabilir. Örnekler: SELECT, INSERT, UPDATE ve DELETE.

  • DCL - Veri Denetim Dili (Data Control Language). Veritabanı sisteminizin haklarını, izinlerini ve diğer denetimlerini belirtmenize olanak tanır.

Bu eğitimde, doğası gereği bir DDL olan ALTER TABLE deyiminin kullanımını göreceksiniz. Aşağıdaki içerikler bu eğitimde ele alınacaktır -

  • ALTER TABLE deyimine duyulan ihtiyaç
  • PostgreSQL veritabanında tablo oluşturma
  • PostgreSQL'de farklı ALTER TABLE deyimlerini çalıştırma

Not: Bu eğitim, PostgreSQL'de nasıl tablo oluşturulacağını, tabloya veri ekleneceğini veya tablodan veri seçileceğini öğretmeyecektir. Bu konuları tazelemek isterseniz, bu makaleye göz atabilirsiniz.

ALTER TABLE Deyimine Duyulan İhtiyaç

Bir veritabanının özellikleri zamanla değişebilir. Örneğin belirli bir tabloya bir sütun eklemeniz gerekebilir ya da bir tabloya başka bir birincil anahtar eklemeniz gerekebilir. Ayrıca bir tablodaki belirli bir sütunun veri türünü değiştirmeniz de gerekebilir. Bir tabloyu silip baştan oluşturmak çoğu zaman mümkün olmayabilir. Alter Table deyimi tüm bunları oldukça sorunsuz yapmanızı sağlar. Alter Table ile şunları yapabilirsiniz -

  • Bir sütun eklemek, değiştirmek veya silmek
  • Bir kısıt eklemek veya silmek

Kısıtları etkinleştirip devre dışı da bırakabilirsiniz, ancak bu bu eğitimin kapsamı dışındadır.

Yukarıdaki kullanım örneklerinin her birini bu eğitimde göreceksiniz, ancak önce başlamak için PostgreSQL'de bir tabloya ihtiyacınız olacak. Sonraki bölümde basit bir tablo oluşturacaksınız.

PostgreSQL veritabanında bir tablo oluşturma

PostgreSQL'de (pgAdmin aracını kullanarak) aşağıdaki sütunlar ve veri türleriyle student_details adlı bir tablo oluşturacaksınız -

  • student_id (integer)
  • student_full_name (character)
  • student_year (integer)

Sadece üç sütundan oluşan bu tabloyla başlayacaksınız. Daha sonra, eğitim boyunca ilerledikçe bu tabloya daha fazla sütun ekleyecek ve tabloyu farklı şekillerde değiştireceksiniz. Aşağıdaki create sorgusu, yukarıdaki özelliklere uygun bir tablo oluşturacaktır -

CREATE TABLE student_details(
 student_id SERIAL,
 student_full_name VARCHAR (50),
 student_year VARCHAR (100)
);

Bu tabloya birkaç kayıt da ekleyelim -

  • INSERT INTO student_details(student_full_name, student_year) VALUES('John Doe','1st');
  • INSERT INTO student_details(student_full_name, student_year) VALUES('Chris Villa','3rd');

student_id sütununun veri türü SERIAL olarak ayarlandığından, PostgreSQL sütun değerini otomatik olarak artırır ve bu veri türünü varsayılan olarak integer olarak yorumlar.

student_details tablosu şu şekilde görünmelidir -

student_details tablosu

Artık PostgreSQL'de bir tablonuz hazır. Şimdi bir sonraki bölümde Alter Table'ın farklı bir uygulamasını görelim.

PostgreSQL'de farklı ALTER TABLE deyimlerini çalıştırma

Bu bölümde, yukarıda belirtildiği gibi Alter Table deyiminin kullanımını iki açıdan göreceksiniz -

  • Bir sütun eklemek, değiştirmek ve silmek
  • Bir kısıt eklemek ve silmek

Bir sütun eklemek, değiştirmek veya silmek

Tabloya karakter türünde student_grade adlı bir sütun daha ekleyerek başlayalım -

ALTER TABLE student_details ADD student_grade VARCHAR(5);

Şimdi, tablo aşağıdaki gibi olmalıdır -

student_grade sütunlu student_details tablosu

Girdiğiniz kayıtlar için student_grade sütunundaki değerlerin null olduğuna dikkat edin. Bu durum çoğu İlişkisel Veritabanı Yönetim Sistemi tarafından örtük olarak yapılır. Ancak bir güncelleme sorgusu çalıştırarak değerleri güncelleyebilirsiniz. Şimdi Alter Table kullanarak bir sütunun nasıl değiştirileceğine bakalım. student_year sütununun izin verilen en yüksek boyutunu 100'den 10'a düşüreceksiniz; çünkü sadece üç karakter için (student_year 1st, 2nd veya 3rd olabilir) çok fazla alan ayırmak pratik değildir.

ALTER TABLE student_details ALTER COLUMN student_year TYPE VARCHAR(10);

Sonucu aşağıdaki şekilde görebilirsiniz -

student_year (10) ile student_details tablosu

Bir sütunun adını da değiştirebilirsiniz. Nasıl yapıldığına bakalım -

ALTER TABLE student_details RENAME student_id TO student_roll;

Yukarıdaki sorgu, student_id sütununun adını student_roll olarak değiştirir. Bunu bir select sorgusuyla da doğrulayabilirsiniz; sonucunuz aşağıdaki şekle benzer olmalıdır -

student_roll olarak yeniden adlandırılmış sütunla student_details tablosu

Şimdi bir tablodan nasıl sütun düşürebileceğinizi görelim -

ALTER TABLE student_details DROP COLUMN student_year;

Bu sorgu student_year sütununu düşürür ve sorgu çalıştırıldıktan sonra tablo şöyle olmalıdır -

student_year sütunu düşürüldükten sonra student_details tablosu

Düşürdüğünüz sütuna başka bir tablo tarafından başvuruluyorsa, başvuru bütünlüğü ihlali hataları alabileceğinizi unutmayın.

Şimdi tabloya nasıl kısıt ekleneceğini ve kısıtın nasıl düşürüleceğini göreceksiniz.

Bir kısıt eklemek ve düşürmek.

student_details tablosunda birincil anahtar yok. Birincil anahtar, not null ve unique kısıtlarının birleşimidir. student_roll sütununu (student_id'den güncellenmişti) student_details tablosunun birincil anahtarı olarak belirtelim -

ALTER TABLE student_details ADD PRIMARY KEY (student_roll);

Başka kısıtlar da ekleyebilirsiniz; örneğin, student_grade sütununa bir check kısıtı ekleyerek değerlerinin her zaman A, B veya C olmasını sağlayabilirsiniz.

ALTER TABLE student_details ADD CONSTRAINT year_check CHECK (student_grade IN ('A', 'B', 'C'));

year_check, tabloya eklediğiniz kısıt için bir yer tutucudur. Şimdi tabloya aşağıdaki girişi eklemeye kalkarsanız bir hata almanız gerekir -

INSERT INTO student_details(student_full_name, student_grade) VALUES('David Lune','3rd');

Hata aşağıdaki gibi görünür -

hata sonucu

Bir kısıtı düşürmek de benzerdir. Düşürmek istediğiniz kısıtın adını belirtmeniz gerekir. year_check adını verdiğiniz kısıtı düşürelim -

ALTER TABLE student_details DROP CONSTRAINT year_check;

Bunu doğrulayalım. year_check kısıtı gerçekten düşürüldüyse, şu sorgu INSERT INTO student_details(student_full_name, student_grade) VALUES('David Lune','3rd'); herhangi bir hataya neden olmamalıdır. Tablo artık kaydı içermektedir -

nihai tablo

Diğer check kısıtlarıyla da deneyebilirsiniz.

Bu eğitim bu kadar!

Bu eğitim, bir tablonun şemasını etkin bir şekilde değiştirmek için Alter Table deyimini tanıttı. SQL becerilerinizi bir üst seviyeye taşımak isterseniz, DataCamp'in sunduğu aşağıdaki kurslar ilginizi çekebilir -

Konular
SQL

SQL Kursları

Kurs

SQL ile Keşifsel Veri Analizi

4 sa
189.5K
Veritabanında bulunanları keşfetmeyi öğrenin: tablolar, tablolar arasındaki ilişkiler ve tabloların içinde depolanan veriler.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör