SQL Alter Komutu, Tablo Üzerinde Degisiklik Yapmak

SQL ALTER TABLE KOMUTU

Bazen mevcut tablomuzda degisiklik yapmamiz gerekir. Var olan tabloya bir alan eklemek, var olan alanin adini, tipi ,boyutunu vs. degistirmek gibi. Bu tür tablo düzenleme islemleri için SQL’in “ALTER” komutunu kullaniyoruz. Bu makalemizde,SQL Alter komutu ile yapabilecegimiz islemleri tek tek inceleyecegiz. Öncelikle örnek olarak kullanabilecegimiz bir tablo olusturuyoruz.Tablomuzun adi Personel.

Create scripti:

CREATE TABLE Personel 
( 
   Id int, 
   Adi vharchar(50), 
   Soyadi vharchar(50), 
   DogumTarihi DateTime 
)

Tabloya yeni kolon eklemek:

Mevcut tablomuza yeni bir alan eklemek için kullanilan genel ifade:.

ALTER TABLE Tablo_adi 
ADD Alan_adi Alan_türü

Örnek olarak Personel tablomuza Dogum yeri için bir alan açalim:

Alter Table Personel 
Add DogumYeri vharchar(50)

Ekledigimiz alana ait özellikleri daha da özelleştirebiliriz. Mesela Cinsiyet adinda, tipi bit olan bir alan ekleyelim, boş olamasın, ve default değeri False olsun

Alter Table Personel 
Add Cinsiyet Bit Not Null Default ((0))

Tabloya birden çok kolon eklemek:

Mevcut tablomuza tek seferde birden çok alan eklemek için genel ifade:

ALTER TABLE Tablo_adi 
ADD (Alan_adi1 Alan_türü1, Alan_adi2 Alan_türü2, …)

 Örnek olarak Personel tablomuza Tc Kimlik numarasi ve SSK numarasi için bir alan açalım:

Alter Table Personel 
Add ( TCKimlikNo int not null, SSKNo int null)

Tabloya Primary Key eklemek:

Mevcut tablomuza bulunan bir alani primary key yapmak için kullanilan genel ifade:

ALTER TABLE Tablo_adi 
ADD PRIMARY KEY (Alan_adi)

 Örnek olarak Personel tablomuza bulunan Id alanini Primary key yapalim:

Alter Table Personel 
Add Primary Key (Id)

Mevcut tablomuza yeni bir alan ekleyip, primary key yapmak için kullanilan genel ifade:

ALTER TABLE Tablo_adi 
ADD Alan_adi Not Null PRIMARY KEY

Örnek olarak Personel tablomuza ID2 adinda bir alan ekleyip, Primary key yapalim:

Alter Table Personel 
Add ID2 int Not Null IDENTITY(1,1) Primary Key

Tablodaki alanin Primary Key özelligini silmek: Mevcut tablomuza bulunan primary key alanin bu özelligini kaldirmak için kullanilan genel ifade:

ALTER TABLE Tablo_adi DROP CONSTRAINT Alan_adi

 Örnek olarak Personel tablomuza bulunan Id alaninin Primary key özelligini kaldiralim:

Alter Table Personel Drop Constraint Id

Tablodaki kolonun adini degistirmek:

Mevcut tablomuzdaki bir alanin adini degistirmek için kullanilan genel ifade:

Oracle için:

ALTER TABLE Tablo_adi 
CHANGE alan_adi_eski to alan_adi_yeni

Örnek olarak Personel tablomuza ekledigimiz “TCKimlikNo” alaninin adini TcNo yapalim:

Alter Table Personel Change TCKimlikNo to TcNo

MySql için:

ALTER TABLE Tablo_adi RENAME COLUMN alan_adi_eski to alan_adi_yeni

Örnek olarak Personel tablomuza ekledigimiz “TCKimlikNo” alaninin adini TcNo yapalim:

Alter Table Personel Rename Column TCKimlikNo to TcNo

Sql server için:

EXEC sp_rename ' Tablo_adi.[alan_adi_eski]', alan_adi_yeni, 'COLUMN'

Örnek olarak Personel tablomuza ekledigimiz “TCKimlikNo” alaninin adini TcNo yapalim:

EXEC sp_rename Personel.[TCKimlikNo], TcNo ,'COLUMN'

Tablodaki kolona ait bilgileri degistirmek:

Mevcut tablomuzda var olan bir alanin bilgilerini degistirmek için kullanilsan genel ifade:

ALTER TABLE Tablo_adi ALTER COLUMN alan_adi alan_türü

Örnek olarak Personel tablomuza yukarda ekledigimiz SSK numarasinin tipini varchar olarak degistirelim:.

Alter Table Personel Alter Column SSKNo Varchar(20)

Bu komutu kullanarak alana ait ‘Allow Null’, yani bos birakma özelligini de degistirebilirz. Örnek olarak doldurulmasi zorunlu yaptigimiz TCKimlik Numarasi nullable yapalim:

Alter Table Personel Alter Column TcNo int null

Tablodaki bir kolonu silmek:

Mevcut tablomuzda var olan bir alani silmek için kullanilan genel ifade:

ALTER TABLE Tablo_adi DROP COLUMN alan_adi

Örnek olarak Personel tablomuza yukarda ekledigimiz SSK numarasi alanini silelim:

Alter Table Personel Drop Column SSKNo

Tablomuzda bulunan bir alani sildigimizde, o alandaki bütün datalar silinir. Eger sildigimiz alan composite primary key ise, hem o alan silinir hem de tabloda yinelenen kayitlar silinir.

Tablodaki bir kolona index eklemek /indexi kaldirmak: Mevcut tablomuzda var olan bir alana index eklemek için kullanilan genel ifade:

ALTER TABLE Tablo_adi ADD INDEX Index_Adi (alan_adi)

Örnek olarak Personel tablomuzda bulunan ‘Adi’ alanini indexleyelim:

Alter Table Personel Add index Index1 (Adi)

Mevcut tablomuzda var olan bir indexi silmek için kullanilan genel ifade:

ALTER TABLE Tablo_adi DROP INDEX Index_Adi

Örnek olarak Personel tablomuzda bulunan ‘Adi’ alaninin indexini silelim:

Alter Table Personel Drop index Index1

Tablodaki bir kolona Constraint eklemek / Constrainti kaldirmak:Mevcut tablomuzda var olan bir alana Constraint eklemek  için kullanilan genel ifade:

ALTER TABLE Tablo_adi ADD CONSTRAINT constraint_Adi UNIQUE (alan_adi)

Örnek olarak Personel tablomuzda bulunan ‘TCNo’ alanina Constraint ekleyelim:

Alter Table Personel Add constraint constraint1 Unique (TCNo)

Mevcut tablomuzda var olan bir Constraint i silmek için kullanilan genel ifade:

ALTER TABLE Tablo_adi DROP CONSTRAINT constraint_Adi

 Örnek olarak Personel tablomuzda bulunan ‘TCNo’ alaninin constraintini silelim:

Alter Table Personel Drop constraint constraint1

Tablonun adini degistirmek:

Mevcut tablomuzun adini degistirmek için kullanilan genel ifade:

ALTER TABLE Tablo_adi_eski RENAMA TO Tablo_adi_yeni

Örnek olarak Personel tablomuzun adini “Calisan” olarak degistirelim :

Alter Table Personel Rename to Calisan

11 thoughts on “SQL Alter Komutu, Tablo Üzerinde Degisiklik Yapmak

  1. Merhaba, bende ALTER TABLE kisiler DROP COLUMN isim; Niyese çalışmıyor. Ne yapa bilirim?

  2. [QUOTE=isimsiz]

    ya arkadas vharchar ne yaaaaaa yarim saattir ugrasiyorum Allah sizi kahretmesin sunu düzeltin insanlar sqlden soguyacak.

    [/QUOTE]

    varchar kullanymy böyle
  3. Ülkemizde bu sekilde makale paylasim sayisi azligindan yakiniyoruz biz senin söyledigin seylere bak. Sen yat kalk paylasanlara dua et. Yarin öbür gün bir kod aklina gelmedigi zaman acip bakabilecegin türkce bir kaynak var. Yazarin ellerine saglik.

  4. isimsiz, uyari için tesekkürler. gözden kaçmis. ama sende baya arastirma yapmis ve tüm sql tiplerini ögrenmissindir iste 🙂

  5. ya arkadas vharchar ne yaaaaaa yarim saattir ugrasiyorum Allah sizi kahretmesin sunu düzeltin insanlar sqlden soguyacak.

  6.  sende cok kotü bir yorumcusun 🙂 neden kötu oldugunu söylersen daha faydali olursun bence

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir