SQL

SQL (Structured Query Language)

Bu yazımda SQL komutlarının özet kullanımı ve ne işe yaradıkları ile ilgili kısa tanımlamalar anlatılmıştır. İlerleyen bölümlerde daha ayrıntılı olarak anlatıma yer verilecektir.

Örnek anlatım için Microsoft tarafıdan yazılmış Sql örneklerinin olduğu tablolardan oluşan Northwind veritabanı üzerinde işlemler gerçekleştirilmiştir

SQL Nedir?

Veritabanları üzerinde, karmaşık sorgular yapmak için tasarlanmış bir dildir.

SQL, bütün veritabanları tarafından desteklenen ortak bir dildir. (Postgresql, Oracle, MSSQL gibi). Temel SQL dışındaki komutlar her veritabanı için özelleştirilmiştir.

  • SQL Server için özelleştirilmiş SQL dilinin adı : Transact SQL (T-SQL)
  • Oracle için özelleştirilmiş SQL dilinin adı : PL/SQL
  • Postgresql için özelleştirilmiş SQL dilinin adı : PL/PGSQL

SQL Komutları

SQL komutları 4 ana gruba ayrılır:

1. DQL (Data Query Language) : Veri Sorgulama Dili:

SELECT: Veritabanındaki verileri sorgulamak için kullanılır.

SELECT KULLANIMI

Bir tablodaki tüm verileri sorgulamak istersek * ifadesi kullanılır.

SELECT * FROM tablo_adı

İstenilen sütunları listelemek için

SELECT sütun_adı1, sütun_adı2, ... FROM tablo_adı

SELECT  —  AS Kullanımı

Alias Atama (AS) tablo ismi

SELECT 3 AS Sutun_Adi

Bosluk karakteri olursa

SELECT 1453 [Istanbulun Fethi]

SELECT — WHERE Kullanımı

WHERE yapısı bir tabloda yer alan kayıtlardan belirli bir koşula uygun olanları almaya yarar.

WHERE genel yapısı aşağıdaki şekildedir:

SELECT sütun_adı1, sütun_adı2, ... FROM tablo_adı WHERE sütun_adı işlemci değer

Şehri London olan personelleri listeleme:

SELECT * FROM Personeller WHERE Sehir= 'London'

SORU: 1993 yılında işe başlayanları listeleme:

SELECT * FROM Personeller WHERE YEAR(IseBaslamaTarihi)=1993

SORU: Doğum günü ayın 29’u olmayan personeleri listeleme

SELECT Adi FROM Personeller WHERE DAY(DogumTarihi) <> 29

2. DML (Data Manipulation Language) : Veri Kullanma Dili

DML komutları ile veritabanlarında bulunan verilere işlem yapılır.

2.1 : INSERT: Veritabanına yeni veri eklemek için kullanılır.

INSERT INTO tabloadi [(alan1, alan2 ... ,alann )] VALUES (deger1,deger2 ..., degern)

ÖRNEK: Personel tablosundaki ID,isim, bölüm kolonlarını sırasıyla 71,Serap, Reklam şeklinde güncelle.

INSERT INTO personel(ID,isim,bolum) VALUES(71,'Serap Demirci','Reklam')

2.2 : UPDATE : Veritabanındaki verileri güncellemek için kullanılır.

UPDATE tabloadi
  SET alan1 = deger1, alan2 = deger2, …, alann = degern
 [FROM tablo(lar)]
 [WHERE kosullar] 

ÖRNEK: tblPersonel tablosundaki TC numarası 00000000011 olan personelin maaşını 2500, medeni halini E olarak güncelle

UPDATE tblPersonel
SET Maas =2500,MedeniHali='E'
WHERE TCNO='00000000011'; 

2.3 : DELETE : Veritabanındaki verileri silmek için kullanılır.

  • Bir tabloda verilen bir koşula uyan verileri silmek için kullanılır.
  • Koşul belirtilmezse tüm kayıtlar silinir.
DELETE FROM tablo_adi [WHERE kosullar ]

ÖRNEK: Personel tablosundaki tüm verileri silmek için:

DELETE FROM personel; 

ÖRNEK : Bölümü Muhasebe olan personel tablosundaki kayıtları silmek için.

DELETE FROM personel WHERE bolum='Muhasebe';

3. DDL (Data Definition Language) : Veri Kullanma Dili

DDL komutları ile veritabanı ve obje (tablo,fonksiyon vb.) oluşturma, değiştirme ve silme işlemleri yapılır.

CREATE : Bir veritabanı veya veritabanı içinde obje (Tablo, fonksiyon vb.) oluşturmak için kullanılır.

  • CREATE TABLE : Veritabanı üzerinde bir tablo yaratmak için kullanılır.
CREATE TABLE tablo_adi ( alan1 tip1 , alan2 tip2 , … , alan_n tip_n ) 
CREATE TABLE Ogrenciler (ID int, Adi varchar(20), Soyadi varchar(20));
  • CREATE VIEW : View oluşturmak için kullanılır.
CREATE VIEW [sema_adi.]view_adi[WITH [ENCRYPTION] [SCHEMABINDING] ]
      AS
      --SELECT cümlesi
      [WITH CHECK OPTION]
  • CREATE DATABASE : Veritabanı oluşturmak için. (Mssql ve Postgresql için)

CREATE DATABASE database_adi 

ALTER : Bir veritabanı veya veritabanı içindeki objeleri güncellemek için kullanılır.

  • Tabloya Yeni Alan Ekleme :
ALTER TABLE ogrenciler ADD sinif INT(2);  
  • Tablodaki Alanların Tipini değiştirme
ALTER TABLE tablo_adi MODIFY alan_adi yeni_alan_tipi;

ÖRNEK: ogrenciler tablosunda int tipindeki sinif kolon tipini varchar yapma.

ALTER TABLE ogrenciler MODIFY sinif VARCHAR(3);
  • Tablodaki Alanı Silme :
ALTER TABLE tablo_adi DROP COLUMN alan_adi;  

ÖRNEK : Örnek olarak “ogrenciler” adındaki tablomuzdan “fakulte” adlı alanı silelim;

ALTER TABLE ogrenciler DROP COLUMN fakulte;

DROP : Bir veritabanını veya veritabanı içindeki objeleri silmek için kullanılır.

  • DROP TABLE :  Tabloyu fiziksel olarak siler. (verilerle birlikte)
 DROP TABLE Ogrenciler;

TRUNCATE : Veritabanındaki verileri silmek için.

  • TRUNCATE TABLE : Koşulsuz olarak bir tablodaki tüm verileri silmek için kullanılır.
TRUNCATE TABLE tablo_adi
TRUNCATE TABLE Ogrenciler.

RENAME: Veritabanındaki objelerin isimlerini değiştirmek için.

  • Tablonun kolon ismini değiştirme
ALTER TABLE my_table RENAME COLUMN my_column_old_name to my_column_new_name
  • Tablo adını değiştirme
RENAME TABLE {tbl_name} TO {new_tbl_name};

4. DCL (Data Control Language) Veri Kontrol Dili

DCL komutları ile kullanıcılara veritabanı ve objeler üzerinde yetki verme veya yetki alma için kullanılır.

GRANT : Kullanıcılara veri tabanı üzerinde hak(yetki) tanımlamak için kullanılır.

REVOKE : Kullanıcılara verilen hakları geri almak için kullanılır.

DENY : Kullanıcıların haklarını kısıtlayan komuttur.

Bir cevap yazın

Kişisel Web sayfama hoş geldiniz..