#7 MSSQL Eğitim Seti Tablo Güncelleme - Alter

Ocak 26, 2017 Mustafa BÜKÜLMEZ 0 Yorum


Selamlar arkadaşlar,


Bu dersimizde önceden açtığımız tabloların stunları güncellemeyi yada yeni stun eklemeyi göreceğiz. Bu basit projelerde olmasada büyük projelerde işinize yarayacaktır. Atıyorum bir ön muhasebe programı hazırladınız ve daha sonra güncelleme yapmanız gerekti. Bu güncellemede de tablolarınıza bir stun daha eklemeniz gerekirse nasıl olacak bu iş. Tabloyu silip yeniden de açtıramazsınız. İşte burada devreye Alter komutu giriyor. Nasıl kullanıldığına bir bakalım.


Ancak bunu önceki derslerimde anlattığım gibi otomatik oluşturamıyorsunuz. En azından SQL 2014'de pasif durumda. Görünüyor ama pasif. Bu yüzden komutlarımızı elle yazacağız.


Görelim;


Tabloya yeni kolon eklemek:


ALTER TABLE Tablo_adi   ADD  Alan_adi   Alan_türü


Tablo adını yazdıktan sonra ekleyeceğimiz kolon adını ve türünü de yazıyoruz.


Örn 1: ALTER TABLE Kategoriler ADD  Kat_Sure  int


Örn 2:  ALTER TABLE  Personel  ADD  DogumYeri  nvarchar(50)


Personel tablomuza DogumYeri  stununu ekleyip türünü nvarchar(50) yaptık.


Hem kolon ekleyip hemde kolonumuzu özelleştirebiliriz.


Örn 3: ALTER TABLE  Personel  ADD  Cinsiyet  Bit  Not Null  Default ((0))


Personel tablomuza Cinsiyet stunu ekledik, boş olmasın dedik ve default olarak false olsun dedik.(Önceki derslerimizden hatırlayın ;) )


Tabloya birden fazla kolon eklemek:


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


Tablomuza aynı anda birden fazla kolonu parantez içerisinde virgül ile ayırarak ekleyebiliriz.


Örn 4: ALTER TABLE  Personel  ADD  ( TCKimlikNo  int not null,  SSKNo int null)


Personel tablomuza tc no ve ssk no stunlarını ekledik ve özelleştirdik.


Tabloya Primary Key eklemek:


ALTER TABLE  Tablo_adi ADD PRIMARY KEY  (Alan_adi)


Örn 5: ALTER TABLE  Personel  Add  Primary Key (Id)


Personel tablomuzda bulunan Id stununu primary key yaptık.


Örn 6: ALTER TABLE  Personel add  ID2  int Not Null  IDENTITY(1,1) Primary Key


Personel tablomuza ID2 stununu ekledik, int olacak dedik, boş olmayacak dedik, bir bir otomatik artan sayı dedik ve primary key (birincil anahtar) olsun dedik.


Tablodaki alanin Primary Key özelligini silmek: 


ALTER TABLE  Tablo_adi   DROP CONSTRAINT Alan_adi


Bu komuta baktığımızda Drop ve Constraint komutlarını görüyoruz. Drop " sil " anlamına; Constraint ise kısıtlama anlamına gelir. Yani biz burada ilgili stundaki kısıtlamayı sil demiş olduk. Kısıtlamamız ise Primary Key... (Bu konuyu ileride daha derinlemesine göreceğiz bu yüzden hızlıca geçiyorum. Şimdilik bunu bilmeniz yeterlidir.)


Örn 7: ALTER TABLE  Personel  Drop Constraint   Id


Bu örnekte Personel tablomuzdaki Id stununun primary key özelliğini sildik.


Tablodaki kolona ait bilgileri degistirmek:


ALTER TABLE Tablo_adi  ALTER COLUMN alan_adi   alan_türü


Bu komut ile tablomuzdaki kolonun türünü değiştirebiliriz.


Örn 8: ALTER TABLE Personel  Alter Column  SSKNo Varchar(20)


Az önce personel tablomuza int olarak eklediğimiz alanı Varchar(20) olarak değiştirdik.


Örn 9: ALTER TABLE Personel  Alter Column   TcNo  int  null


Az önce boş olamaz olarak eklediğimiz TcNo stununun boş kalabilir olarak değiştirdik.


Tablodaki bir kolonu silmek:


ALTER TABLE Tablo_adi DROP COLUMN alan_adi


Bu komut ile tablomuzdaki bir kolonu silebiliriz. (Bunu dikkatli kullanmalıyız.)


Örn 10: Alter Table Personel Drop Column SSKNo


Az önce eklediğimiz sskno stununu sildik.


NOT: 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.


Birleşik Anahtar(Composite Key): Birden fazla alanın birleştirilmesiyle birincil anahtar görevini üstlenecek tanımlamalar yapılabilir. Bunlar birleşik anahtar olarak adlandırılır.


Bundan sonraki dersimiz çok önemlidir. Hazırlaması uzun sürebilir. Çünkü en çok kullanacağımız ve kullanılacak çok fazla yöntemi var. Bu konuyu ayrıntılı bir şekilde anlatmak istiyorum.


Bu dersimizde bu kadar arkadaşlar. Bir sonraki dersimizde görüşmek üzere.

0 Yorum: