11. Hafta Genel Tekrar BPR255 Veritabanı Yönetim Sistemleri-II -- veri tabanı oluşturmak için CREATE DATABASE veritabanı_adı -- veri tabanı silmek için DROP DATABASE veritabanı_adı -- veri tabanı kullanmak için USE veritabanı_adı -- veri tabanını yedeklemek için BACKUP DATABASE veritabanı_adı TO DISK = 'c:\adres\veritb.dat' -- veri tabanını geri yüklemek için RESTORE DATABASE veritabanı_adı FROM DISK = 'c:\adres\veritb.dat' -- en basit haliyle tablo oluşturmak için CREATE TABLE tablo_adı ( alan1 int, alan2 varchar(25) ) -- boş bırakılabilir/bırakılamaz alanlar için CREATE TABLE tablo_adı ( alan1 int NOT NULL, alan2 varchar(25) NULL ) -- birincil anahtar oluşturmak için CREATE TABLE tablo_adı ( alan1 int PRIMARY KEY , alan2 varchar(25) not null ) -- tabloda birincil anahtar birden fazla alandan oluşuyorsa CREATE TABLE tablo_adı ( alan1 int , alan2 char(4), alan3 varchar(25) not null, CONSTRAINT PK_ISIM PRIMARY KEY(alan1, alan2) ) -- bir alana varsayılan değer vermek için CREATE TABLE tablo_adı ( alan1 int , alan2 char(4) DEFAULT 'BPR1' NOT NULL, ) -- bir alan otomatik arttırılacaksa -- IDENTITY(BAŞLAMA,ARTIŞ) CREATE TABLE tablo_adı ( alan1 int IDENTITY(1,1) , alan2 char(4) , ) 1 Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi 11. Hafta Genel Tekrar BPR255 Veritabanı Yönetim Sistemleri-II -- birincil anahtar olmamasına rağmen -- tekrarlamasını istemediğimiz alanlar CREATE TABLE tablo_adı ( alan1 int IDENTITY(1,1) PRIMARY KEY , alan2 char(4) , alan3 INT UNIQUE , ) -- kontrollü veri girişleri için CREATE TABLE tablo_adı ( alan1 int PRIMARY KEY , alan2 char(4) , alan3 int CHECK(alan3 BETWEEN 0 AND 100), alan4 int CHECK(alan4 LIKE '%@%.%'), ) -- referans almak için CREATE TABLE tablo_adı ( alan1 int PRIMARY KEY , alan2 char(4) REFERENCES REF_TBL(REF_ALAN) ON DELETE CASCADE ON UPDATE CASCADE, ) DROP TABLE tablo_adı -- veritabanı adı değiştirmek için SP_RENAMEDB eski_isim , yeni_isim --VEYA SP_RENAMEDB 'eski isim' , 'yeni isim' -- nesne adı değiştirmek için --nesne:tablo, sütun, index, view, stored procedure, trigger, rule veya constraint isimleri SP_RENAME eski_isim , yeni_isim --VEYA SP_RENAME 'eski isim' , 'yeni isim' -- alan ismi değiştirmek için SP_RENAME [tablo ismi.Alan ismi] , [yeni alan ismi] -- alan özelliklerini değiştirmek için ALTER TABLE tablo_adı ALTER COLUMN alan_adı yeni_veri_tipi NULL /*veya NOT NULL */ -- tabloya yeni alan(lar) eklemek için ALTER TABLE tablo_adı ADD alan_adı1 alan_özellikleri1, alan_adı2 alan_özellikleri2, ... -- tablodan alan(lar) silmek için ALTER TABLE tablo_adı DROP COLUMN alan_adı1, alan2, ... -- tabloya yeni kısıtlama(lar) eklemek için ALTER TABLE tablo_adı ADD CONSTRAINT constraint_tanımlaması1, CONSTRAINT constraint_tanımlaması2, ... 2 Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi 11. Hafta Genel Tekrar BPR255 Veritabanı Yönetim Sistemleri-II -- tablodan kısıtlama(lar) silmek için ALTER TABLE tablo_adı DROP constraint_adı1,constraint_adı2, ... -- tabloya veri eklemek için INSERT INTO tablo_adı VALUES(veriler) -- veya INSERT INTO tablo_adı (alan1, alan2, alan3, ...) VALUES(veri1, veri2, veri3, ...) -- identity alana veri girebilmek için SET IDENTITY_INSERT tablo_adı ON -- identity alana veri girememek için SET IDENTITY_INSERT tablo_adı OFF -- tablodan tüm verileri silmek için DELETE FROM tablo_adı -- tablodan koşullu verileri silmek için DELETE FROM tablo_adı WHERE koşul_ifadesi -- tablodan tüm verileri siler -- aynı zamanda identity alanları resetliyor TRUNCATE TABLE tablo_adı -- tabloda herhangi bir alandaki verileri güncellemek için UPDATE tablo_adı SET alan1 = değer1, alan2 = değer2, [,…n] WHERE koşul_ifadesi -- tablodan tüm alanları koşulsuz sorgulamak için SELECT * FROM tablo_adı -- sadece belirli alanları sorgulamak istersek SELECT alan1,alan2,[,…n] -- sorgulanmak istenen alanlar FROM tablo_adı -- kaynak tablo ismi -- tekrarsız sorgulama yapmak için SELECT DISTINCT alan1,alan2,[,…n] --benzersiz sorgulanmak istenen alanlar FROM tablo_adı -- tablo kaynağı -- tablonun başından belirli bir sayıda sorgulama yapmak için SELECT TOP adet { * | alan1, alan2, [,…n] } FROM tablo_adı -- tablonun başından belirli bir oranda sorgulama yapmak için SELECT TOP sayı PERCENT { * | alan1, alan2, [,…n] } FROM tablo_adı -- sorgulamalarda takma isim kullanmak için SELECT alan_adı1 AS takma_ad1 , alan_adı2 AS takma_ad2 FROM tablo_adı -- tablodaki kayıt sayısını öğrenmek için SELECT COUNT(*) FROM tablo_adı 3 Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi 11. Hafta Genel Tekrar BPR255 Veritabanı Yönetim Sistemleri-II -- tablodaki benzersiz kayıt sayısını öğrenmek için SELECT COUNT(DISTINCT alan_adı) FROM tablo_adı -- koşullu sorgulamalar yapmak için SELECT alan1,alan2,[,…n] -- sorgulanmak istenen alanlar FROM tablo_adı -- kaynak tablo ismi WHERE koşul_ifadesi -- koşul ifadesi -- SORGULAMA CÜMLESİ ÖZETİ SELECT seçim_listesi FROM tablo_kaynağı WHERE koşul_ifadesi GROUP BY gruplama_ifadesi HAVING koşul_ifadesi -- gruplama koşulu ORDER BY sıralama_şartı ASC /* veya DESC */ 4 Bartın MYO – Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Güz Dönemi