SQL Programlama TRUNCATE TABLE

TRUNCATE TABLE komutu bir tablo içinde yer alan verilerin silinmesi için kullanılır.

Genel yazım şekli aşağıdadır:

TRUNCATE TABLE tablo_adı

SQL Programlama REVOKE

Birden fazla kullanıcının işlem yaptığı veritabanı sistemlerinde Veri Kontrol Dili (Data Control Language - DCL) komutları kullanılarak güvenlik sağlanır. Veritabanı yöneticisi bir veritabanı veya tablo üzerindeki işlem yetkilerini verir veya kaldırır.

REVOKE komutu veritabanı ve tablolar için GRANT komutu ile verilen yetkiyi kullanıcılardan geri almak için kullanılır.

REVOKE komutu yazım şekli aşağıdadır:

REVOKE yetki_adı

ON nesne_adı

FROM { kullanıcı_adı | PUBLIC | rol_adı }

yetki_adı : Geri alınacak olan erişim yetkisidir.

nesne_adı: Üzerinde yetki geri alınacak olan tablo, View, Stored Proc gibi bir veritabanı nesnesini gösterir.

kullanıcı_adı: Yetkisi geri alınacak kullanıcının adını gösterir.

PUBLIC: Bütün kullanıcılardan yetkiyi geri almak için kullanılır.

rol_adı: Bir grup için toplanan yetkileri gösterir.

Aşağıdaki komut personel tablosu üzerinde SELECT komutunu kullanma yetkisini tüm kullanıcılardan geri alır:

Devamı...

SQL Programlama GRANT

Birden fazla kullanıcının işlem yaptığı veritabanı sistemlerinde Veri Kontrol Dili (Data Control Language - DCL) komutları kullanılarak güvenlik sağlanır. Veritabanı yöneticisi bir veritabanı veya tablo üzerindeki işlem yetkilerini verir veya kaldırır.

GRANT komutu veritabanı ve tablolar için kullanıcılara yetki vermek için kullanılır.

GRANT komutu yazım şekli aşağıdadır:

GRANT yetki_adı

ON nesne_adı

TO { kullanıcı_adı | PUBLIC | rol_adı }

[WITH GRANT OPTION]

yetki_adı : Kullanıcılara verilecek olan erişim yetkisidir. Erişim seçeneklerinden bazıları: ALL, SELECT, INSERT, UPDATE.

nesne_adı: Üzerinde yetki verilecek tablo, View, Stored Proc gibi bir veritabanı nesnesini gösterir.

kullanıcı_adı: Yetki verilecek kullanıcının adını gösterir.

PUBLIC: Bütün kullanıcılara yetki vermek için kullanılır.

rol_adı: Bir grup için toplanan yetkileri gösterir.

WITH GRANT OPTION: Bir kullanıcıya diğer kullanıcılara yetki verme olanağı sağlar.

Aşağıdaki komut personel tablosu üzerinde SELECT komutunu kullanma yetkisini tüm kullanıcılara verir.:

Devamı...

SQL Programlama fonksiyonları

Bilgisayarda fonksiyon bir veya daha fazla işlem satırından oluşan kodların bir kod bloğu şeklinde bir isim altında toplanması olarak ifade edilebilir. Böylece, sadece fonksiyon ismi çağrılarak, fonksiyon içinde yer alan kodlar çalıştırılır.

SQL içinde veriler üzerinde işlemler yapmak üzere hazır fonksiyonlar bulunur. SQL fonksiyonları genel olarak 2 gruba ayrılır:

SQL Çoklu Satır (Aggregate) Fonksiyonları

Bu fonksiyonlar bir sütunda yer alan birden fazla değerler üzerinde yaptığı hesaplamalar sonrası tek bir değer geri verir.

  • [AVG() :] Sayısal değer içeren bir tablo sütunundaki değerlerin ortalamasını verir.
  • [COUNT() :] Verilen kriterlere uyan tablo satır sayısını verir.
  • [FIRST() :] Tabloda belirtilen sütundaki ilk değeri verir.
  • [LAST() :] Tabloda belirtilen sütundaki son değeri verir.
  • [MAX() :] Tabloda belirtilen sütundaki en büyük değeri verir.
  • [MIN() :] Tabloda belirtilen sütundaki en küçük değeri verir.
  • [SUM() :] Sayısal değer içeren bir tablo sütunundaki değerlerin toplamını verir.

SQL Sayısal (Scalar) Fonksiyonları

Bu fonksiyonlar bir sütunda yer alan tek bir değere işlem yapar ve tek bir değer geri verir.

  • [LCASE() :] Bir alan değerini küçük harfe çevirir.
  • [LEN() :] Bir metin alanının uzunluğunu verir.
  • [MID() :] Bir metin alanındaki karakterlerin bir kısmını elde etmek kullanılır.
  • [NOW() :] Bilgisayarın tarih ve saat değerlerini verir.
  • [FORMAT() :] Bir veri alanının ne şekilde gösterileceğini belirler.
  • [ROUND() :] Sayısal bir veri alanının değerini bir tamsayıya yuvarlar.
  • [UCASE() :] Bir alan değerini büyük harfe çevirir.
Mlzid MlzAdi Fiyat
1 Masa 250
2 Sandalye 80
3 Kitaplık 310
4 Sehpa 120
5 Koltuk 250

AVG() fonksiyonu

Sayısal değer içeren bir tablo sütunundaki değerlerin ortalamasını verir.

AVG() fonksiyonunun yazım şekli aşağıdadır:

Devamı...

SQL Programlama DROP

DROP komutu veritabanı, tablo ve indekslerin silinmesi için kullanılır.

DROP DATABASE komutu bir veritabanını silmek için kullanılır ve genel yazım şekli aşağıdadır:

DROP DATABASE veritabanı_adı

DROP TABLE komutu bir tabloyu silmek için kullanılır ve genel yazım şekli aşağıdadır:

DROP TABLE tablo_adı

DROP INDEX komutu bir tablo indeksini silmek için kullanılır ve genel yazım şekli aşağıdadır:

ALTER TABLE tablo_adı DROP INDEX indeks_adı (MySQL)

DROP INDEX indeks_adı (DB2/Oracle)

DROP INDEX tablo_adı.indeks_adı (MSSQL)

SQL Programlama CREATE

CREATE DATABASE komutu veritabanı oluşturmak için kullanılır.

CREATE DATABASE komutunun genel yazım şekli:

CREATE DATABASE veritabanı_adı

Aşağıdaki komut dbase_temel adlı bir veritabanı oluşturur:

CREATE DATABASE dbase_temel

Bir veritabanı oluşturduktan sonra, CREATE TABLE komutu ile veritabanı içinde tablolar oluşturulabilir.

CREATE TABLE komutunun genel yazım şekli:

CREATE TABLE tablo_adı

(

sütun_adı1 veri_türü,

sütun_adı1 veri_türü,

)

Eğer aşağıdaki komutu kullanırsanız; 5 sütundan oluşan personel adlı bir tablo oluşturulur:

Devamı...

SQL Programlama ALTER

ALTER TABLE bir tabloya sütun eklemek, mevcut sütunları silmek veya değiştirerek tablonun yapısını değiştirmek için kullanılır.

ALTER TABLE komutunun genel yazım şekli:

Bir tabloya sütun eklemek için:

ALTER TABLE tablo_adı ADD sütun_adı veri_türü

Bir tablodaki sütunu silmek için:

ALTER TABLE tablo_adı DROP sütun_adı

Bir tablodaki sütunun veri türünü değiştirmek için:

ALTER TABLE tablo_adı ALTER COLUMN sütun_adı veri_türü (SQL Server, MS Access)

ALTER TABLE tablo_adı MODIFY COLUMN sütun_adı veri_türü (MySQL, Oracle)

Aşağıdaki personel adlı örnek tablo üzerinde işlemler yapmaya çalışalım:

Adi Soyadi Gorevi Memleketi
Ahmet Kara Öğretmen Sinop
Mehmet Ertürk Öğretmen Manisa
Serdar Şenel Memur Eskişehir
Metin Gökay Memur İzmir
Mehmet Keskin Öğrenci Kars
Seyfi Coşar Öğrenci Kırşehir
Cihan Özkan Öğrenci Sivas

Aşağıdaki komut personel tablosunda DTarihi adlı bir tarih veri sütunu oluşturur:

Devamı...

PHP veri türleri

PHP’de 4 farklı temel veri türü vardır:

  • boolean : Doğruluk değeri ifade eden ve TRUE (Doğru) ya da FALSE (Yanlış) değeri alan bir veri türüdür.
  • integer : Bir tamsayı değer içeren bir veri türüdür.
  • float : Gerçek sayılar olarak da bilinen büyük ve ondalıklı sayıları tanımlamaya yarayan veri türüdür.
  • string : Karakter dizileri tanımlamaya yarayan bir veri türüdür.

PHP’de 2 bileşik veri türü vardır:

  • Dizi (Array) : Farklı veri türlerini tek bir değişken adı ile tanımlayan bir veri kümesidir.
  • Nesne (Object) : Farklı veri türlerine ve fonksiyonlardan oluşan bir veri topluluğuna tek bir isim ile erişim sağlayan bir veri türüdür.

PHP’de 2 özel veri türü vardır:

  • resource : Özel fonksiyonlar tarafından oluşturulan ve kullanılan harici kaynaklara erişim için kullanılan özel bir değişkendir. Genellikle, bir MySQL dosyasına veya normal dosyaya sıra ile işlem yapmak için kullanılır.
  • NULL : Özel NULL değeri, değeri olmayan bir değişkeni ifade etmektedir. NULL veri tipinin tek olası değeri NULL’dur.

Ayrıca, PHP’de kullanılan sözde veri türleri ve değişkenler vardır:

  • mixed : Bu ifade bir fonksiyonun birden fazla veri türünde parametre alabileceğini gösterir. Ancak bu fonkisyonun tüm veri türlerini parametre olarak albileceğini göstermez.
  • number : Bu ifade bir fonksiyonun integer veya float veri türünde parametre alabileceğini gösterir.
  • callback : Global fonksiyonları, nesne fonksiyonlarını veya bir sınıf yapısının statik fonksiyonlarına erişim sağlayan ve bir fonksiyona, yine aynı fonksiyon tarafından daha sonra belirli koşullar sağlandığında çalıştırılmak üzere, aktarılan kod kümesidir.
  • void : Bir fonksiyon tarafından geri verilen değer olarak tanımlandığında herhangi bir şekilde kullanımı mümkün değildir. Bir fonksiyonun parametre listesi yerinde tanımlandığında, fonksiyona herhangi bir parametre geçirilemeyeceğini gösterir.
Devamı...

İlk PHP programı

PHP dosyalarını oluşturmak için Notepad veya benzeri herhangi bir metin düzenleyici program kullanabilirsiniz. Size, Türkçe dil desteğine sahip ve ücretsiz bir yazılım olan Notepad++ Metin Düzenleyicisini kullanmanızı öneriyoruz.

Bir PHP komut bloğu <?php ifadesi ile başlar ve ?> ifadesi ile sona erer.

Bir PHP dosyasını işlem görmek üzere sunucuya gönderdiğinizde, sunucuda yer alan komut çevirici dosyada işlem yapacağı satırların başlangıcını ve sonunu bu ifadelerden anlar.

PHP ile ilgili en önemli konu; PHP kodlarının sunucuda işlem görmesidir. Bir PHP dosyasında yer alan düz metin veya Html, Css, Javascript ve PHP kodları sunucuya gönderilir. Sunucuda işlem gördükten sonra, normal bir html dosyası olarak bilgisayardaki taracıya geri gönderilir ve ekranda gösterilir.

Şimdi ilk PHP dosyasını oluşturalım:

Devamı...

PHP'ye giriş

PHP, HTML içine yerleştirilebilen, dinamik web siteleri oluşturmaya yarayan açık kaynaklı bir web programlama dilidir.

PHP kısaltması PHP: Hypertext Preprocessor kelimelerini ifade etmektedir.

PHP dosyası

  • PHP dosyaları .php, .php3 veya .phtml uzantılı metin dosyası olarak oluşturulmalıdır.
  • PHP dosyaları 3 farklı içeriğe sahip olabilir:
    • Normal metin
    • HTML etiketleri
    • PHP komutları

Bilgisayarınızda bulunan php komutları içeren .php uzantılı bir dosyayı çalıştırdığınızda, dosya bir metin dosyası olarak açılır. Bu dosyanın bir web dosyası olarak işlem görmesi için bilgisayarınızda bir lokal sunucu kurulmuş olması gerekir.

PHP sunucu tarafında çalışan bir programlama dilidir.

  • Bilgisayarınızda yüklü olan web tarayıcısı bir web sayfasını görüntülemek için sadece HTML kodları içeren bir dosyaya ihtiyaç duyar.
  • HTML dosyasını 2 şekilde elde edebilirsiniz:
    • Bir HTML dosyayı direk olarak açarak: Bilgisayarınızda veya internet üzerinde bulunan ve sadece HTML kodları içeren bir HTML dosyasını çağırdığınızda, bilgisayarınızda aktif olarak çalışan internet tarayıcısı ilgili dosyayı açar ve ekranda gösterir.
    • HTML dosyayı dinamik olarak oluşturarak: PHP komutları içeren bir dosyayı sunucuya gönderirseniz, sunucu dosya içinde yer alan PHP komutlarının gereğini yerine getirerek dinamik bir HTML dosyayı oluşturur ve oluşturduğu HTML dosyayı tarayıcınıza geri gönderir.

Sunucu tarafında çalışması, PHP dosyasının ancak sunucuda komutların işlem görmesinden sonra bir web sayfası olarak görüntülenebileceğini ifade eder. Bu durumda, PHP ile oluşturulmuş bir web sayfasını açan ve kaynağını görüntelemek isteyen kullanıcılar sadece sunucu tarafından oluşturulmuş dinamik HTML içeriğini görebileceklerdir. Söz konusu HTML dosyasını oluşturmak için kullandığınız PHP koda erişemeyeceklerdir.

Bilgisayarımızdaki tarayıcıya bir HTML dosya gönderildiğinde direkt olarak açılır. PHP dosyalar ise işlem görmek üzere üzere sunucuya gönderilir. Sunucu kendisine gelen PHP dosyasını komut çeviriciye gönderir. Komut çevirici PHP dosya içinde bulunan HTML kodlara herhangi bir işlem yapmadan, PHP kodlara ise gereken işlemleri yaparak sonuçları dinamik HTML dosyasına aktarır. Oluşturduğu dinamik HTML dosyasını tarayıcıya geri gönderir.

Lokal ve internet sunucuları üzerinde çalışma

  • .php uzantılı dosyayı bilgisayarınıza kurulu sunucu altındaki bir klasör içinde çalıştırdığınızda, sunucu dosyada yer alan php komutlarına işlem yapar ve açık HTML kodlardan oluşturduğu dinamik web sayfasını tarayıcınıza geri gönderir.
  • .php uzantılı bir web sayfasını internet üzerinde çağırdığınızda ise dosyada yer alan komutlar yüklü olduğu sunucu tarafından yerine getirilir ve açık HTML kodlardan oluşan dinamik web sayfası olarak tarayıcınıza gönderilir.

PHP'de açıklamalar

PHP’de sadece kodlar hakkında bilgi vermek, hatırlatma yapmak vb.amaçlarla kodlar arasına açıklama cümleleri ekleyebilirsiniz. Bu açıklama ifadeleri PHP komut çevirici tarafından sanki hiç yazılmamış gibi işlem görür.

Devamı...

SQL Programlama UPDATE

UPDATE komutu bir veritabanındaki tablolarda yer alan kayıtlarda değişiklik yapmak ve güncellemek için kullanılır.

UPDATE komutunun genel yazım şekli:

UPDATE tablo_adı SET sütun_adı1=deger1, sütun_adı2=deger2, … WHERE sütun_adı=deger

WHERE yapısı kullanılmadığında tüm kayıtlar, kullanıldığında ise sadece koşulu karşılayan kayıtlar güncellenir.

Aşağıdaki personel adlı örnek tablo üzerinde işlemler yapmaya çalışalım:

Adi Soyadi Gorevi Memleketi DTarihi
Ahmet Kara Öğretmen Sinop 27.06.1980
Mehmet Ertürk Öğretmen Manisa 05.02.1972
Serdar Şenel Memur Eskişehir 25.09.1987
Metin Gökay Memur İzmir 07.04.1989
Mehmet Keskin Öğrenci Kars 28.08.1998
Seyfi Coşar Öğrenci Kırşehir 09.11.1996
Cihan Özkan Öğrenci Sivas 15.03.1997

Eğer aşağıdaki komutu kullanırsanız; “Seyfi Coşar” isimli kaydın ismi “Nedim Özdemir” olarak değiştirilir:

Devamı...

SQL Programlama SELECT

SELECT komutu bir veritabanında yer alan bir veya daha fazla tablodan istenen satır değerlerini almak için kullanılır.

SELECT komutu ile elde edilen veriler yine bir tabloya aktarılarak üzerinde işlem yapılır.

SELECT komutunun genel yazım şekli aşağıdadır. İlk satır sadece seçilen sütunları, ikinci satır ise tüm sütunları seçer:

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

SELECT * FROM tablo_adı

Aşağıdaki personel adlı örnek tablo üzerinde işlemler yapmaya çalışalım:

Adi Soyadi Gorevi Memleketi DTarihi
Ahmet Kara Öğretmen Sinop 27.06.1980
Mehmet Ertürk Öğretmen Manisa 05.02.1972
Serdar Şenel Memur Eskişehir 25.09.1987
Metin Gökay Memur İzmir 07.04.1989
Mehmet Keskin Öğrenci Kars 28.08.1998
Seyfi Coşar Öğrenci Kırşehir 09.11.1996
Cihan Özkan Öğrenci Sivas 15.03.1997

Eğer aşağıdaki komutu kullanırsanız; personel tablosunda yer alan tüm sütunlarda yer alan veriler sonuç tablosuna aktarılır:

SELECT * FROM personel

Sonuç

Adi Soyadi Gorevi Memleketi DTarihi
Ahmet Kara Öğretmen Sinop 27.06.1980
Mehmet Ertürk Öğretmen Manisa 05.02.1972
Serdar Şenel Memur Eskişehir 25.09.1987
Metin Gökay Memur İzmir 07.04.1989
Mehmet Keskin Öğrenci Kars 28.08.1998
Seyfi Coşar Öğrenci Kırşehir 09.11.1996
Cihan Özkan Öğrenci Sivas 15.03.1997

Eğer aşağıdaki komutu kullanırsanız; personel tablosunun ilk 3 sütununda yer alan veriler sonuç tablosuna aktarılır:

SELECT Adi, Soyadi, Gorevi FROM personel

Sonuç

Adi Soyadi Gorevi
Ahmet Kara Öğretmen
Mehmet Ertürk Öğretmen
Serdar Şenel Memur
Metin Gökay Memur
Mehmet Keskin Öğrenci
Seyfi Coşar Öğrenci
Cihan Özkan Öğrenci

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

Eğer aşağıdaki komutu kullanırsanız; sadece personel tablosunda yer alan öğretmenler sonuç tablosuna aktarılır:

SELECT * FROM personel WHERE Gorevi=’Öğretmen’

Sonuç

Adi Soyadi Gorevi Memleketi DTarihi
Ahmet Kara Öğretmen Sinop 27.06.1980
Mehmet Ertürk Öğretmen Manisa 05.02.1972

Eğer aşağıdaki komutu kullanırsanız; personel tablosundaki “Mehmet” isimli kayıtlar sonuç tablosuna aktarılır:

SELECT * FROM personel WHERE Adi=’Mehmet’

Sonuç

Adi Soyadi Gorevi Memleketi DTarihi
Mehmet Ertürk Öğretmen Manisa 05.02.1972
Mehmet Keskin Öğrenci Kars 28.08.1998

SELECT DISTINCT kullanımı

DISTINCT yapısı bir tablodaki sütunlarda yer alan aynı değerlerden sadece birinin alınmasını sağlar.

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

SELECT DISTINCT sütun_adı1, sütun_adı2, … FROM tablo_adı

Eğer aşağıdaki komutu kullanırsanız; personel tablosunun ilk sütununda yer alan veriler, birbirine benzer kayıtlar (“Mehmet”) sadece bir kez olmak üzere, sonuç tablosuna aktarılır:

SELECT DISTINCT Adi FROM personel

Sonuç

Adi
Ahmet
Mehmet
Serdar
Metin
Seyfi
Cihan

SELECT komutu ile AND ve OR işlemcileri kullanımı

AND ve OR kullanarak veritabanından verileri alırken birden fazla koşul tanımlayabilirsiniz.

AND işlemcisini kullandığınızda her iki koşulun da sağlanması gerekir.

OR işlemcisini kullandığınızda sadece tek koşulun da sağlanması yeterlidir.

AND ve OR işlemcilerinin kullanımı aşağıdaki şekildedir:

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

Eğer aşağıdaki komutu kullanırsanız; personel tablosundaki “Mehmet” isimli aynı zamanda “Öğretmen” olan tek kayıt sonuç tablosuna aktarılır:

SELECT * FROM personel WHERE Adi=’Mehmet’ AND Gorevi=’Öğretmen’

Sonuç

Adi Soyadi Gorevi Memleketi DTarihi
Mehmet Ertürk Öğretmen Manisa 05.02.1972

Eğer aşağıdaki komutu kullanırsanız; personel tablosundaki “Öğretmen” veya “Öğrenci” olan kayıtlar sonuç tablosuna aktarılır:

SELECT * FROM personel WHERE Gorevi=’Öğretmen’ OR Gorevi=’Öğrenci’

Sonuç

Adi Soyadi Gorevi Memleketi DTarihi
Ahmet Kara Öğretmen Sinop 27.06.1980
Mehmet Ertürk Öğretmen Manisa 05.02.1972
Mehmet Keskin Öğrenci Kars 28.08.1998
Seyfi Coşar Öğrenci Kırşehir 09.11.1996
Cihan Özkan Öğrenci Sivas 15.03.1997

SELECT ORDER BY kullanımı

ORDER BY yapısı tablodaki verileri tanımlanan bir sütun değerine göre sıralamak için kullanılır.

ORDER BY yapısı ön tanımlı olarak yükselen sıralama ile verileri sıralar. Azalan sıralama ile sıralama yapmak için DESC kelimesi kullanılır.

ORDER BY genel yapısı aşağıdaki şekildedir:

SELECT sütun_adı1, sütun_adı2, … FROM tablo_adı ORDER BY sütun_adı1, sütun_adı2, … ASC DESC

Eğer aşağıdaki komutu kullanırsanız; personel tablosundaki kayıtlar Adi sütununa göre sıralı olarak sonuç tablosuna aktarılır:

SELECT * FROM personel ORDER BY Adi

Sonuç

Adi Soyadi Gorevi Memleketi DTarihi
Ahmet Kara Öğretmen Sinop 27.06.1980
Cihan Özkan Öğrenci Sivas 15.03.1997
Mehmet Ertürk Öğretmen Manisa 05.02.1972
Mehmet Keskin Öğrenci Kars 28.08.1998
Metin Gökay Memur İzmir 07.04.1989
Serdar Şenel Memur Eskişehir 25.09.1987
Seyfi Coşar Öğrenci Kırşehir 09.11.1996

Eğer aşağıdaki komutu kullanırsanız; personel tablosundaki kayıtlar Soyadi sütununa göre sıralı olarak sonuç tablosuna aktarılır:

SELECT * FROM personel ORDER BY Soyadi

Sonuç

Adi Soyadi Gorevi Memleketi DTarihi
Cihan Özkan Öğrenci Sivas 15.03.1997
Seyfi Coşar Öğrenci Kırşehir 09.11.1996
Mehmet Ertürk Öğretmen Manisa 05.02.1972
Metin Gökay Memur İzmir 07.04.1989
Ahmet Kara Öğretmen Sinop 27.06.1980
Mehmet Keskin Öğrenci Kars 28.08.1998
Serdar Şenel Memur Eskişehir 25.09.1987

SQL komutları

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

Veri Sorgulama Dili (Data Query Language - DQL)

DQL içindeki SELECT komutu ile veritabanında yer alan mevcut kayıtların bir kısmını veya tamamınını tanımlanan koşullara bağlı olarak alır. SQL’de kullanılan ifadelerin çoğu SELECT komutu ile başlar::

SELECT : Veritabanındaki verileri alır.

Veri Kullanma Dili (Data Manipulation Language - DML)

DML komutları ile veritabanlarında bulunan verilere işlem yapılır. DML ile veritabanına yeni kayıt ekleme, mevcut kayıtları güncelleme ve silme işlemleri yapılır. SQL’de kullanılan ifadelerin çoğu aşağıdaki komutlardan biri ile başlar:

INSERT :(sql_insert) Veritabanına yeni veri ekler.

UPDATE :(sql_update) Veritabanındaki verileri günceller.

DELETE :(sql_delete) Veritabanındaki verileri siler.

Veri Tanımlama Dili (Data Definition Language - DDL)

DDL komutları ile veritabanı ve tabloları oluşturma, değiştirme ve silme işlemleri yapılır:

CREATE :(sql_create) Bir veritabanı veya veritabanı içinde tablo oluşturur.

ALTER :(sql_alter) Bir veritabanı veya veritabanı içindeki tabloyu günceller.

DROP :(sql_drop) Bir veritabanını veya veritabanı içindeki tabloyu siler.

Veri Kontrol Dili (Data Control Language - DCL)

DCL komutları ile kullanıcılara veritabanı ve tablolar için yetki verilir veya geri alınır:

GRANT :(sql_grant) Bir kullanıcıya yetki vermek için kullanılır.

REVOKE :(sql_revoke) Bir kullanıcıya verilen yetkiyi geri almak için kullanılır.

SQL Programlama INSERT

INSERT INTO komutu bir veritabanında yer alan tablolara yeni kayıt eklemek için kullanılır. Eklenen her bir kayıt tabloya yeni bir satır ekler.

INSERT INTO komutunu hem sütun adı hem de eklenecek verileri içerecek şekilde veya sadece eklenecek değerleri tanımlayarak kullanabilirsiniz:

Sütun adı ve veri tanımlayarak:

INSERT INTO tablo_adı (sütun_adı1, sütun_adı2, …) VALUES (deger1, deger2, …)

Sadece veri tanımlayarak:

INSERT INTO tablo_adı VALUES (deger1, deger2, …)

Aşağıdaki personel adlı örnek tablo üzerinde işlemler yapmaya çalışalım:

Adi Soyadi Gorevi Memleketi DTarihi
Ahmet Kara Öğretmen Sinop 27.06.1980
Mehmet Ertürk Öğretmen Manisa 05.02.1972
Serdar Şenel Memur Eskişehir 25.09.1987
Metin Gökay Memur İzmir 07.04.1989
Mehmet Keskin Öğrenci Kars 28.08.1998
Seyfi Coşar Öğrenci Kırşehir 09.11.1996
Cihan Özkan Öğrenci Sivas 15.03.1997

Eğer aşağıdaki komutu kullanırsanız; tanımlanan veriler karşılık gelen sütunlara aktarılarak personel tablosunda yeni bir satır yani kayıt oluşturulur:

Devamı...

SQL Giriş

SQL (Structured Query Language) bir ilişkisel veritabanı yönetim sistemi (RDBMS) içinde yer alan verileri yönetmek için oluşturulmuş bir programlama dilidir.

MySQL, MS SQL Server, Oracle, Sybase ve Postgres gibi tüm modern ilişkisel veritabanı yönetim sistemleri SQL’i standard veritabanı dili olarak kullanır.

1986 yılında ANSI (American National Standards Institute) tarafından ve 1987 yılında ISO (International Organization for Standards) standartları tanımlanan SQL’in zaman içinde eklenmiş özellikleriyle yeni standartlar belirlenmiştir.

İlişkisel veritabanı yönetim sistemi verileri tablolara depolayan bir sistemdir.

Veritabanı içinde tablo veya tabloları bulunduran veri deposudur.

Tablo ilişkisel veritabanı yönetim sisteminin temelini oluşturur. Tabloların her biri kendine has bir ada sahip olup sütun ve satırlardan oluşur. Sütunlar bir tablo için oluşturulan farklı türlerdeki veri alanlarını, satırlar ise bu veri alanlarını doldurulacak bilgileri gösterir.

SQL sunucu üzerinde SQL komutları kullanılarak temel olarak 4 farklı kavram ile işlem yapılır:

  1. Veritabanları : Tabloları barındırmak için kullanılır.

  2. Tablolar : Verileri depolamak için kullanılır.

  3. Kullanıcılar : Veritabanı ve tablolara erişim yetkisi için tanımlanır.

  4. Yetkiler : Kullanıcıların veritabanı ve tablolara erişim derecesini belirlemek için tanımlanır.

SQL kullanarak bir veritabanı oluşturma, silme, sorgulama, stored procedure ekleme, view oluşturma, tablo oluşturma, silme, kayıt ekleme, güncelleme, silme işlemleri yapabilir ve tüm bu işlemler için kullanıcılar ve yetki tanımlaması yapabilirsiniz.

SQL komutları için büyük ve küçük harf kullanmak arasında herhangi bir fark yoktur. Örneğin SELECT veya select şeklinde yazmak aynı işlemi gerçekleştirir.

SQL Programlama DELETE

DELETE komutu bir veritabanındaki tablolarda yer alan kayıtları silmek için kullanılır.

DELETE komutunun genel yazım şekli:

DELETE FROM tablo_adı WHERE sütun_adı=deger

WHERE yapısı kullanılmadığında tüm kayıtlar, kullanıldığında ise sadece koşulu karşılayan kayıtlar silinir.

Aşağıdaki personel adlı örnek tablo üzerinde işlemler yapmaya çalışalım:

Adi Soyadi Gorevi Memleketi DTarihi
Ahmet Kara Öğretmen Sinop 27.06.1980
Mehmet Ertürk Öğretmen Manisa 05.02.1972
Serdar Şenel Memur Eskişehir 25.09.1987
Metin Gökay Memur İzmir 07.04.1989
Mehmet Keskin Öğrenci Kars 28.08.1998
Seyfi Coşar Öğrenci Kırşehir 09.11.1996
Cihan Özkan Öğrenci Sivas 15.03.1997

Eğer aşağıdaki komutu kullanırsanız; “Seyfi Coşar” isimli kayıt silinir:

Devamı...

C Programlama Yapılar (Structures)

Daha önce, aynı türden olan verileri diziler içinde tanımladıktan sonra, sadece bir dizi ismini kullanarak bu verilere erişim sağladığımızı gördük. Türleri farklı olan verileri tek bir isim altında toplayabilmemiz için ise, yapı (structure) adı verilen kullanıcı tanımlı veri türlerini kullanabiliriz.

Yapı, farklı veri türlerini bir grup altında toplayan kullanıcı tanımlı bir veri türüdür. İki veya daha fazla elemandan oluşur. Bir yapı içindeki bütün veri tipleri aynı olabileceği gibi, her veri türü birbirinden farklı da olabilir.

Yapı bildirimi

Yapıları tanımlamak için aşağıda gösterilen üç yöntemden birini kullanabiliriz::

Devamı...

C Programlama Veri türü tanımlama (Typedef)

typedef ifadesini kullanarak, standart veri türlerinini (int, char, float, vs.) veya kullanıcı tanımlı yapıları farklı isimlerle tanımlayabiliriz. Bu şekilde mevcut bir veri türü için yeni bir isim veya yeni bir veri türü oluşturabiliriz. typedef ifadesinin genel yapısı aşağıdaki gösterilmektedir:

Devamı...

C Programlama standart kütüphanesi

C standart kütüphanesi, ANSI C standardında belirtildiği gibi C programlama dili için standart kütüphanedir.

C standart kütüphanesi string kullanımı, matematiksel hesaplamalar, giriş/çıkış işlemleri, bellek yönetimi ve diğer bazı işletim sistemi hizmetleri gibi görevler için makrolar, veri türleri ve fonksiyonlar tanımlar.

C standart kütüphanesinde tanımlanan tüm fonksiyon, makro ve veri türlerinin her biri bir başlık dosyasında tanımlanmıştır. Bu başlık dosyaları programlara #include ön işlemci direktifi ile dahil edilerek, fonksiyon, makro ve veri türlerini kullanmamız sağlanır. Başlık dosyalarının diğer bir görevi de, standart kütüphane dosyalarının prototipini programa sağlamasıdır.

ANSI C standartlarına göre sınırlı sayıda temel fonksiyon için tanımlanan kütüphane dosyalarına “Standart C Kütüphanesi” adı verilir. Standart C kütüphanesine ek olarak derleyici ve IDE üreticileri kendi ürettikleri özel fonksiyonların bulunduğu kütüphaneler oluşturarak kullanıcıların hizmetine sunmaktadırlar.

Kütüphane fonksiyonlarının programlarda kullanılabilmesi için, fonksiyonlar hakkındaki başlık bilgileri, C derleyicisinin bir alt dizininde (genelde include adlı) bulunan ve uzantısı .H olan dosyalara yerleştirilmiştir. Bu dosyalara “Başlık Dosyaları” adı verilir.

Günümüzde kullanılmakta olan C derleyicileri ve IDE’leri hazırlanırken, ANSI C standartlarına göre tanımlanmış olan bazı temel fonksiyonlar ile çok sık kullanılabileceği tahmin edilen ve günün ihtiyaçlarına göre miktarı değişebilen, IDE üreticileri tarafından hazırlanan fonksiyonları “Kütüphane Dosyaları” adı verilen ve .LIB uzantılı dosyalara yerleştirilir. Bu dosyalar derleyicinin belirli bir alt dizinine (genelde lib adlı) yerleştirilir. Kütüphane dosyaları içinde yer alan fonksiyonlara “Kütüphane Fonksiyonları” adı verilir.

C Standart Kütüphanesi Başlık Dosyaları

Dosya adı Açıklama C Standardı
(assert) Bir programın hata ayıklama sürümlerinde mantıksal hataların ve diğer hata türlerinin algılanmasına yardımcı olmak için kullanılan assert makrosunu içerir. C89
(complex) Karmaşık sayılarla ilgili fonksiyonlar içerir. C99
(ctype) Karakterleri türlerine göre sınıflandırmak veya büyük ve küçük harflere çevirmek için kullanılan fonksiyonlar içerir. C89
(errno) Kütüphane fonksiyonları tarafından bildirilen hata kodlarını kontrol etmek için kullanılan fonksiyonlar içerir. C89
(fenv) Float değerleri kontrol eden fonksiyonlar içerir. C99
(float) Float değerlerle ilgili makro sabitleri içerir. C89
(inttypes) Tam genişlikte integer değer veri türlerini tanımlar. C99
(iso646) Bazı standart token’ları tanımlamak için alternatif yöntem olarak birkaç makro tanımlar. NA1
(limits) Integer veri türleri için makro sabitleri tanımlar. C89
(locale) Yerelleştirme fonksiyonları içerir. C89
(math) Yaygın matematiksel fonksiyonlar içerir. C89
(setjmp) Yerel olmayan çıkışlar için kullanılan setjmp ve longjmp makroları içerir. C89
(signal) Sinyal işlem fonksiyonları içerir. C89
(stdalign) Nesnelerin hizalanmasını sorgulamak ve tanımlamak için. C11
(stdarg) Fonksiyonlara aktarılan değişkenlere erişim sağlama için C89
(stdatomic) Thread’ler arasında paylaşılan veri üzerinde atomik işlemler için. C11
(stdbool) Bool veri türü tanımlar. C99
(stddef) Bazı veri türleri ve makrolar tanımlar. C89
(stdint) Tam genişlikte integer veri türü tanımlar. C99
(stdio) Temel giriş ve çıkış fonksiyonlarını içerir. C89
(stdlib) Sayısal dönüşüm, rasgele sayı üretme, bellek ayırma ve proses kontrol fonksiyonları içerir. C89
(stdnoreturn) Değer geri döndürmeyen fonksiyonlar içerir. C11
(string) Karakter dizisi fonksiyonları içerir. C89
(tgmath) Tür tabanlı matematiksel fonksiyonlar içerir. C99
(threads) Birden fazla thread, muteks ve koşul değişkenlerini yöneten fonksiyonlar içerir. C11
(time) Tarih ve zaman işlemleri için fonksiyonlar içerir. C89