21 Mayıs 2013 Salı

SQL ALTER TABLE KOMUTU


Bazen mevcut tablomuzda değişiklik yapmamız gerekir. Var olan tabloya bir alan eklemek, var olan alanın adını, tipi ,boyutunu vs. değiştirmek gibi. Bu tür tablo düzenleme işlemleri için SQL’in “ALTER” komutunu kullanıyoruz. Bu makalemizde,SQL Alter komutu ile yapabileceğimiz işlemleri tek tek inceleyeceğiz. Öncelikle örnek olarak kullanabileceğimiz bir tablo oluşturuyoruz.Tablomuzun adı 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 kullanılan genel ifade:
Click here to find out more!
ALTER TABLE Tablo_adı
ADD Alan_adı Alan_türü
Örnek olarak Personel tablomuza Doğum yeri için bir alan açalım:
Alter Table Personel
Add DogumYeri vharchar(50)
Eklediğimiz alana ait özellikleri daha da özelleştirebiliriz. Mesela Cinsiyet adında, 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_adı
ADD (Alan_adı1 Alan_türü1, Alan_adı2 Alan_türü2, …)
Örnek olarak Personel tablomuza Tc Kimlik numarası ve SSK numarası 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 alanı primary key yapmak için kullanılan genel ifade:
ALTER TABLE Tablo_adı
ADD PRIMARY KEY (Alan_adı)
Örnek olarak Personel tablomuza bulunan Id alanını Primary key yapalım:
Alter Table Personel
Add Primary Key (Id)
Mevcut tablomuza yeni bir alan ekleyip, primary key yapmak için kullanılan genel ifade:
ALTER TABLE Tablo_adı
ADD Alan_adı Not Null PRIMARY KEY
Örnek olarak Personel tablomuza ID2 adında bir alan ekleyip, Primary key yapalım:
Alter Table Personel
Add ID2 int Not Null IDENTITY(1,1) Primary Key
Tablodaki alanın Primary Key özelliğini silmek: Mevcut tablomuza bulunan primary key alanın bu özelliğini kaldırmak için kullanılan genel ifade:
ALTER TABLE Tablo_adı DROP CONSTRAINT Alan_adı
Örnek olarak Personel tablomuza bulunan Id alanının Primary key özelliğini kaldıralım:
Alter Table Personel Drop Constraint Id

Tablodaki kolonun adını değiştirmek:

Mevcut tablomuzdaki bir alanın adını değiştirmek için kullanılan genel ifade:

Oracle için:

ALTER TABLE Tablo_adı
CHANGE alan_adı_eski to alan_adı_yeni
Örnek olarak Personel tablomuza eklediğimiz “TCKimlikNo” alanının adını TcNo yapalım:
Alter Table Personel Change TCKimlikNo to TcNo

MySql için:

ALTER TABLE Tablo_adı RENAME COLUMN alan_adı_eski to alan_adı_yeni
Örnek olarak Personel tablomuza eklediğimiz “TCKimlikNo” alanının adını TcNo yapalım:
Alter Table Personel Rename Column TCKimlikNo to TcNo

Sql server için:

EXEC sp_rename ' Tablo_adı.[alan_adı_eski]', alan_adı_yeni, 'COLUMN'
Örnek olarak Personel tablomuza eklediğimiz “TCKimlikNo” alanının adını TcNo yapalım:
EXEC sp_rename Personel.[TCKimlikNo], TcNo ,'COLUMN'

Tablodaki kolona ait bilgileri değiştirmek:

Mevcut tablomuzda var olan bir alanın bilgilerini değiştirmek için kullanılşan genel ifade:
ALTER TABLE Tablo_adı ALTER COLUMN alan_adı alan_türü
Örnek olarak Personel tablomuza yukarda eklediğimiz SSK numarasının tipini varchar olarak değiştirelim:
Click here to find out more!
Alter Table Personel Alter Column SSKNo Varchar(20)
Bu komutu kullanarak alana ait ‘Allow Null’, yani boş bırakma özelliğini de değiştirebilirz. Örnek olarak doldurulması zorunlu yaptığımız TCKimlik Numarası nullable yapalım:
Alter Table Personel Alter Column TcNo int null

Tablodaki bir kolonu silmek:

Mevcut tablomuzda var olan bir alanı silmek için kullanılan genel ifade:
ALTER TABLE Tablo_adı DROP COLUMN alan_adı
Örnek olarak Personel tablomuza yukarda eklediğimiz SSK numarası alanını silelim:
Alter Table Personel Drop Column SSKNo
Tablomuzda bulunan bir alanı sildiğimizde, o alandaki bütün datalar silinir. Eğer sildiğimiz alan composite primary key ise, hem o alan silinir hem de tabloda yinelenen kayıtlar silinir.

Tablodaki bir kolona index eklemek /indexi kaldırmak: Mevcut tablomuzda var olan bir alana index eklemek için kullanılan genel ifade:

ALTER TABLE Tablo_adı ADD INDEX Index_Adı (alan_adı)
Örnek olarak Personel tablomuzda bulunan ‘Adi’ alanını indexleyelim:
Alter Table Personel Add index Index1 (Adi)
Mevcut tablomuzda var olan bir indexi silmek için kullanılan genel ifade:
ALTER TABLE Tablo_adı DROP INDEX Index_Adı
Örnek olarak Personel tablomuzda bulunan ‘Adi’ alanının indexini silelim:
Alter Table Personel Drop index Index1
Tablodaki bir kolona Constraint eklemek / Constrainti kaldırmak:
Mevcut tablomuzda var olan bir alana Constraint eklemek için kullanılan genel ifade:
ALTER TABLE Tablo_adı ADD CONSTRAINT constraint_Adi UNIQUE (alan_adı)
Örnek olarak Personel tablomuzda bulunan ‘TCNo’ alanına Constraint ekleyelim:
Alter Table Personel Add constraint constraint1 Unique (TCNo)
Mevcut tablomuzda var olan bir Constraint i silmek için kullanılan genel ifade:
ALTER TABLE Tablo_adı DROP CONSTRAINT constraint_Adi
Örnek olarak Personel tablomuzda bulunan ‘TCNo’ alanının constraintini silelim:
Alter Table Personel Drop constraint constraint1

Tablonun adını değiştirmek:

Mevcut tablomuzun adını değiştirmek için kullanılan genel ifade:
ALTER TABLE Tablo_adı_eski RENAMA TO Tablo_adı_yeni

Hiç yorum yok: