mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-24 01:51:38 +00:00
124 lines
3.7 KiB
Markdown
124 lines
3.7 KiB
Markdown
---
|
||
contributors:
|
||
- ["Metin Yalçınkaya", "https://github.com/mtnylnky"]
|
||
filename: learnsql-tr.sql
|
||
---
|
||
|
||
|
||
```sql
|
||
-- Yorumlar iki tire ile başlar
|
||
|
||
-- KISITLAR
|
||
Not null -- Bir kolon asla boş olamaz
|
||
default -- Boş olan yerlere varsayılan bir değer atar
|
||
unique -- Bir kolondaki tüm değerlerin farklı olması kısıtlaması
|
||
primary key -- Bir tablodaki her veri için kimlik bilgisi niteliğindedir
|
||
check -- Bir kolondaki değerlerin belli bir kısıtlamayı sağlamasını sağlar
|
||
|
||
-- Tablo oluşturulur
|
||
CREATE TABLE tablo1 ();
|
||
|
||
-- Tabloyu içerisinde kolonlar ile oluşturma
|
||
CREATE TABLE tablo1(id INTEGER PRIMARY KEY NOT NULL UNIQUE, ad TEXT, soyad TEXT, yas INTEGER);
|
||
|
||
-- TABLO varlığını kontrol eder
|
||
.table
|
||
|
||
-- Veri tabanında olan bütün tabloları görüntüler.
|
||
.schema
|
||
|
||
-- Satır ekle
|
||
INSERT INTO tablo1 ( ad, soyad) VALUES ("Deger1","Deger2");
|
||
|
||
-- Veritabanında tablo üzerindeki verileri görüntüle
|
||
-- Sadece 'ad' gibi sınırlı bir veri için
|
||
SELECT ad FROM tablo1;
|
||
-- Bütün veriler için
|
||
SELECT * FROM tablo1;
|
||
|
||
-- Veri güncelleme
|
||
UPDATE tablo1 SET ad = "deger1-2"; WHERE name = "Deger1";
|
||
|
||
-- Satır sil
|
||
DELETE FROM tablo1 WHERE id = 1;
|
||
DELETE FROM tablo1 WHERE ad = "Deger1" OR ad = "Deger2";
|
||
|
||
-- Tabloya sonradan kolon ekleme
|
||
ALTER TABLE tablo1 ADD COLUMN email TEXT;
|
||
|
||
-- Tablodaki kolon adı değiştirme
|
||
EXEC sp_rename ' tablo1.[ad]', Ad, 'COLUMN';
|
||
|
||
-- Tablo adı değiştirme
|
||
ALTER TABLE table1 RENAME TO Table1;
|
||
|
||
-- Tabloyu silme
|
||
DROP TABLE Table1;
|
||
|
||
-- BİR TABLOYU BAŞKA TABLO KULLANARAK DOLDURMAK
|
||
INSERT INTO Tablo2 SELECT id,ad, soyad, email from Tablo1;
|
||
|
||
-- LIKE KOMUTU
|
||
-- Belirli bir kritere göre arama yaparken kullanılır
|
||
-- Adı 'A' ile başlayan veriler
|
||
SELECT * FROM tablo1 WHERE adi LIKE "A%";
|
||
-- İçinde 'A' olan veriler
|
||
SELECT * FROM tablo1 WHERE adi LIKE "%A%";
|
||
|
||
-- LIMIT KOMUTU
|
||
-- Gösterilen satır sayısını sınırlamak için
|
||
SELECT * FROM Tablo1 LIMIT 6;
|
||
-- Gösterilen satırları belirli bir noktadan başlamak üzere sınırlamak için
|
||
SELECT * FROM Tablo1 LIMIT 6 OFFSET 3;
|
||
|
||
-- ORDER BY KOMUTU
|
||
-- Herhangi bir kolona göre gösterilen değerleri azalan veya artan şekilde sıralamak için
|
||
SELECT kolon FROM tablo1 WHERE yas ORDER BY column1, column2, .. columnN] [ASC | DESC];
|
||
SELECT * FROM Tablo1 ORDER BY yas ASC
|
||
SELECT * FROM Tablo1 ORDER BY yas DESC
|
||
|
||
-- DISTINCT ANAHTAR SÖZCÜĞÜ
|
||
-- Bu anahtar sözcükle sadece farklı değerler gösterilir.
|
||
SELECT DISTINCT yas FROM tablo1;
|
||
|
||
-- JOIN KOMUTU
|
||
-- CROSS JOIN
|
||
-- Cross join bir tablodaki her satırı ikinci tablodaki bir satır ile eşleştirmek için kulanılır.
|
||
-- Eğer birinci tabloda x satır ikinci tabloda y satır varsa sonuçta x*y satır olur.
|
||
SELECT ... FROM table1 CROSS JOIN table2 …
|
||
SELECT ad, yas FROM Tablo1 CROSS JOIN Tablo2;
|
||
|
||
-- INNER JOIN
|
||
-- Inner join iki tablodaki ortak kolon değerlerini kullanarak bir sonuç üretir.
|
||
SELECT ... FROM table1 [INNER] JOIN table2 ON conditional_expression …
|
||
SELECT ad, yas FROM Tablo1 INNER JOIN Tablo2 ON Tablo1.ad = Tablo2.soyad;
|
||
|
||
-- OUTER JOIN
|
||
-- Outer join iki tablodaki ortak kolon değerlerinin dışında kalanları kullanarak bir sonuç üretir.
|
||
SELECT isci_num, isim, dept FROM Tablo1 LEFT OUTER JOIN Tablo2 ON Tablo1.id = Tablo2.isci_num;
|
||
|
||
-- ÇEKİRDEK FONKSİYONLAR
|
||
COUNT -- Sayma
|
||
AVG -- Ortalama
|
||
ABS -- Mutlak değer
|
||
SUM -- Toplam
|
||
RANDOM -- Rastgele
|
||
ROUND -- Yuvarlama
|
||
MAX -- Maksimim
|
||
MIN -- Minimum
|
||
UPPER -- Büyük Harf
|
||
LOWER -- Küçük Harf
|
||
LENGTH -- Uzunluk
|
||
CURRENT_TIMESTAMP -- Zaman
|
||
|
||
SELECT max(yas) FROM Table1;
|
||
SELECT min(yas) FROM Table1;
|
||
SELECT avg(yas) FROM Table1;
|
||
SELECT * From Table1 WHERE yas ==18;
|
||
SELECT sum(yas) FROM Table1;
|
||
SELECT random() AS Random;
|
||
SELECT upper(ad) FROM Table1;
|
||
SELECT lower(ad) FROM Table1;
|
||
SELECT ad, length(ad) FROM Table1;
|
||
```
|