SELECT VERSION();
📌MySQL sürümünü gösterir.
mysql -u root -p
📌MySQL’e root kullanıcısı ile bağlanır.
SHOW DATABASES;
📌Tüm veritabanlarını listeler.
CREATE DATABASE testdb;
📌Yeni veritabanı oluşturur.
DROP DATABASE testdb;
📌Veritabanını siler.
USE testdb;
📌Belirtilen veritabanına geçer.
SHOW TABLES;
📌Veritabanındaki tabloları listeler.
CREATE TABLE users (id INT, name VARCHAR(50));
📌Yeni tablo oluşturur.
DROP TABLE users;
📌Tabloyu siler.
DESCRIBE users;
📌Tablo sütun bilgilerini listeler.
INSERT INTO users VALUES (1, 'Ali');
📌Tabloya satır ekler.
INSERT INTO users (id, name) VALUES (2, 'Ayşe');
📌Belirtilen sütunlara veri ekler.
SELECT * FROM users;
📌Tüm satırları listeler.
SELECT * FROM users WHERE id = 1;
📌Koşullu sorgu yapar.
UPDATE users SET name='Mehmet' WHERE id=1;
📌Veriyi günceller.
DELETE FROM users WHERE id=1;
📌Veriyi siler.
SELECT COUNT(*) FROM users;
📌Satır sayısını verir.
mysqldump -u root -p testdb > backup.sql
📌Veritabanını yedekler.
mysql -u root -p testdb < backup.sql
📌Yedeği yükler.
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
📌Yeni kullanıcı oluşturur.
DROP USER 'newuser'@'localhost';
📌Kullanıcıyı siler.
GRANT ALL PRIVILEGES ON testdb.* TO 'newuser'@'localhost';
📌Yetki verir.
FLUSH PRIVILEGES;
📌Yetkileri günceller.
SHOW GRANTS FOR 'newuser'@'localhost';
📌Kullanıcının yetkilerini gösterir.
ALTER USER 'newuser'@'localhost' IDENTIFIED BY 'newpass';
📌Kullanıcı şifresini değiştirir.
RENAME TABLE users TO customers;
📌Tabloyu yeniden adlandırır.
ALTER TABLE users ADD email VARCHAR(100);
📌Tabloya sütun ekler.
ALTER TABLE users DROP COLUMN email;
📌Tablodan sütun siler.
ALTER TABLE users CHANGE name full_name VARCHAR(50);
📌Sütun adını değiştirir.
ALTER TABLE users MODIFY name VARCHAR(100);
📌Sütun tipini değiştirir.
ALTER TABLE users ADD UNIQUE (email);
📌Unique constraint ekler.
ALTER TABLE users ADD PRIMARY KEY (id);
📌Primary key ekler.
ALTER TABLE orders ADD CONSTRAINT fk_user FOREIGN KEY (user_id) REFERENCES users(id);
📌Foreign key ekler.
CREATE INDEX idx_name ON users(name);
📌Index ekler.
DROP INDEX idx_name ON users;
📌Index siler.
CREATE TABLE logs (id INT AUTO_INCREMENT PRIMARY KEY);
📌Otomatik artan sütun oluşturur.
SELECT * FROM users LIMIT 5;
📌Sonuçları sınırlar.
SELECT DISTINCT name FROM users;
📌Tekil kayıtları listeler.
SELECT * FROM users ORDER BY name ASC;
📌Sonuçları sıralar.
SELECT * FROM users WHERE name LIKE 'A%';
📌LIKE ile filtreleme yapar.
SELECT * FROM users WHERE id BETWEEN 1 AND 5;
📌Aralık sorgusu yapar.
SELECT * FROM users WHERE name IN ('Ali', 'Ayşe');
📌Birden fazla değerle filtreler.
SELECT * FROM users WHERE email IS NULL;
📌Null kontrolü yapar.
SELECT IFNULL(email, 'Belirtilmemiş') FROM users;
📌Null yerine varsayılan değer verir.
SELECT NOW();
📌Mevcut tarihi verir.
SELECT CURRENT_DATE;
📌Bugünün tarihini verir.
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d');
📌Tarihi formatlar.
SELECT CONCAT(name, ' - ', email) FROM users;
📌Stringleri birleştirir.
SELECT LENGTH(name) FROM users;
📌Karakter uzunluğunu verir.
SELECT SUBSTRING(name, 1, 3) FROM users;
📌Substring döndürür.
SELECT UPPER(name) FROM users;
📌Metni büyük harfe çevirir.
SELECT LOWER(name) FROM users;
📌Metni küçük harfe çevirir.
SELECT REPLACE(name, 'A', 'X') FROM users;
📌Metin değiştirir.
SELECT ROUND(3.14159, 2);
📌Ondalıklı sayıyı yuvarlar.
SELECT FLOOR(3.9);
📌Aşağı yuvarlar.
SELECT CEIL(3.2);
📌Yukarı yuvarlar.
SELECT RAND();
📌Rastgele sayı üretir.
SELECT SUM(id) FROM users;
📌Toplam değer hesaplar.
SELECT AVG(id) FROM users;
📌Ortalama hesaplar.
SELECT MIN(id) FROM users;
📌Minimum değeri verir.
SELECT MAX(id) FROM users;
📌Maksimum değeri verir.
SELECT name, COUNT(*) FROM users GROUP BY name;
📌Gruplama yapar.
SELECT name, COUNT(*) FROM users GROUP BY name HAVING COUNT(*) > 1;
📌Gruplama üzerinde filtre uygular.
SELECT name,
CASE WHEN id=1 THEN 'Admin' ELSE 'User' END AS role
FROM users;
📌Koşullu değer döner.
SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;
📌Inner join yapar.
SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;
📌Left join yapar.
SELECT * FROM users RIGHT JOIN orders ON users.id = orders.user_id;
📌Right join yapar.
SELECT * FROM users CROSS JOIN orders;
📌Cross join yapar.
SELECT name FROM users
UNION
SELECT name FROM customers;
📌Birleşik sonuç döner.
SELECT name FROM users
UNION ALL
SELECT name FROM customers;
📌Tekrarlı birleşim yapar.
ALTER TABLE users COMMENT = 'Kullanıcı tablosu';
📌Tabloya açıklama ekler.
ALTER TABLE users CONVERT TO CHARACTER SET utf8;
📌Karakter setini değiştirir.
START TRANSACTION;
📌Transaction başlatır.
COMMIT;
📌Değişiklikleri kaydeder.
ROLLBACK;
📌İşlemleri geri alır.
LOCK TABLES users WRITE;
📌Tabloyu kilitler.
UNLOCK TABLES;
📌Tablo kilidini kaldırır.
SHOW PROCESSLIST;
📌Çalışan işlemleri listeler.
SHOW STATUS;
📌MySQL durum bilgilerini gösterir.
SHOW VARIABLES;
📌Sistem değişkenlerini gösterir.
SET GLOBAL max_connections = 200;
📌Global ayar değiştirir.
SELECT CURRENT_USER();
📌Geçerli kullanıcıyı gösterir.
SELECT PASSWORD('secret');
📌Hash oluşturur.
SELECT DATABASE();
📌Mevcut veritabanını gösterir.
SELECT BENCHMARK(1000000,ENCODE('hello','goodbye'));
📌Performans testi yapar.
SELECT NOW(), BENCHMARK(1000000,ENCODE('hello','goodbye')), NOW();
📌Zaman ölçer.
CREATE VIEW user_view AS SELECT * FROM users;
📌View oluşturur.
DROP VIEW user_view;
📌View siler.
CREATE TRIGGER trg AFTER INSERT ON users
FOR EACH ROW
BEGIN
INSERT INTO logs VALUES (NULL, NOW());
END;
📌Trigger oluşturur.
DROP TRIGGER trg;
📌Trigger siler.
CREATE PROCEDURE sp_test() BEGIN SELECT * FROM users; END;
📌Stored procedure oluşturur.
CALL sp_test();
📌Stored procedure çalıştırır.
DROP PROCEDURE sp_test;
📌Stored procedure siler.
CREATE FUNCTION add_numbers(a INT, b INT) RETURNS INT RETURN a + b;
📌Fonksiyon oluşturur.
SELECT add_numbers(5, 10);
📌Fonksiyon çalıştırır.
DROP FUNCTION add_numbers;
📌Fonksiyon siler.
EXPLAIN SELECT * FROM users;
📌Sorgu planını gösterir.
SHOW WARNINGS;
📌Uyarıları gösterir.
SELECT * FROM users INTO OUTFILE '/tmp/users.csv';
📌Veriyi dosyaya yazar.
exit;
📌MySQL oturumunu kapatır.