SQL Server İle Veri Tabanı İşlemleri #1
Bu yazıda sizlere SQL SERVER’dan bahsedeceğim. Genel olarak yazının içeriğinde veri tabanı oluşturma, veri türleri, tablo oluşturma, DML komutları, DDL komutları gibi konulardan bahsedeceğim.
SQL Nedir?
SQL, veri tabanlarını ve tablolarını saklayan ve üzerinde işlem yapmamızı sağlayan veri tabanı yönetim sistemidir. Bu yazıda sorgular Managment Studio’da yazılacaktır. İsterseniz siz de bu programı kullanabilir ya da MySQL, Oracle, Access, vb. gibi veri tabanı yönetim sistemlerini kullanabilirsiniz. Veri tabanı kullanmanın başlıca faydaları aşağıdaki gibi özetlenebilir:
- Veri tekrarının önüne geçer.
- Veriye erişimi kolaylaştırır.
- Veriler üzerinde işlem yapma olanağı sağlar.
- Veri bütünlüğünü sağlar.
- İstenen veriyi aramak sorgular ile çok hızlı gerçekleşebilir.
Veri Tabanı Oluşturma
Veri tabanı oluşturmak için hem Nesne gezgini (Object Explorer) kısmını hem de sorguları kullanabiliriz. Nesne gezgini penceresinden Database‘e sağ tıklayıp New Database’e tıklayarak karşımıza gelen pencereden veri tabanı bilgilerini girip istediğimiz veri tabanını oluşturabiliriz. Bunun dışında sorgu komutunu kullanarak da veri tabanı oluşturulabilir.
Tablo Oluşturma
Veri tabanı tablolardan, tablolar ise sütun ve satırdan oluşmaktadır. Verilerimiz veri tabanlarında sütun ve satırlarda saklanır. Tablo oluşturmanın iki yöntemi vardır. Bunlardan ilki Managment Studio ekranında sol kısımda yer alan Nesne gezgini (Object Explorer)penceresinde Databases > Oluşturduğumuz veri tabanı > Tables (Sağ tık) > New > New table yolunu izlemektedir. Böylece daha önceden oluşturmuş olduğumuz veri tabanı üzerinde bir tablo oluşturmuş oluruz. New table dedikten sonra karşımıza 3 sütunlu bir pencere açılacaktır. İlk sütun Column Name ismindedir. Buraya sütun ismi girilmelidir. Ardından ikinci sütun veri türü sütunudur. Buraya da oluşturduğumuz sütunun veri tipi girilmelidir. Son olarak bu sütunun boş değer alıp alamayacağını Allow Null kısmı ile belirledikten sonra tablomuzu oluşturmuş oluruz. Bunun dışında yine sorgu komutları ile sütun adlarını ve veri türlerini kullanarak tablo oluşturabiliriz.
Veri Tipleri
Bit
True ya da false şeklinde değer alan mantıksal veri tipidir.
Char (Değer)
Karakter, sembol, sayı ve metin gibi değerler alan veri tipidir. İçerisine yazılan sayı değeri kadar bellekte yer açar. Eğer girilen değerin karakter uzunluğu char içerisine yazılan değerden daha küçükse kalan kısımlara boşluk atanır.
Date
Yıl – ay – gün şeklinde tarih bilgisi tutan veri türüdür.
Datetime
Yıl – ay – gün saat : dakika : saniye : milisaniye şeklinde tarih bilgisi tutan veri türüdür.
Float
Ondalık değerleri tutan veri türüdür.
Decimal (a,b)
Float’a göre hassas ondalık değerleri tutmak için kullanılan veri türüdür. İçerisine iki değer alır. Bunlardan a, girilen sayının toplam uzunluğu, b ise virgülden sonraki kısmın uzunluğunu ifade eder.
Int
-2.14.4783.648 ile + 2.14.4783.647 arasındaki tam sayı değerlerini tutan veri türüdür.
Money
Parasal türdeki verileri tutmak için kullanılan veri türüdür.
SQL Variant
Girilen değerin veri türünün belli olmadığı durumlarda kullanılan veri türüdür.
Smallint-Tinyint
Daha küçük aralıktaki tam sayı değerlerini tutmak için kullanılan veri türleridir. Smallint -32.768 ile +32.767 aralığındaki değerleri tutarken, Tinyint 0 ile 255 arasındaki sayıları tutmak için kullanılır.
Varchar (değer)
Char türüne benzer olarak karakter, sembol, sayı ve metin gibi değerleri tutmak için kullanılır. Char türündeki farkı içerisine girilen değerin uzunluğu kadar bellekte yer açar.
Uniqueidentifier
Benzersiz 16 byte boyutunda olan oluşturan veri türüdür. Her satırın ID numarası bu veri türünden oluşur.
Bunların dışından eğer veri türünün başında N ifadesi var ise o veri türü Latin alfabesi dışındaki karakterleri tutabilir anlamına gelir. Örneğin Nvarchar( ) gibi
DDL Komutları Nedir?
Data Definition Language (Veri tanımlama dili) kısaca DDL komutları, SQL’de veri tabanı oluşturmaya ve silmeye, tablo oluşturmaya, güncellemeye ve silmeye imkan sağlayan komutlardır. Bunların dışında da DDL komutlarını kullanmak mümkündür. Ancak bu konudan şimdi bahsedilmeyecek. 3 temel DDL komutu vardır. Bunlar aşağıdaki gibi özetlenebilir:
Create Komutu
Veri tabanı ya da tablo oluşturmak için kullanılan komuttur. Veri tabanı oluşturmak için CREATE DATABASE (veri tabanı adı) şeklinde kullanmak mümkündür.
Tablo oluşturmak için CREATE TABLE (tablo adı) (sütun1 veri türü, sütun2 veri türü, sütun3 veri türü, …) komutunu kullanmak mümkündür.
Drop Komutu
Veri tabanı, sütün ya da tablo silmek için kullanılan komuttur. Veri tabanı silmek için DROP DATABASE (veri tabanı ismi) komutu kullanılabilir. Tablo silmek için DROP TABLE (tablo ismi) komutu kullanılabilir. Sütun silmek için ise ALTER TABLE (tablo ismi) DROP COLUMN (sütun adı) komutu kullanılabilir. Sütun silme kısmı son DDL komutu olan ALTER komutunun anlatımından sonra daha anlaşılır olacaktır.
Alter Komutu
Bu komut ile tablo üzerinde güncellemeler yapmak mümkündür. Örneğin tablodaki sütunun veri türünü değiştirebiliriz. Bunun dışında da bu komut ile sütun silinebilir ya da eklenebilir. Tablo üzerinde yapılacak işleme göre kullanım şekli değişir. Örneğin sütunun veri türünü değiştirmek için kullanım şekli aşağıdaki gibidir:
ALTER TABLE (tablo ismi) ALTER COLUMN (sütun adı) (yeni veri türü).
Sütun eklemek için ise aşağıdaki komut kullanılabilir:
ALTER TABLE (tablo ismi) ADD COLUMN (sütun adı) (veri türü).
Bu komutları kullanırken şunu belirtmekte fayda var; DDL komutları verilere müdehale etmemize olanak sağlamaz. Bu tür işlemler DML komutlar ile gerçekleştirilir. DDL komutları ile daha çok veri tabanı ve tablolara müdehale etmek mümkündür.
DML Komutları
Data Managment Language (Veri manipülasyon dili) kısaca DML komutları, SQL’de tabloya veri eklemek, tablodaki veriyi silmek ve tablodaki verileri güncellemek için kullanılan komutlardır. Bunun dışında istenen herhangi bir şarta bağlı olarak ya da bağlı olmadan verileri listemek için kullanılabilir. 4 tane DML komutu vardır. Bunlar aşağıdaki gibi özetlenebilir:
SELECT KOMUTU
Herhangi bir şarta bağlı olarak ya da bağlı olmadan verileri seçip listelemek için kullanılan komuttur. Kullanımı aşağıdaki gibi olabilir:
SELECT (sütun adları) FROM (tablo adı).
Bu şekilde kullanılır ise herhangi bir şart olmadan listeleme yapılır. Böylece listelenen sütunlardaki tüm veriler gelir. Eğer SELECT * FROM (tablo adi) şeklinde kullanılırsa tüm sütunlardaki tüm veriler herhangi bir şart olmadan listelenir.
Herhangi bir şarta ya da şartlara göre verileri listelemek istersek, WHERE komutunu sorguya eklememiz gerekir. Birden fazla şart eklemek istenirse and ve or gibi operatörler kullanılabilir. Örnek kullanımı aşağıdaki gibidir:
SELECT * FROM (tablo adi) WHERE şart1 and şart2.
Bunun dışında SELECT komutu ile beraber kullanılabilecek LİKE, NOT LİKE, IN ve NOT IN gibi işleçlerde vardır. Bunlar sırasıyla aşağıdaki gibi açıklanabilir.
LIKE İŞLECİ
Listeleme yaparken WHERE komutundan sonra yazılır. İlgili sütunda, yazılan karakter ya da kelimeleri içeren verileri çekmek için kullanılır. Örnek kullanım şekli aşağıdaki gibidir:
SELECT (sütun adları) FROM (tablo adı) WHERE (sütun adı) LİKE (‘%aranmak istenen değer%’).
Aramak istediğimiz karakteri ‘%(aranmak istenen değer)’ arasına yazarsak arama işlemi son harfe göre yapılırken, ‘(aranmak istenen değer)%’ içerisine yazarsak arama işlemini baş harfe göre yapar.
NOT LİKE işleci ise LIKE işlecinin tam tersini gerçekleştirmektedir. Yazdığımız karakter ya da kelimeyi içermeyen verileri karşımıza listeler. Kullanımı LIKE işleci ile aynıdır.
IN İŞLECİ
Listeleme yaparken kullanılan bu işleç WHERE komutundan sonra yazılmaktadır. IN işleci, içerisine yazdığımız parametreleri barından satırların listelenmesini sağlar. Birden fazla or işleci kullanılmasının önüne geçer. Örnek kullanımı aşağıdaki gibidir:
SELECT (sütun adları) FROM (tablo ismi) WHERE (sütun adı) IN(‘değer1’,’değer2’,…).
NOT IN işleci ise IN işlecinin tam tersi olarak içerisine girilen parametreleri barındırmayan satırları listeler. Kullanımı IN komutuna benzerdir.
INSERT KOMUTU
Tablolarımıza yeni veri eklemek için kullanılan komuttur. Kullanımı aşağıdaki gibidir:
INSERT INTO (tablo adi) (sütun1,sütun2,…) VALUES (değer1,değer2,…).
Burada dikkat edilmesi gereken husus; veriler sütunlara sırasıyla yazılır. Yani sütun1’e değer1, sütun2’ye değer2,… şeklinde tabloya veri eklenir.
DELETE KOMUTU
Tablodan veri silmek için kullanılan komuttur. Silme işlemini sütuna göre değil satıra göre yapar. Silme işlemi yaptığımız satırın tüm sütunlarına ait verileri tablodan çıkarır. Şarta bağlı olarak silme yapılmalıdır yoksa tablonun diğer satırlarındaki verilerden silinir. Kullanım şekli aşağıdaki gibidir:
DELETE FROM (tablo adi) WHERE şart1.
UPDATE KOMUTU
Tablodaki verilerimizi güncellemek için kullanılır. Kullanılırken şarta bağlı olarak kullanılmalıdır yoksa diğer satırlarda bu güncelleme işleminden etkilenir. Kullanımı aşağıdaki gibidir:
UPTADE (tablo adi) SET (sütun1 = değer1, sütun2 = değer2,…) WHERE şart1
Buraya kadar yaptıklarımızda SQL SERVER’de veri tabanı ve tablo oluşturma, veri türleri, DDL komutları ve DML komutları gibi temel konularda bilgi sahibi olduk. Bir sonraki yazıda SQL’de veri tabanı işlemlerini devam edeceğiz.