Sql Komutlarından Create, Drop, Alter Add, Alter Drop, Alter Change, Alter After Komutlarının Tabloya Yada Veritabanına Uygulanması

Sql komutları ve açıklamaları

Sql Komutlarından Create, Drop, Alter Add, Alter Drop, Alter Change, Alter After Komutlarının Tabloya Yada Veritabanına UygulanmasıCREATE


CREATE TABLE

Üzerinde çalışma yapılan veritabanı içerisinde yeni bir tablonun oluşturulmasını sağlar.


CREATE TABLE tablo_adı (alan_adı1 alan_tipi1, ..., alan_adıN alan_tipiN);

Örnek

  • Üzerinde çalışma yapılan veritabanı içerisinde okul isimli bir tabloyu NUMARA, AD, SOYAD ve YAS isimli veri alanları ile oluşturmak amacıyla

   CREATE TABLE okul(numara SMALLINT, ad CHAR(10), soyad CHAR(10),  yas SMALLINT)
  diziliminin kullanılması yeterlidir.
  • Üzerinde çalışma yapılan veritabanı içerisinde ZIYARETCI isimli bir tabloyu AD, SOYAD, ELMEK, ACIKLAMA1 ve ACIKLAMA2 isimli veri alanları ile oluşturmak amacıyla

   CREATE TABLE ziyaretci(ad CHAR(10), soyad CHAR(10), elmek CHAR(30),

    aciklama1 VARCHAR(100), aciklama2 VARCHAR(100))
         diziliminin kullanılması yeterlidir.
  • GONDERILER isimli bir tabloyu GGN, YGN ve ALICI isimli veri alanlarını kullanarak oluşturmak ve GGN isimli veri alanına boş veri girilmemesini sağlamak amacıyla

CREATE TABLE gonderiler(GGN INTEGER NOT NULL, YGN SMALLINT,ALICI CHAR(30));
  diziliminin kullanılması yeterlidir.

CREATE VIEW


    Bir tabloda yer alan verilerin özel bir bakış ortamında (alanında) saklanmasını sağlar. Söz konusu veriler, "genel" değil de "özel" özniteliğine sahip olması istenen verilerdir. Oluşturulan söz konusu bakış ortamına "sanal tablo" da denilmektedir.
CREATE VIEW bakış_adı AS (sorgu);
CREATE VIEW bakış_adı(alan1, ..., alanN) AS (sorgu);

Örnek

  • OGRENCI tablosunda yer alan verilere ait AD, SOYAD, DOGTAR isimli veri alanlarını kullanarak ilgili verileri TEMEL isimli bir bakış ortamına aynı veri alanı isimleri ile kaydetmek amacıyla

CREATE VIEW TEMEL AS SELECT AD, SOYAD, DOGTAR FROM OGRENCI;
  diziliminin kullanılması yeterlidir.

  • CALISANLAR tablosunda yer alan verilere ait  SICIL, BOLNO, KATSAY isimli veri alanlarını kullanarak ilgili verileri ONEMLI isimli bir bakış ortamına SICIL_NO, BOLUM_NO ve KATSAYI isimli veri alanları ile kaydetmek amacıyla
CREATE VIEW ONEMLI(SICIL_NO, BOLUM_NO, KATSAYI) AS SELECT SICIL, BOLNO, KATSAY FROM CALISANLAR;
   diziliminin kullanılması yeterlidir.


CREATE DATABASE

Üzerinde çalışma yapılan veritabanı yönetim dizgesi yardımıyla yeni bir veri tabanının oluşturulmasını sağlar.


CREATE DATABASE veritabanı_adı

Örnek

BORDRO isimli yeni bir veritabanı oluşturmak amacıyla 
CREATE DATABASE bordro;
  diziliminin kullanılması yeterlidir.

CREATE INDEX


Bir tablodaki belirli veri alanlarını dikkate alarak bir dizin oluşturulmasını sağlar.


CREATE INDEX dizin_adı ON tablo_adı(alan_adı1, ..., alan_adıN);

Örnek

CALISANLAR tablosundaki AYER isimli veri alanını dikkate alarak (AYER isimli veri alanını dizin anahtarı olarak kullanarak) GIDENLER isimli bir dizini artan sırada oluşturmak amacıyla

CREATE INDEX gidenler ON calisanlar (ayer);
  diziliminin kullanılması yeterlidir. Bu dizini azalan sırada oluşturmak amacıyla da
CREATE INDEX gidenler ON calisanlar (ayer,DESC);
  diziliminin kullanılması yeterlidir.


ARACLAR tablosundaki SAD, SSOYAD ve PLAKA alanlarını dikkate alarak PLAKALI_ARACLAR isimli bir dizin oluşturmak amacıyla

CREATE INDEX plakali_araclar ON araclar(sad, ssoyad, plaka);
 

diziliminin kullanılması yeterlidir. Oluşturulan bu dizindeki tüm veri değerleri artan sırada olacaktır. Eğer PLAKA isimli veri alanındaki veriler azalan sırada dizine yerleştirilmek istenirse
CREATE INDEX plakali_araclar ON araclar(sad, ssoyad, plaka DESC);
  diziliminin kullanılması yeterlidir.

DROP KOMUTU

Databasede buluna nesnelerin silinmesi için kullanılan komuttur.


DROP DATABASE Veritabanı_Adı
Database silme

DROP TABLE Tablo_Adı Tablo silme

DROP VIEW View_Adı View silme

DROP INDEX Index_Adı Index silme



ALTER

    Veritabanında var olan nesneler üzerinde yapılacak değişiklikler için kullanılan komuttur.Yeni tasarlanan bir veritabanında değişiklik yapmak çok güç değildir. Çünkü içindeki veriler az yada test amaçlıdır. Ama yaşayan bir veritabanında değişklik yapmak ciddi sorumluluklar ister. Verilin yok olmaması için çok dikkatli olmak gerekir. Bu konuda Alter ifadesi oldukça kolaylık sağlar.

ALTER TABLE

    Tablonun yapısı ile ilgili bilgilerin değiştirilmesi. Bazı durumlarda var olan tabloya yeni alan ekleyebilir, alan silebilir, alan adı değiştirebilir yada ilgili kısıtlamaları silebiliriz.

Tablo adı değiştirme : Birinci şekil standart SQL deki gösterimidir. Fakat T-SQL de bu işlem biraz daha farklıdır. Bunun için master tablosunda tanımlanmış olan SP_RENAME saklı yordamından (stored procedur) faydalanmak zorundasınız . Buda ikinci şekildeki gibidir

1 _ ALTER TABLE Tablo_Adı TO Yeni_Tablo_Adı

2_ EXEC SP_RENAME ’Tablo_Adı’, ’Yeni_Tablo_Adı’ ;

 
ALTER TABLE Personel TO Yeni_Personel // Standart SQL

EXEC SP_RENAME ’Personel’, ’Yeni_Personle’ // SQL Server T-SQL
 
 

Tabloya alan ekleme ve silme


ALTER TABLE Tablo_Adı ADD Alan_Adı Veri_Tip Yeni alan ekleme.

ALTER TABLE Tablo_Adı DROP COLUMN Alan_Adı Var olan alanı silme.

 

ALTER TABLE Personel ADD CocukSayisi INT;

ALTER TABLE Personel DROP COLUMN CocukSayisi
 
 

Tablodaki alan veri tipi değiştirme

Kolon veri tipi değiştirilirken veri kaybı olmaması ve hata alınmaması için mantıklı tür dönüşümleri yapılmalı. Alanın veri tipi int iken varchar yapılırsa tür dönüşümü yapılır ve veri kaybı olmaz. Ayrıca varchar ise ve içerisinde sadece sayı karakterleri tutulmuş ise sayı tür dönüşümü ile dönüştürülür ama sayı dışında da karakterler varsa hata ile karşılaşırsınız. 

ALTER TABLE Tablo_Adi ALTER COLUMN Alan_Adi Yeni_Veri_Tipi

ALTER TABLE Personle ALTER COLUMN CocukSayisi CHAR(10)
 
 

Tabloya kısıtlama ekleme ve silme

Özellikle iki tablo arasındaki ikincil anahtarları (foreing key) silerken dikkat edilecek en önemli nokta ilişkinin hangi tablodan hangi tabloya referans verildiğidir.

ALTER TABLE Tablo_Adı ADD CONSTRAINT Kısıtlama_Adı Kısıtlamanın_Ozellikleri Yeni kısıtlama ekleme.

ALTER TABLE Tablo_Adı DROP CONSTRAINT Kısıtlamanını_Adı Var olan kısıtlamayı silme
 

ALTER TABLE PersonelMal ADD CONSTRAINT FK_PersonelMal_Personel_N FOREIGN KEY (PPersonelId) REFERENCES Personel (PersonelId) ON DELETE CASCADE // PersonelMal Tablosununa foreing key ekleme
ALTER TABLE PersonelMal DROP CONSTRAINT FK_PersonelMal_Personel_N // Kısıtlamayı silme
 

Alan İsmi değiştirme

İsim değiştirme işlemleri standart SQL ’ de RENAME parametresi ile yapılır. Ama T-SQL’de tablo ismi değiştirmede olduğu gibi SP_RENAME saklı yordamı ile yapılır.

ALTER TABLE Tablo_Adı RENAME Alan_Adı TO Yeni_Alan_Adı Standart SQL ’ de

EXEC SP_RENAME ’Tablo_Adı.Alan_Adı’, ’Yeni_Alan_Adı’, ’Nesne_Tipi’ T-SQL ’ de

    Nesne Tipi : SP_RENAME saklı yordamı(stored procedur) değiştirilecek nesnenin tipini belirtir. Bunlar DATABASE, TABLO, VIEW, COLUMN, OBJECT(CHECK, FOREIGN KEY, PRIMARY/UNIQUE KEY) , vb dir. Alan isimleri tablolara özel nesnelerdir. Her tabloda Adi diye bir alan tanımlayabilirsiniz. Ama tablo isimleri, constrainler , stored procedurler, trigerlar yani SQL Serverda sysobjects sistem tablosuna kaydedilen nesnelerin ismi tekildir. Bunların ismi değiştirilirken Nesne_Tipi parametresine ’object’ yazılması gerek.


ALTER TABLE Sicil RENAME PersonelSicilNo TO SicilNo //Standart sql
EXEC SP_RENAME ’Sicil.PersonelSicilNo’, ’SicilNo’, ’Column’ // t-sql
EXEC SP_RENAME ’myView’, ’MaasBordrosu’,’Object’ // View İsmi değiştirme
EXEC SP_RENAME ’FK_PersonelMal_Personel’, ’FK_PM_P’,’Object’ // Foreing key ismi değiştirme

Alter View

     Görünüm değiştirmedir. Görünüm değiştirme de tanımlama da olan standartlar geçerlidir. Bu tür yapılar üzerlerinde veri tutmadıkları ve sadece çalıştıkları zaman oluştuğu için değişiklik yapmak daha rahattır.
 

CREATE VIEW V_Maas AS
SELECT PersonelId, (Adi + ’ ’ + Soyadi) as AdSoyad, Maas FROM Personle ; // View oluşturduk
ALTER VIEW V_Maas AS
SELECT PersonelId, (Adi + ’ ’ + Soyadi) as AdSoyad, Maas FROM Personle WHERE Adi like(’A%’); // View değiştirdik.Burda yaptığımız değişiklik sadece sorgumuza koşul ekledik. Adı A ile başlayan personellerinkini getirsin.
 
ALTER AFTER

    Yeni ekledigimiz tablo alani tablonun sonuna eklendi.Eger belirli bir siralama icerisinde yeni alani,olan herhangi bir alandan sonra gelecek sekilde koymak isterseniz "AFTER" anahtar kelimesini kullanabilirsiniz."After" ingilizcede "sonra" anlamina gelir.

 

ALTER TABLE kullanicilar ADD cinsiyet ENUM('E', 'K') DEFAULT 'E' AFTER gercekadi;
 

Kaynak: Burak TAŞ ve http://www.halukpolat.com


Yorumunuzu Ekleyin


Yükleniyor...
Yükleniyor...