| Ms-Sql Fonksiyonları ve Veritabanı Komutları Örnekli Acıklama |
![]() SQL (STRUCTURED QUERY LANGUAGE) Yapısal Sorgulama Dili olan SQL, ilişkisel veritabanlarındaki bilgileri sorgulamak için standart kullanımı olan bir dildir. Standart bir dil olmasına karşılık, çeşitli veritabanlarında SQL kullanımları arasında farklılıklar vardır. SQL komutları ile, tablolara yeni kayıt girme, varolan kayıtları sorgulama (arama ve listeleme), varolan bilgileri değiştirme ve varolan kayıtları silme işlemleri yapılabilir. Üzerinde sql komutlarını uygulayacağımız, örnek olarak ozluk ve notlar tablosundan birkaç kayıt verilsin. Ozluk tablosundaki alan isimleri ve örnek veriler; ogr_no adi soyadi cinsiyeti Notlar tablosundaki alan isimleri ve örnek veriler; Bu noktadan sonraki örnekleri yukarıdaki değerleri göz önünde tutarak inceleyiniz. SQL FONKSİYONLARI SQL’de kullanılan fonksiyonlar vardır, bu fonksiyonlar ekrana sadece tek değer görüntülerler. SUM(DISTINCT] alan_adi) Belirtilen alan için toplam fonksiyonu (sayısal alanlarda) COUNT(*) Toplam kayıt sayısı COUNT(DISTINCT alan_adi) Belirtilen alana göre farklı olan kayıtların sayısı MAX([DISTINCT] alan_adi) Belirtilen alanda en büyük değer MIN(DISTINCT] alan_adi) Belirtilen alanda en küçük değer AVG([DISTINCT] alan_adi) Belirtilen alanda ortalama değeri. DISTINCT parametresi ile belirtilen alanda bulunan bilgilerden aynı olanlarından sadece birinin seçilmesini sağlar. Örnek 1: Sonucunda ekrana gelecek kayıt sayısı 9 dur. Örnek 2: Örnek 3: En büyük basari notunu, ekrana 94 olarak görüntüler. En büyük değer kaç tane olursa olsun bir tanesi görüntülenir. Örnek 4: Ozluk tablosundaki kayıt sayısını 3 olarak verecektir. SORGULAMA SELECT [ALL|DISTINCT] { *|alan_adi_listesi} şeklinde genel bir ifadesi vardır. Buradaki ve genelde bilgisayar dünyasında yardım (help) menülerinde kullanılan işaretler, [ ] seçimlik Şartsız kayıt sorgulama: Herhangi bir tabloya ait bilgi alanlarındaki bilgilerin listesini almak için; SELECT FROM . ifadesi kullanılır. Örnek 1: Ozluk tablosundaki tüm öğrencilerin adını ve soyadını ekrana görüntüleyecektir. Örnek 2: Notlar tablosundaki tüm öğrencilerin vize notunu 10 ile çarpımını ekrana görüntüleyecektir. Burada vizelerin 10 ile çarpımı sadece ekrana görüntülenecek tabloda ise değişmeyecektir. Örnek 3: Öğrencilerin başarı notlarının toplamını ekrana verecektir. Örnek 4: Öğrencilerin adı ve soyadını bitişik yazan SQL ifadesidir. Bu durumda iki alanın birleşmesi sonucunda karakter sayısı artacağı için yeni bir format belirtmek gerekir.Karakter alanlarda varsayılan görüntüleme 8 karakterdi, burada iki bilinin birleşmesi yeni bir bilgi alanı gibi davranacağından format belirtmek gereklidir. Örnek 5: Notlar tablosundaki bütün bilgi alanlarının içeriklerini ekrana görüntüleyecektir (* joker gibi kullanılmaktadır,”*” ile kullanımda select ile from arasına başka ifade yazılmaz). Örnek 6: Şeklinde bir kullanımla kayıt sayısı, “sayi” değişkeni içine aktarılmış olur, böylece elde edilen kayıt sayısı programın devamında amaca göre kullanılabilir. Burada into parametresi kullanıldığı için sql sonucunda ekran hiçbir görüntü gelmeyecektir. Örnek 7: Kayıt sayısı “ksayisi” değişkenine, basari notlarının toplamı da “ntoplam” değişkeni içine aktarılmış olacaktır. Tek kayıt sorgulama: Herhangi bir tabloya ait kayıtlardan birer tanesinin listesini almak için; SELECT DISTINCT FROM . ifadesi kullanılır. Burada distinct’den sonra yazılan alanların aynı olanlardan birer tanesi listelenir. Örnek 1: Sorgu sonucu listelenecek kayıtlar; Kodu Bu örnekte notlar tablosunda bir ders, birden fazla olmasına rağmen, sadece her dersten bir tanesi görüntülenir. Örnek 1 Sorgu sonucu olarak (örnek kayıtlardan) Notlar tablosunda sadece kodu ve ogr_no alanındaki kayıtlardan aynı olanlardan birer tanesini listelenmiştir. SQL ifadelerini yazarken eğer cümle bir satırı aşıyorsa, daha anlaşılır olması açısından alt alta yazarak devam edilebilir. Sorgu sonucu dönen kayıtları sıralama: Herhangi bir tablodaki kayıtları herhangi bir alan adına göre azalan (artan) sırada sıralayabilmek için; SELECT Örnek 1: Öğrencilerin numara , ad ve soyadlarını , soyadı sıralı olarak Z’den A’ya sıralayarak ekrana görüntüler. Örnek 2: Öğrencinin numara ve başarı notlarını, başarı notuna göre azalan sırada ekran görüntüler. Örnek 3: Öğrencinin numara ve başarı notlarını, başarı notuna göre azalan sırada listelerken notu aynı olanları da numarasına göre azalan sırada ekranda görüntüler. Şartlı kayıt sorgulama: Bir tabloda istenilen şarta uygun kayıtların listesi için; SELECT FROM WHERE Örnek 1: Ozluk tablosundaki soyadı boş olan kayıtların ad,soyad ve numaralarını ekranda görüntüler. Örnek 2: Notlar tablosundaki başarı notu 100 olan öğrencilerin numaralarını ve başarı notlarını listeler. Bir alan içinde birden fazla değeri sağlayan kayıtları listelemek için; Örnek 4: SELECT FROM Örnek 5: Ozluk tablosunda soyadı demircan ve demirel olan öğrencilerin ad ve soyadlarını listeler. Boş ve dolu alanlara göre sorgu: Boş alanları listelemek için; SELECT FROM WHERE IS NULL. Örnek 1: Cinsiyet alanı boş olan öğrencilerin numaralarını, ad ve soyadlarını listeler. Boş olmayan alanları listelemek için; SELECT FROM
ifadeleri kullanılır. Örnek 2: Cinsiyet alanı boş olmayan olan öğrencilerin numaralarını, ad ve soyadlarını listeler. Tam olmayan bilgiye göre sorgu: İstenilen değer ile başlayan kayıtları listelemek için; Örnek 1: Adı “B” ile başlayan kayıtların adı ve soyadını listeler. İstenilen değer ile biten kayıtları listelemek için; Örnek 2: Adı “A” ile biten kayıtların adı ve soyadını listeler. İçinde herhangi bir yerde istenilen değer geçen kayıtları listelemek için; Örnek 3: Adı içinde “HY” geçen kayıtların adı ve soyadını listeler. İki Tabloyu Beraber Sorgulama (Tabloya Alias [Geçici İsim] Verme): SELECT FROM tablo1,tablo2 WHERE koşullar. Birden fazla tablodan aynı anda bilgi getirilmesi gerektiğinde, ortak alanlar üzerinden birleştirme işlemleri yapılır. Birleştirme işlemi koşullar bölümünde yapılır, ortak olan alanlar eşleştirilir. Örnek 1: A308 dersinde final notu 100 olan öğrencilerin adlarını, soyadlarını, numaralarını ve başarı notlarını listeler. Burada “o” ozluk tablosuna, “n” notlar tablosuna verilmiş geçici isimlerdir. Bu geçici isimler sayesinde sql i daha anlaşılır ve kısa yazmak mümkündür. Örnek 2: A206 dersini alan tüm öğrencilerin numaralarını, ad ve soyadlarını listeler. Kayıtları Gruplama: Kayıtları, belirli alanlara göre gruplayarak sorgu yapılmasını sağlar. Örnek 1: Bu örnekte 91050099 nolu öğrencinin, aldığı dersleri ve bu dersleri kaç kez aldığını listeler. Örnek kayıtlara göre aşağıdaki sonuç elde edilir. Kodu Count Kayıt girme: Sql de tablolara yeni kayıt ekleme “Veri İşleme” bölümünde anlatılmıştır. Kayıt güncelleme: Sql de tablolarda varolan kayıtları güncelleme (bilgi düzeltme) işlemi “Veri İşleme” bölümünde anlatılmıştır. Kayıt silme: Sql de tablolardan varolan kayıtları tamamen silme işlemi “Veri İşleme” bölümünde anlatılmıştır. SQL VERİTABANI KOMUTLARI Sql de veritabanı komutları kalıcıdır, hatırlanırsa 4GL deki gibi oluşturulan geçici tablolar program durduğunda yok olmaktaydı. Tablo oluşturma: Yeni bir tablo oluşturmaya yarar. CREATE TABLE alan1 {tip} [özellikler], Özellikler, 4GL de değişken özelliklerini taşımaktadır.. Örnek 1: Ozluk tablosunun özelliklerini hatta aynısını SQL komutunu ile yukarıdaki gibi “ozluk1” tablosu oluşturulmaktadır. “Not Null” özelliği bu alanların zorunlu olarak doldurulması yani boş geçilemez olduğunu ifade etmektedir. Tablo adı değiştirme: “Alter” komutu ile tablo yapısı değiştirilir. Bir tablonun adı da değiştirilebilir. Tabloya alan ekleme: Tablolara yeni bir alan eklenebilmektedir. Tablodan alan silme: Var olan alanlar silinebilir. Tabloda alan adları değiştirme: Bir tabloya ait alanların da adı değiştirilebilir. Tabloda alan güncelleme: Var olan alanların özellikleri değiştirilebilmektedir. Örnek 1: Ozluk1 tablosuna öğrencinin baba adını girilebilmesi için, “baba_adi” adında bir alan eklenmiştir.. Örnek 2: Ozluk tablosunda var “baba_adi” alanını 25 olarak genişleten SQL komutunu yazılabilir. Örnek 3:
Ozluk1 tablosunda var olan “baba_adi” alanını silen SQL komutunu yazınız. “Ozluk1” tablosunun adını “Ozluk2” olarak değiştiren SQL komutudur. Örnek 5: Ozluk2 tablosundaki “adi” alanının adını “ograd” olarak değiştiren SQL komutudur.. Tablo Silme: Tablolara ihtiyaç kalmadığı zaman silmeye yarar. DROP TABLE . Örnek 1: Ozluk2 tablosunu silen SQL komutunu yazılabilir, burada tablodaki bilgilerde yok olacaktır.
|


Yorumlar
RSS beslemesi, bu iletideki yorumlar için