Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

Benzer belgeler
Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

Veritabanı Yönetim Sistemleri İleri SQL

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

VERİTABANI. SQL (Structured Query Language)

SQL NEDİR?... 4 Transact-SQL... 4 SQL Veri İşleme Dili (Data Manipulation Language-DML)... 4 SQL Veri Tanımlama Dili (Data Definition

Transact-SQL SQL NEDİR? Transact-SQL. SQL Veri İşleme Dili (Data Manipulation Language-DML) SQL Veri Tanımlama Dili (Data Definition Language-DDL)

SQL Kod ile Tablo Oluşturma

SQL Komutları (2) Uzm. Murat YAZICI

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Veri Tabanı Hafta Dersi

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

SQL e Giriş. Uzm. Murat YAZICI

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili)

Mysql Veritabanı Komutları

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

SORGULAR. Öğr.Gör.Volkan Altıntaş

VERİTABANI Veritabanı Sorgulama

Maltepe Üniversitesi Endüstri Mühendisliği Bölümü Veri Tabanı Yönetimi (END 210)

BMB202. Veritabanı Yönetimi Ders 5. İlişkisel Cebir ve SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Veritabanı. SQL (Structured Query Language)

5 Sorgulama İşlemleri. Veritabanı 1

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

SQL (Structured Query Language)

VERİ TABANI YÖNETİM SİSTEMLERİ I

Bölüm 3: DML Veri İşleme Dili

5 Sorgulama İşlemleri. Veritabanı 1

Kişiler tablosundan AD kolonu yusuf olan tüm satırları siler. ORDER BY deyimi bir tablodan SELECT ile seçilen verileri sıralamak için kullanılır.

Birden Çok Tabloda Sorgulama (Join)

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

VERİTABANI Veritabanı Yönetimi

YAPISAL SORGULAMA DİLİ (SQL)

EROL AKGÜL

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

Lıke Joker Karakterler, Is [not] Null, Order By, Group By, As

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL-2

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

ACCESS PLATFORMUNDA SQL

Veri Tabanı Tasarım ve Yönetimi

SQL (Structured Query Language)

VERİTABANI ve YÖNETİMİ

Güz Yarıyılı MT 487 Bilgisayarda Veri Yapıları Final Çalışma Soruları

Oracle Database 11g: Introduction to SQL

1 - Adi A Harfi İle Biten Kişilerin Listesi İçin Hangisi Kullanılmalıdır? Select * From Kisiler Where Adi End A Select * From Kisiler Where Adi Like

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com

BMB202. Veritabanı Yönetimi Ders 6. SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

Bilgisayar Uygulamaları. MySql

Bölüm 4: DDL Veri Tanımlama Dili

İNTERNET TABANLI PROGRAMLAMA- 12.ders

T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

DML işlemleri. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı May Öğr. Gör. Murat KEÇECĠOĞLU

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

Veri Tabanı Programlamaya Giriş

Basit SQL Sorguları Veritabanından verilerin SELECT cümleleri ile alınması işlemine sorgulama denir.

Veritabanı Tasarımı. Kartezyen Çarpım ve Join İşlemleri

Veritabanı Tasarımı. Tablo Değiştirme

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri

Çok tablolu sorgulamalar

BÖLÜM -6: VERİLERİ DEĞİŞTİRMEK

Nesneler üzerinde değişiklik yapmak için kullanılır. Veri tabanındaki nesnelerin oluşturulabilmesi için CREATE komutu kullanılır.

BÖLÜM- 5: BİRDEN FAZLA TABLODAN VERİ GETİRMEK

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir.

Veri Tabanı Yönetim Sistemleri Bölüm - 4

Veritabanı Tasarımı. SQL Deyimi Anatomisi

SQL Query and Table Application

BİLİŞİM TEKNOLOJİLERİ

BİLİŞİM TEKNOLOJİLERİ

8 Aralık 2011 / Perşembe. Veri Tabanına Giriş

Öğr.Gör.Murat KEÇECĠOĞLU. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

VERİ TABANI YÖNETİM SİSTEMLERİ

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

EBE-368 Veri Tabanı Yönetim Sistemleri SQL

Veri Tabanı Yönetim Sistemleri Bölüm - 5

Veritabanı Tasarımı. Sütunlar, Karakterler ve Satırlar ile Çalışma

08221 Veri Tabanı II. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Hafta IV. Öğr. Gör. Murat KEÇECĠOĞLU

İNTERNET PROGRAMCILIĞI HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

Veritabanı Yönetim Sistemleri (Başarım Eniyileme Performance Tuning)

SQL'e Giriş 2. CREATE TABLE tabloadı (kolon isimleri ve veri türleri) (BOLUM_NO NUMBER, BOLUM_ADI CHAR(10));

Veritabanı Yönetim Sistemleri

Her bölüm için kısa bazı girişler yapılacak ve bölüm içerisinde anlatılacak olan konuların genel başlıkları belirtilecektir.

Veri tabanı içinde bulunan tablolardakibazı sütunlarda bulunan bilgilerin, herkes tarafından görülmesi istenmeyebilir.

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

Birleştirme (JOIN) işlemi

Microsoft SQL Server Sorgulama

Veri Tabanı-I 9.Hafta

SELÇUK ÜNİVERSİTESİ BOZKIR MESLEK YÜKSEKOKULU VERİTABANI-II DERSİ FİNAL SINAVI

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) İlişkisel Veritabanı Modeli

Transkript:

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

Konular Ortamın Hazırlanması SQL (Structured Query Language) Temel SQL Komutları Kaynaklar 2

Ortamın Hazırlanması PostgreSQL kurulumu ve servisin başlatılması Vstudio/Pgadmin tanıtımı Northwind veritabanının içe aktarılması/dışa verilmesi 3

SQL (Structured Query Language) SQL Carlos Coronel, Steven Morris, and Peter Rob, Database Systems: Design, Implementation, and Management, sayfa 8. SQL Fonksiyonları 2 bölüme ayrılabilir: Data definition language (DDL) (Yapısal Komutlar) Veritabanı/tablo/ilişki v.s. oluşturma/değiştirme/silme v.s. Data Manipulation Language (DML) (Veri ekleme/silme/güncelleme/sorgulama v.s. komutları) 4

Temel SQL Komutları (DML) Select Komutu Select komutu veritabanından veri almak için kullanılır. Aşağıdaki SQL deyimi Customers" tablosundaki tüm sütunları seçer. SELECT * FROM Customers; 5

Aşağıdaki SQL deyimi Customers tablosundaki CustomerName" ve "City sütunlarını seçer. SELECT CustomerName, City FROM Customers; 6

DISTINCT Tabloda bazı sütunlar tekrar eden kayıtlar içerebilir, DISTINCT sorgu sonucu gelen değerler içerisindeki tekrarlanan kayıtların tek kayıt olarak gösterilmesini sağlar. SELECT DISTINCT City FROM Customers; 7

WHERE Tabloda istenilen şartlara uygun kayıtların listelenmesi için WHERE komutu kullanılır. SELECT * FROM Customers WHERE Country= Mexico ; Sayısal alanlara ait değerler tırnak içinde yazılmazlar. SELECT * FROM Customers WHERE CustomerID=1; 8

Aşağıdaki operatorler WHERE komutu ile birlikte kullanılırlar. 9

AND Yukarıdaki tablo için SQL komutunu çalıştıracak olursak aşağıdaki çıktıyı elde ederiz. SELECT * FROM Customers WHERE Country='Germany AND City='Berlin'; 10

OR Aşağıdaki SQL komutu Şehiri Berlin ya da München olan müşterileri Customers tablosundan seçer. SELECT * FROM Customers WHERE City= Berlin OR City= München ; Aşağıdaki SQL komutu Ülkesi Germany olan müşterilerden, Şehiri Berlin ya da München olanları Customers tablosundan seçer. SELECT * FROM Customers WHERE Country='Germany' AND (City='Berlin' OR City='München'); 11

ORDER BY Sorgular sonucunda listelenen kayıtların belirli alanlara göre alfabetik veya sayısal olarak artan yada azalan şeklinde sıralanması için ORDER BY komutu kullanılır. SELECT * FROM Customers ORDER BY Country; 12

ORDER BY DESC ORDER BY komutu ile kullanılır.belirtilen alan için azalan bir sıralama yapar.büyükten küçüğe veya Z den A ya sıralama yapar. SELECT * FROM Customers ORDER BY Country DESC; 13

ORDER BY Birden fazla Sütun için Sıralama: SELECT * FROM Customers ORDER BY Country,CustomerName; 14

ORDER BY ASC ORDER BY komutu ile kullanılır.belirtilen alan için artan bir sıralama yapar.eğer alan karakter tipli ise alfabetik,sayısal tipli bir alan ise küçükten büyüğe sıralama yapar. SELECT * FROM Customers ORDER BY Country ASC; 15

INSERT INTO Tabloya yeni kayıt eklemek için kullanılır. INSERT INTO Customers ("CustomerName", "ContactName","Address", "City", "PostalCode", "Country") VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway'); 16

INSERT INTO Yalnızca bazı sütunlara veri eklememizde mümkündür.veri eklenmeyen sütunlar null gözükecektir. INSERT INTO Customers ("CustomerName ", " City ", " Country ") VALUES ('Cardinal','Stavanger','Norway'); Ekleme işlemlerinde veri bütünlüğü kısıtları göz önüne alınır. 17

UPDATE UPDATE komutu tablodaki kayıt(lar)ın değiştirilmesini sağlar. UPDATE Customers SET ContactName='Alfred Schmidt', City='Hamburg WHERE CustomerName='Alfreds Futterkiste'; Where ifadesi kullanılmazsa tüm satırlar değiştirilir. 18

DELETE DELETE ifadesi tablodaki kayıt veya kayıtların silinmesini sağlar. DELETE FROM Customers WHERE CustomerName='Alfreds Futterkiste' AND ContactName='Maria Anders'; 19

DELETE Tabloyu silmeden tablodaki bütün satırları silmek mümkündür.aşağıdaki komut tablodaki bütün kayıtları silmeye yarar. LIKE DELETE FROM table_name; Ya da DELETE * FROM table_name; Karakter türü alanlar üzerinde işlem yapan komutlardır.belirtilen alan içinde istenilen karakterlerin sorgulanmasını sağlayan komutlardır. Aşağıdaki SQL komutu Şehiri S ile başlayan kayıtları seçer. SELECT * FROM Customers WHERE City LIKE 's%'; 20

LIKE SELECT * FROM Customers WHERE Country LIKE '%land%'; SELECT * FROM Customers WHERE City LIKE 'ber%'; 21

SELECT * FROM Customers WHERE City LIKE '_erlin'; SELECT * FROM Customers WHERE City LIKE 'L_n_on'; SELECT * FROM Customers WHERE City LIKE '[bsp]%'; 22

SELECT * FROM Customers WHERE City LIKE '[a-c]%'; SELECT * FROM Customers WHERE City LIKE '[!bsp]%'; 23

IN Bir veri kümesinde arama yapmamızı sağlayan operatörlerdir.bir alanın bir veri kümesi ile karşılaştırılarak verilerin listenmesini sağlar. SELECT * FROM Customers WHERE City IN('Paris','London'); Aynı işlem OR kullanılarak da yapılabilir. 24

BETWEEN Aralıklı sorgulama yapmak için kullanılan operatördür. SELECT * FROM Products WHERE Price BETWEEN 10 AND 20; NOT BETWEEN Aynı işlem AND kullanılarak da yapılabilir. SELECT * FROM Products WHERE Price NOT BETWEEN 10 AND 20; 25

BETWEEN. IN SELECT * FROM Products WHERE (Price BETWEEN 10 AND 20) AND NOT CategoryID IN (1,2,3); BETWEEN operatörünün Text ile birlikte kullanımı SELECT * FROM Products WHERE ProductName BETWEEN 'C' AND 'M'; 26

BETWEEN operatörünün Tarih değerleri ile birlikte kullanımı SELECT * FROM "orders" WHERE "OrderDate" BETWEEN '07/04/1996' AND '07/09/1996'; 27

Alanlar (Sütunlar) için TAKMA ADLAR SELECT sütun_adi AS takma_ad FROM tablo_adi; SELECT "CompanyName" as "Musteriler" from Customers; SELECT "OrderID" as "SiparisNo", "ShipPostalCode" ',' "ShipAddress" as "GonderiAdresi" FROM "orders" WHERE "OrderDate" BETWEEN '07/04/1996' AND '07/09/1996'; 28

TABLOLAR İÇİN TAKMA ADLAR SELECT "Siparisler"."OrderID","Siparisler"."CustomerID" FROM "orders" as "Siparisler" Özyineli (recursive) ilişkilerde takma ad kullanımı zorunludur. 29

JOIN Join işlemi farklı tablolardaki kayıtlar birleştirilip,yeni veri kümeleri oluşturulması için kullanılır. Inner Join Aşağıdaki örnekte Orders ve Customers tablolarındaki kayıtlar birleştirilip yeni veri kümesi oluşturulmuştur. SELECT "public"."orders"."orderid", "public"."customers"."companyname", "public"."orders"."orderdate" FROM "orders" INNER JOIN "customers" ON "orders"."customerid" = "customers"."customerid" Müşterisi olmayan sipariş ya da siparişi olmayan müşteri listelenmeyecektir. 30

JOIN Inner Join SELECT "public"."orders"."orderid" as "Siparis No", "public"."customers"."companyname" as "Şirket", "public"."orders"."orderdate" as "Sipariş Tarihi" FROM "orders", "customers" WHERE "orders"."customerid" = "customers"."customerid" ORDER BY "customers"."companyname" DESC; SELECT "public"."orders"."orderid", "public"."orders"."orderdate", "public"."customers"."companyname", "public"."employees"."firstname", "public"."employees"."lastname" FROM "orders" INNER JOIN "customers" ON "orders"."customerid" = "customers"."customerid" INNER JOIN "employees" ON "orders"."employeeid" = "employees"."employeeid" 31

JOIN Left Join Sol taraftaki tabloyu baz alarak,sağ taraftaki tabloyu birleştirir.sağ tablodaki eşleşmeyen kayıtlar null gözükür. SELECT Customers.CustomerName, Orders.OrderID FROM Customers LEFT JOIN Orders ON Customers.CustomerID=Orders.CustomerID ORDER BY Customers.CustomerName; 32

JOIN Left Join SELECT "public"."orders"."orderid" as "Siparis No", "public"."customers"."companyname" as "Şirket", "public"."orders"."orderdate" as "Sipariş Tarihi" FROM "customers" LEFT OUTER JOIN "orders" on "orders"."customerid"="customers"."customerid" ; 33

JOIN Right Join Sağ taraftaki tabloyu baz alarak,sol taraftaki tabloyu birleştirir.sol tablodaki eşleşmeyen kayıtlar null gözükür. SELECT Orders.OrderID, Employees.FirstName FROM Orders RIGHT JOIN Employees ON Orders.EmployeeID=Employees.EmployeeID ORDER BY Orders.OrderID; 34

UNION Union operatörü iki veya daha çok select sorgusunun döndürdüğü veri kümelerini birleştirmek için kullanılır.bağımsız sorguların birleştirilmesini sağlayan bir sorgu oluşturur. Birleştirilen tüm SQL ifadeleri aynı sayıda alandan oluşmalıdır. Suppliers tablomuzun bir kısmı SELECT City FROM Customers UNION SELECT City FROM Suppliers ORDER BY City; select * from payment union select * from payment_p2007_04 35

UNION ALL UNION ALL ın UNION komutundan farkı tekrar eden kayıtları dikkate almaksızın direkt olarak birleştirmesidir. Suppliers tablomuzun bir kısmı: SELECT City FROM Customers UNION ALL SELECT City FROM Suppliers ORDER BY City; select * from payment union all select * from payment_p2007_04 36

SELECT INTO Bir tablodan çekilen verileri,yeni bir tabloya kopyalamak için kullanılır. Yeni tablonun mevcut olmaması gerekir. Aşağıdaki SQL Customers tablosundaki tüm verileri yeni oluşturduğu CustomersBackup001 tablosuna kopyalar. SELECT * INTO "CustomersBackup002" FROM "customers"; Tablodaki bazı sütunları yeni oluşturduğu CustomersBackup2013 tablosuna kopyalar. SELECT CustomerName, ContactName INTO CustomersBackup2013 FROM Customers; Tabloda ülkesi Germany olanların verilerilerini CustomersBackup2013 tablosuna kopyalar. SELECT * INTO CustomersBackup2013 FROM Customers WHERE Country='Germany'; Birden fazla tablodaki verileri CustomersOrderBackup2013 tablosuna kopyalar. SELECT Customers.CustomerName, Orders.OrderID INTO CustomersOrderBackup2013 FROM Customers LEFT JOIN Orders ON Customers.CustomerID=Orders.CustomerID; 37

INSERT INTO SELECT Bir tablodan çekilen verileri,varolan bir tabloya kopyalamak için kullanılır. Customers tablomuzun bir kısmı: Suppliers tablomuzun bir kısmı: 38

INSERT INTO SELECT Suppliers tablosunun SupplierName ve Country sütunlarını Customer s tablosundaki CustomerName ve Country sütununa kopyalar. INSERT INTO "customers" ("CustomerID","CompanyName","Country") SELECT "suppliers"."supplierid","suppliers"."companyname", "Country" FROM "suppliers"; Suppliers tablosunun Country sütunundaki Germany olan verileri Customers tablosundaki CustomerName ve Country sütununa kopyalar. INSERT INTO Customers (CustomerName, Country) SELECT SupplierName, Country FROM Suppliers WHERE Country='Germany'; 39

Kaynaklar Carlos Coronel, Steven Morris, and Peter Rob, Database Systems: Design, Implementation, and Management, Cengage Learning. http://www.w3schools.com/sql 40