SQL komutları
SQL’de sıklıkla kullanılan komutların yazımlarına ve kullanım örneklerine bu başlıkta değineceğim. Bu bilgiler bir SQL için gerekli olan konuların çoğunu ve nasıl çalıştığını anlamanızı sağlayacak.
Tüm bu SQL komutları, CREATE, ALTER, DROP, TRUNCATE, SELECT, INSERT, UPDATE, DELETE gibi anahtar kelimelerin herhangi biriyle başlar ve noktalı virgülle (;) biter.
Yukarıdaki kelimeler büyük harflerle yazılmış olmasına rağmen SQL dili büyük küçük harf duyarsızdır. UPDATE, Update yada update aynı anlamları ifade etmektedir. Şimdi komutlarımız nelerdir bunlara bakalım.
CREATE DATABASE
Yeni bir SQL veritabanı oluşturmak için kullanılır.
CREATE DATABASE databasename;
CREATE TABLE
Veritabanında yeni bir tablo oluşturmak için kullanılır.
CREATE TABLE table_name (column1 datatype, column2 datatype, column3 datatype, ....);
ALTER TABLE
Mevcut bir tablodaki sütunları eklemek, silmek veya değiştirmek için kullanılır. ALTER TABLE ifadesi ayrıca mevcut bir tabloya çeşitli kısıtlamalar eklemek ve bırakmak için kullanılır. Bir tabloya sütun eklemek için aşağıdaki sözdizimi kullanılır.
ALTER TABLE table_name
ADD column_name datatype;
Bir tablodaki bir sütunu silmek için aşağıdaki sözdizimi kullanılır. (Silmek istediğimiz verilerde eğer ilişki varsa sorun çıkartabilir.)
ALTER TABLE table_name
DROP COLUMN column_name;
Tablodaki bir sütunun veri türünü değiştirmek istediğimizde aşağıdaki sözdizimini kullanmamız gerekir.
ALTER TABLE table_name
MODIFY COLUMN column_name datatype;
DROP TABLE
Bir veritabanındaki mevcut bir tabloyu bırakmak için kullanılır.
DROP TABLE table_name;
TRUNCATE TABLE
Bir tablonun içindeki verileri silmek için kullanılır, ancak tablonun kendisini değil. Auto Increment değerler sıfırlanır.
TRUNCATE TABLE table_name;
SELECT
SQL SELECT deyimi, veritabanı tablosundan verileri tablo şeklinde almak için kullanılır. Bu sonuç tabloları da sonuç kümeleri olarak adlandırılır.
SELECT column1, column2, …, sutunN
FROM table_name;
sutun1, sutun2, … değerleri istediğimiz tablonun alanlarını göstermektedir. Tabloya ait bütün sütunları listelemek istersek SELECT * FROM tablo_adi;
şeklinde yazmak yeterlidir.
INSERT INTO
Tabloya yeni bir kayıt eklemek istediğimizde kullandığımız ifadedir. INSERT INTO ifadesini iki şekilde yazmak mümkündür: Hem sütun adlarını hem de eklenecek değerleri belirtin:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
Tablonun tüm sütunları için değer ekliyorsanız, SQL sorgusunda sütun adlarını belirtmeniz gerekmez. Ancak değerlerin sırasının tablodaki sütunlarla aynı sırada olduğundan emin olun. Burada, INSERT INTO sözdizimi aşağıdaki gibi olacaktır:
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
WHERE
Sorgularda sıklıkla karşımıza çıkacak olan WHERE terimi, kayıtları filtrelemek için kullanılır. Yalnızca belirli bir koşulu karşılayan kayıtları çıkarmak için kullanılır.
SELECT column1, column2, ...
FROM table_name
WHERE condition;
WHERE terimi yalnızca SELECT deyimlerinde kullanılmaz, aynı zamanda UPDATE, DELETE, vb.'de de kullanılır! WHERE terimi AND, OR ve NOT operatörleriyle birleştirilebilir.
OPERATÖRLER
AND ve OR operatörleri, kayıtları birden fazla koşula göre filtrelemek için kullanılır: AND operatörü, AND ile ayrılan tüm koşullar DOĞRU ise bir kayıt görüntüler. OR operatörü, OR ile ayrılan koşullardan herhangi biri DOĞRU ise bir kayıt görüntüler. NOT operatörü, koşul(lar) DOĞRU DEĞİLSE bir kayıt görüntüler.
SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;
SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;
UPDATE TABLE
Tablodaki mevcut kayıtları değiştirmek için kullanılır.
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
[DİKKAT] Bir tablodaki kayıtları güncellerken dikkatli olun! UPDATE deyimindeki WHERE yan tümcesine dikkat edin. WHERE yan tümcesi, hangi kayıt(lar)ın güncellenmesi gerektiğini belirtir. WHERE yan tümcesini atlarsanız, tablodaki tüm kayıtlar güncellenecektir!
DELETE TABLE
Tablodaki mevcut kayıtları silmek için kullanılır. Auto Increment değerleri sıfırlanmaz. Sonraki kayıtlarda kaldığı yerden devam eder.
DELETE FROM table_name WHERE condition;
[DİKKAT] Bir tablodaki kayıtları silerken dikkatli olun! DELETE deyimindeki WHERE yan tümcesine dikkat edin. WHERE yan tümcesi, hangi kayıt(lar)ın silineceğini belirtir. WHERE yan tümcesini atlarsanız, tablodaki tüm kayıtlar silinecektir!