Yeni bir tablo oluşturmak için create table tabloadi seklinde kullanırız daha sonra ( arasında kolonlarımızın adını ve tiplerini belirtiriz... )
Örnegin tblpersonel adında bir tablo olusturalım ve su an için 2 adet kolonu olsun bunlar personelid int identity(1,1) ve Personeladi nvarchar(30) olsun ...
create table tblpersonel
(
Personelid int identity(1,1),
PersonelAdi nvarchar(30)
)
Olusturdugumuz tblpersonel tablomuzda bir yeni kolon eklemek istiyoruz Personelsoyad adında bir kolon ekleyelim nvarchar(50) olsun ....
alter table tblpersonel
add PersonelSoyad nvarchar(50)
yukarıdaki tsql ifadesinde ilgili olan tblpersonel tablomuza PersonelSoyad adında bir kolon ekleme işlemi yapdık . bunun icin alter table ifadesini kullandık yani tabloda bir duzenleme işlemi yapıcagımızı belirttik ve daha sonra add kolonadi sqltip formatında yeni bir kolon olusturduk ...
alter table tblpersonel
alter column PersonelSoyad nvarchar(30)
yukarıdaki tsql cumlemizde ise ilgili personelsoyad kolonunun var olan degeri nvarchar(50) iken alter column ifadesi ile bu degeri nvarchar(30) a cektik ...
alter table tblpersonel
drop column PersonelSoyad
yukarıdaki tsql cumlemizde ise ilgili personelsoyad kolonunu tblpersonel tablomuzdan sildik .
drop table tblpersonel
yukarıdaki tsql cumlemizde ise ilgili tablomuzu sildik ... artık database imizde tblpersonel adında bir tablo bulunmamakda ...
simdi bir baska tablo yapalım ve bu tablomuzun içerisine biraz veri girişi yapalım . daha sonra truncate mantıgını inceleyelim ...
create table Personellerim
(
Personelid int identity(1,1),
PersonelAdi nvarchar(max),
PersonelSoyad nvarchar(max),
Personelcinsiyet nvarchar(max),
PersonelEmailAdres nvarchar(max)
)
yukarıda basit bir personel tablosu tanımladık .
Personelid : int bir degere sahip ve identity(1,1) ile degerleri 1 er 1 er otomatik olarak artmakda ...
personeladi , personelsoyad,personelcinsiyet ve personelemailadres kolonlarımız nvarchar(max) degere sahip simdi biz bu tablomuza person.contact tablosundan veriler aktaralım ...
insert into Personellerim select PC.Firstname,PC.Lastname,HE.Gender,PC.emailaddress from person.contact PC inner join Humanresources.employee HE on PC.Contactid = HE.Contactid
-- ( 290 row(s) affected )
tablomuzda 290 adet kayıt var...
select * from Personellerim
truncate table Personellerim : dedigimiz zaman tablonun icerisindeki tum kayıtları siler tamam tamam duyar gibiyim peki ben delete tablo adı verdigimde ilgili where kriterimi belirtmezsem zaten siliyorum truncate bumu der gibisiniz ok o degil sadece siz delete ile sildiginiz data eger tablonuz bir trigger tarafından korunuyor ise o zaman ilgili trigger delete haraketimizi görücekdir delete ettigimiz zaman id degerimiz identity olarak devam ettigi icin bir sonraki kayıtta deger kaldıgı yerden devam edicekdir .
ama truncate table dedigim zaman ilgili işlem ldf tarafına ugramadan sildigi icin tum datayı trigger bunu yakalamıyacakdır .
tablomuzda bulunan identity(1,1) alan ise yeni veri girildigi zaman kaldıgı yerden degil 1 den baslıyacaktır ...
Örnegin tblpersonel adında bir tablo olusturalım ve su an için 2 adet kolonu olsun bunlar personelid int identity(1,1) ve Personeladi nvarchar(30) olsun ...
create table tblpersonel
(
Personelid int identity(1,1),
PersonelAdi nvarchar(30)
)
Olusturdugumuz tblpersonel tablomuzda bir yeni kolon eklemek istiyoruz Personelsoyad adında bir kolon ekleyelim nvarchar(50) olsun ....
alter table tblpersonel
add PersonelSoyad nvarchar(50)
yukarıdaki tsql ifadesinde ilgili olan tblpersonel tablomuza PersonelSoyad adında bir kolon ekleme işlemi yapdık . bunun icin alter table ifadesini kullandık yani tabloda bir duzenleme işlemi yapıcagımızı belirttik ve daha sonra add kolonadi sqltip formatında yeni bir kolon olusturduk ...
alter table tblpersonel
alter column PersonelSoyad nvarchar(30)
yukarıdaki tsql cumlemizde ise ilgili personelsoyad kolonunun var olan degeri nvarchar(50) iken alter column ifadesi ile bu degeri nvarchar(30) a cektik ...
alter table tblpersonel
drop column PersonelSoyad
yukarıdaki tsql cumlemizde ise ilgili personelsoyad kolonunu tblpersonel tablomuzdan sildik .
drop table tblpersonel
yukarıdaki tsql cumlemizde ise ilgili tablomuzu sildik ... artık database imizde tblpersonel adında bir tablo bulunmamakda ...
simdi bir baska tablo yapalım ve bu tablomuzun içerisine biraz veri girişi yapalım . daha sonra truncate mantıgını inceleyelim ...
create table Personellerim
(
Personelid int identity(1,1),
PersonelAdi nvarchar(max),
PersonelSoyad nvarchar(max),
Personelcinsiyet nvarchar(max),
PersonelEmailAdres nvarchar(max)
)
yukarıda basit bir personel tablosu tanımladık .
Personelid : int bir degere sahip ve identity(1,1) ile degerleri 1 er 1 er otomatik olarak artmakda ...
personeladi , personelsoyad,personelcinsiyet ve personelemailadres kolonlarımız nvarchar(max) degere sahip simdi biz bu tablomuza person.contact tablosundan veriler aktaralım ...
insert into Personellerim select PC.Firstname,PC.Lastname,HE.Gender,PC.emailaddress from person.contact PC inner join Humanresources.employee HE on PC.Contactid = HE.Contactid
-- ( 290 row(s) affected )
tablomuzda 290 adet kayıt var...
select * from Personellerim
truncate table Personellerim : dedigimiz zaman tablonun icerisindeki tum kayıtları siler tamam tamam duyar gibiyim peki ben delete tablo adı verdigimde ilgili where kriterimi belirtmezsem zaten siliyorum truncate bumu der gibisiniz ok o degil sadece siz delete ile sildiginiz data eger tablonuz bir trigger tarafından korunuyor ise o zaman ilgili trigger delete haraketimizi görücekdir delete ettigimiz zaman id degerimiz identity olarak devam ettigi icin bir sonraki kayıtta deger kaldıgı yerden devam edicekdir .
ama truncate table dedigim zaman ilgili işlem ldf tarafına ugramadan sildigi icin tum datayı trigger bunu yakalamıyacakdır .
tablomuzda bulunan identity(1,1) alan ise yeni veri girildigi zaman kaldıgı yerden degil 1 den baslıyacaktır ...