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ı
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ı
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ı...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ı...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:
Bu fonksiyonlar bir sütunda yer alan birden fazla değerler üzerinde yaptığı hesaplamalar sonrası tek bir değer geri verir.
Bu fonksiyonlar bir sütunda yer alan tek bir değere işlem yapar ve tek bir değer geri verir.
| Mlzid | MlzAdi | Fiyat |
|---|---|---|
| 1 | Masa | 250 |
| 2 | Sandalye | 80 |
| 3 | Kitaplık | 310 |
| 4 | Sehpa | 120 |
| 5 | Koltuk | 250 |
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ı...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)
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ı...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:
ALTER TABLE tablo_adı ADD sütun_adı veri_türü
ALTER TABLE tablo_adı DROP sütun_adı
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’de 4 farklı temel veri türü vardır:
PHP’de 2 bileşik veri türü vardır:
PHP’de 2 özel veri türü vardır:
Ayrıca, PHP’de kullanılan sözde veri türleri ve değişkenler vardır:
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, 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.
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.
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.
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ı...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ı...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 |
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 |
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 |
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 |
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ı 4 ana gruba ayrılır:
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.
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.
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.
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.
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 (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:
Veritabanları : Tabloları barındırmak için kullanılır.
Tablolar : Verileri depolamak için kullanılır.
Kullanıcılar : Veritabanı ve tablolara erişim yetkisi için tanımlanır.
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.
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ı...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ıları tanımlamak için aşağıda gösterilen üç yöntemden birini kullanabiliriz::
Devamı...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 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.
| Dosya adı | Açıklama | C Standardı |
|---|---|---|
| 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 | |
| Karmaşık sayılarla ilgili fonksiyonlar içerir. | C99 | |
| 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 | |
| Kütüphane fonksiyonları tarafından bildirilen hata kodlarını kontrol etmek için kullanılan fonksiyonlar içerir. | C89 | |
| Float değerleri kontrol eden fonksiyonlar içerir. | C99 | |
| Float değerlerle ilgili makro sabitleri içerir. | C89 | |
| Tam genişlikte integer değer veri türlerini tanımlar. | C99 | |
| Bazı standart token’ları tanımlamak için alternatif yöntem olarak birkaç makro tanımlar. | NA1 | |
| Integer veri türleri için makro sabitleri tanımlar. | C89 | |
| Yerelleştirme fonksiyonları içerir. | C89 | |
| Yaygın matematiksel fonksiyonlar içerir. | C89 | |
| Yerel olmayan çıkışlar için kullanılan setjmp ve longjmp makroları içerir. | C89 | |
| Sinyal işlem fonksiyonları içerir. | C89 | |
| Nesnelerin hizalanmasını sorgulamak ve tanımlamak için. | C11 | |
| Fonksiyonlara aktarılan değişkenlere erişim sağlama için | C89 | |
| Thread’ler arasında paylaşılan veri üzerinde atomik işlemler için. | C11 | |
| Bool veri türü tanımlar. | C99 | |
| Bazı veri türleri ve makrolar tanımlar. | C89 | |
| Tam genişlikte integer veri türü tanımlar. | C99 | |
| Temel giriş ve çıkış fonksiyonlarını içerir. | C89 | |
| Sayısal dönüşüm, rasgele sayı üretme, bellek ayırma ve proses kontrol fonksiyonları içerir. | C89 | |
| Değer geri döndürmeyen fonksiyonlar içerir. | C11 | |
| Karakter dizisi fonksiyonları içerir. | C89 | |
| Tür tabanlı matematiksel fonksiyonlar içerir. | C99 | |
| Birden fazla thread, muteks ve koşul değişkenlerini yöneten fonksiyonlar içerir. | C11 | |
| Tarih ve zaman işlemleri için fonksiyonlar içerir. | C89 |