MySQL Kopya Kâğıdı
Aranabilir, yazdırılabilir bir MySQL başvurusu — sorgular, joins, dizinler, fonksiyonlar, veri türleri ve yönetim komutları. Ücretsiz.
Sorgulama
10SELECT * FROM users;
Tüm sütun ve satırları seç
SELECT id, name FROM users;
Belirli sütunları seç
SELECT DISTINCT city FROM users;
Yalnızca benzersiz değerler
WHERE age > 18 AND active = 1
Satırları koşullara göre filtrele
WHERE name LIKE 'A%'
Desen eşleşmesi (% = herhangi karakter)
WHERE id IN (1, 2, 3)
Bir kümedeki herhangi bir değerle eşleştir
WHERE age BETWEEN 18 AND 30
Kapsayıcı aralık filtresi
ORDER BY created_at DESC
Azalan sırala
LIMIT 10 OFFSET 20
Sonuçları sayfalandır
WHERE email IS NULL
Null değerleri eşleştir
Join'ler
8INNER JOIN orders ON orders.user_id = users.id
Her iki tabloda eşleşen satırlar
LEFT JOIN orders ON ...
Tüm sol satırlar + eşleşmeler
RIGHT JOIN orders ON ...
Tüm sağ satırlar + eşleşmeler
CROSS JOIN colors
Kartezyen çarpım
SELF JOIN: FROM emp e JOIN emp m ON e.mgr = m.id
Bir tabloyu kendisiyle birleştir
USING (user_id)
Aynı adlı sütun üzerinde birleştir
UNION / UNION ALL
Sonuç kümelerini birleştir
SELECT u.*, o.total FROM users u JOIN orders o
Netlik için tabloları takma adla
Toplama
9COUNT(*)
Satırları say
SUM(amount)
Sayısal bir sütunun toplamı
AVG(price)
Ortalama değer
MIN(price), MAX(price)
En küçük ve en büyük
GROUP BY country
Toplama için satırları grupla
HAVING COUNT(*) > 5
Toplanan gruplar üzerinde filtrele
GROUP_CONCAT(name)
Gruplanan değerleri birleştir
COUNT(DISTINCT city)
Benzersiz değerleri say
ROW_NUMBER() OVER (ORDER BY id)
Pencere fonksiyonu sıralaması
Veriyi değiştirme
8INSERT INTO users (name) VALUES ('Sam');
Tek bir satır ekle
INSERT INTO users (name) VALUES ('A'),('B');
Birden çok satır ekle
UPDATE users SET active = 1 WHERE id = 5;
Eşleşen satırları güncelle
DELETE FROM users WHERE id = 5;
Eşleşen satırları sil
TRUNCATE TABLE logs;
Tüm satırları hızlıca kaldır
INSERT ... ON DUPLICATE KEY UPDATE
Benzersiz bir anahtarda upsert
REPLACE INTO users ...
Çakışmada sil + ekle
INSERT IGNORE INTO ...
Hata verecek satırları atla
Şema / DDL
9CREATE TABLE users (id INT PRIMARY KEY);
Yeni bir tablo oluştur
AUTO_INCREMENT
Otomatik numaralama sütunu
ALTER TABLE users ADD COLUMN age INT;
Bir sütun ekle
ALTER TABLE users DROP COLUMN age;
Bir sütunu kaldır
ALTER TABLE users MODIFY name VARCHAR(100);
Bir sütun türünü değiştir
DROP TABLE IF EXISTS users;
Bir tabloyu sil
FOREIGN KEY (user_id) REFERENCES users(id)
Başka bir tabloya referans ver
ON DELETE CASCADE
Silmeleri alt öğelere yansıt
CREATE TABLE t2 LIKE t1;
Bir tablo yapısını kopyala
İndeksler ve anahtarlar
8PRIMARY KEY (id)
Benzersiz satır tanımlayıcısı
UNIQUE (email)
Benzersiz değerleri zorunlu kıl
CREATE INDEX idx_name ON users (name);
Bir sütundaki aramaları hızlandır
CREATE INDEX idx_ab ON t (a, b);
Bileşik (çok sütunlu) indeks
DROP INDEX idx_name ON users;
Bir indeksi kaldır
FULLTEXT (body)
Tam metin arama indeksi
EXPLAIN SELECT ...;
Sorgu planını göster
SHOW INDEX FROM users;
Bir tablodaki indeksleri listele
Veri türleri
9INT, BIGINT, TINYINT
Boyuta göre tam sayı türleri
DECIMAL(10, 2)
Tam sabit noktalı sayılar
VARCHAR(255)
Değişken uzunluklu string
TEXT, LONGTEXT
Büyük metin blob'ları
DATE, DATETIME, TIMESTAMP
Tarih ve saat türleri
BOOLEAN (TINYINT(1))
0/1 olarak saklanan true/false
JSON
Yerel JSON belge sütunu
ENUM('a', 'b')
Sabit bir değer kümesinden biri
UNSIGNED
Negatif olmayan sayısal değiştirici
Type sizes & limits
20TINYINT
1 byte: -128..127 (0..255 UNSIGNED)
SMALLINT
2 bytes: -32,768..32,767 (0..65,535)
MEDIUMINT
3 bytes: -8.39M..8.39M (0..16.78M)
INT
4 bytes: -2.15B..2.15B (0..4.29B)
BIGINT
8 bytes: ±9.22×10^18 (0..1.84×10^19)
DECIMAL(M, D)
Exact: M up to 65 digits, D up to 30
FLOAT / DOUBLE
4 / 8 bytes approximate floating point
CHAR(M)
Fixed length, 0..255 characters
VARCHAR(M)
0..65,535 bytes (shared 64KB row limit)
TINYTEXT
Up to 255 bytes (~255 chars)
TEXT
Up to 65,535 bytes (64 KB)
MEDIUMTEXT
Up to 16,777,215 bytes (16 MB)
LONGTEXT
Up to 4,294,967,295 bytes (4 GB)
BLOB types
TINY/—/MEDIUM/LONG: 255B..4GB (binary)
JSON
Stored as LONGBLOB, up to ~4 GB
ENUM / SET
ENUM: 65,535 members; SET: 64 members
DATE
1000-01-01 to 9999-12-31 (3 bytes)
DATETIME
1000 to 9999, microseconds (5–8 bytes)
TIMESTAMP
1970-01-01 to 2038-01-19 UTC (4 bytes)
TIME / YEAR
±838:59:59 / 1901..2155
Fonksiyonlar
9NOW(), CURDATE()
Geçerli datetime / tarih
DATE_FORMAT(d, '%Y-%m-%d')
Bir tarihi biçimlendir
DATEDIFF(a, b)
İki tarih arasındaki günler
CONCAT(a, ' ', b)
String'leri birleştir
COALESCE(a, b, 'n/a')
İlk null olmayan değer
IFNULL(x, 0)
Null'u varsayılanla değiştir
CASE WHEN x > 0 THEN '+' ELSE '-' END
Koşullu ifade
CAST(x AS CHAR)
Bir değer türünü çevir
ROUND(x, 2)
Ondalıklara yuvarla
İşlemler ve yönetim
9START TRANSACTION;
Bir işlem başlat
COMMIT;
İşlemi kalıcı kıl
ROLLBACK;
İşlemi geri al
SAVEPOINT sp1;
Bir geri alma noktası ayarla
SHOW TABLES;
Veritabanındaki tabloları listele
DESCRIBE users;
Bir tablo yapısını göster
SHOW PROCESSLIST;
Çalışan bağlantıları listele
GRANT ALL ON db.* TO 'u'@'%';
Kullanıcı ayrıcalıkları ver
mysqldump -u root db > db.sql
Bir veritabanını yedekle (CLI)
“:q” ile eşleşen bir girdi yok.
Yardıma mı ihtiyacınız var?
Bu araçta bir sorun mu buldunuz? Ekibimize bildirin.