MySQL Komut Rehberi

1. MySQL Sürümünü Görüntüleme
SELECT VERSION();

📌MySQL sürümünü gösterir.

2. MySQL'e Bağlanma
mysql -u root -p

📌MySQL’e root kullanıcısı ile bağlanır.

3. Tüm Veritabanlarını Listeleme
SHOW DATABASES;

📌Tüm veritabanlarını listeler.

4. Veritabanı Oluşturma
CREATE DATABASE testdb;

📌Yeni veritabanı oluşturur.

5. Veritabanı Silme
DROP DATABASE testdb;

📌Veritabanını siler.

6. Veritabanına Geçiş
USE testdb;

📌Belirtilen veritabanına geçer.

7. Tablo Listeleme
SHOW TABLES;

📌Veritabanındaki tabloları listeler.

8. Tablo Oluşturma
CREATE TABLE users (id INT, name VARCHAR(50));

📌Yeni tablo oluşturur.

9. Tablo Silme
DROP TABLE users;

📌Tabloyu siler.

10. Tablo Yapısını Görüntüleme
DESCRIBE users;

📌Tablo sütun bilgilerini listeler.

11. Tabloya Veri Ekleme
INSERT INTO users VALUES (1, 'Ali');

📌Tabloya satır ekler.

12. Tabloya Veri Ekleme (Sütun Bazlı)
INSERT INTO users (id, name) VALUES (2, 'Ayşe');

📌Belirtilen sütunlara veri ekler.

13. Verileri Listeleme
SELECT * FROM users;

📌Tüm satırları listeler.

14. Şartlı Veri Listeleme
SELECT * FROM users WHERE id = 1;

📌Koşullu sorgu yapar.

15. Veri Güncelleme
UPDATE users SET name='Mehmet' WHERE id=1;

📌Veriyi günceller.

16. Veri Silme
DELETE FROM users WHERE id=1;

📌Veriyi siler.

17. Tabloda Satır Sayısı
SELECT COUNT(*) FROM users;

📌Satır sayısını verir.

18. Veritabanını Yedekleme
mysqldump -u root -p testdb > backup.sql

📌Veritabanını yedekler.

19. Veritabanı Yedeğini Geri Yükleme
mysql -u root -p testdb < backup.sql

📌Yedeği yükler.

20. Kullanıcı Oluşturma
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

📌Yeni kullanıcı oluşturur.

21. Kullanıcı Silme
DROP USER 'newuser'@'localhost';

📌Kullanıcıyı siler.

22. Kullanıcı Yetki Verme
GRANT ALL PRIVILEGES ON testdb.* TO 'newuser'@'localhost';

📌Yetki verir.

23. Yetkileri Yenileme
FLUSH PRIVILEGES;

📌Yetkileri günceller.

24. Kullanıcı Yetkilerini Görüntüleme
SHOW GRANTS FOR 'newuser'@'localhost';

📌Kullanıcının yetkilerini gösterir.

25. Kullanıcı Şifresi Değiştirme
ALTER USER 'newuser'@'localhost' IDENTIFIED BY 'newpass';

📌Kullanıcı şifresini değiştirir.

26. Tablo Adını Değiştirme
RENAME TABLE users TO customers;

📌Tabloyu yeniden adlandırır.

27. Sütun Ekleme
ALTER TABLE users ADD email VARCHAR(100);

📌Tabloya sütun ekler.

28. Sütun Silme
ALTER TABLE users DROP COLUMN email;

📌Tablodan sütun siler.

29. Sütun Adını Değiştirme
ALTER TABLE users CHANGE name full_name VARCHAR(50);

📌Sütun adını değiştirir.

30. Sütun Tipini Değiştirme
ALTER TABLE users MODIFY name VARCHAR(100);

📌Sütun tipini değiştirir.

31. UNIQUE Kısıtlama Ekleme
ALTER TABLE users ADD UNIQUE (email);

📌Unique constraint ekler.

32. PRIMARY KEY Ekleme
ALTER TABLE users ADD PRIMARY KEY (id);

📌Primary key ekler.

33. FOREIGN KEY Ekleme
ALTER TABLE orders ADD CONSTRAINT fk_user FOREIGN KEY (user_id) REFERENCES users(id);

📌Foreign key ekler.

34. INDEX Ekleme
CREATE INDEX idx_name ON users(name);

📌Index ekler.

35. INDEX Silme
DROP INDEX idx_name ON users;

📌Index siler.

36. AUTO_INCREMENT Kullanma
CREATE TABLE logs (id INT AUTO_INCREMENT PRIMARY KEY);

📌Otomatik artan sütun oluşturur.

37. LIMIT Kullanımı
SELECT * FROM users LIMIT 5;

📌Sonuçları sınırlar.

38. DISTINCT Kullanımı
SELECT DISTINCT name FROM users;

📌Tekil kayıtları listeler.

39. ORDER BY Kullanımı
SELECT * FROM users ORDER BY name ASC;

📌Sonuçları sıralar.

40. LIKE ile Arama
SELECT * FROM users WHERE name LIKE 'A%';

📌LIKE ile filtreleme yapar.

41. BETWEEN Kullanımı
SELECT * FROM users WHERE id BETWEEN 1 AND 5;

📌Aralık sorgusu yapar.

42. IN Kullanımı
SELECT * FROM users WHERE name IN ('Ali', 'Ayşe');

📌Birden fazla değerle filtreler.

43. IS NULL Kullanımı
SELECT * FROM users WHERE email IS NULL;

📌Null kontrolü yapar.

44. IFNULL Kullanımı
SELECT IFNULL(email, 'Belirtilmemiş') FROM users;

📌Null yerine varsayılan değer verir.

45. NOW() Fonksiyonu
SELECT NOW();

📌Mevcut tarihi verir.

46. CURRENT_DATE Kullanımı
SELECT CURRENT_DATE;

📌Bugünün tarihini verir.

47. DATE_FORMAT Kullanımı
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d');

📌Tarihi formatlar.

48. CONCAT Kullanımı
SELECT CONCAT(name, ' - ', email) FROM users;

📌Stringleri birleştirir.

49. LENGTH Kullanımı
SELECT LENGTH(name) FROM users;

📌Karakter uzunluğunu verir.

50. SUBSTRING Kullanımı
SELECT SUBSTRING(name, 1, 3) FROM users;

📌Substring döndürür.

51. UPPER Kullanımı
SELECT UPPER(name) FROM users;

📌Metni büyük harfe çevirir.

52. LOWER Kullanımı
SELECT LOWER(name) FROM users;

📌Metni küçük harfe çevirir.

53. REPLACE Kullanımı
SELECT REPLACE(name, 'A', 'X') FROM users;

📌Metin değiştirir.

54. ROUND Kullanımı
SELECT ROUND(3.14159, 2);

📌Ondalıklı sayıyı yuvarlar.

55. FLOOR Kullanımı
SELECT FLOOR(3.9);

📌Aşağı yuvarlar.

56. CEIL Kullanımı
SELECT CEIL(3.2);

📌Yukarı yuvarlar.

57. RAND Kullanımı
SELECT RAND();

📌Rastgele sayı üretir.

58. SUM Kullanımı
SELECT SUM(id) FROM users;

📌Toplam değer hesaplar.

59. AVG Kullanımı
SELECT AVG(id) FROM users;

📌Ortalama hesaplar.

60. MIN Kullanımı
SELECT MIN(id) FROM users;

📌Minimum değeri verir.

61. MAX Kullanımı
SELECT MAX(id) FROM users;

📌Maksimum değeri verir.

62. GROUP BY Kullanımı
SELECT name, COUNT(*) FROM users GROUP BY name;

📌Gruplama yapar.

63. HAVING Kullanımı
SELECT name, COUNT(*) FROM users GROUP BY name HAVING COUNT(*) > 1;

📌Gruplama üzerinde filtre uygular.

64. CASE Kullanımı
SELECT name, 
CASE WHEN id=1 THEN 'Admin' ELSE 'User' END AS role
FROM users;

📌Koşullu değer döner.

65. INNER JOIN Kullanımı
SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;

📌Inner join yapar.

66. LEFT JOIN Kullanımı
SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;

📌Left join yapar.

67. RIGHT JOIN Kullanımı
SELECT * FROM users RIGHT JOIN orders ON users.id = orders.user_id;

📌Right join yapar.

68. CROSS JOIN Kullanımı
SELECT * FROM users CROSS JOIN orders;

📌Cross join yapar.

69. UNION Kullanımı
SELECT name FROM users
UNION
SELECT name FROM customers;

📌Birleşik sonuç döner.

70. UNION ALL Kullanımı
SELECT name FROM users
UNION ALL
SELECT name FROM customers;

📌Tekrarlı birleşim yapar.

71. Tabloya Yorum Ekleme
ALTER TABLE users COMMENT = 'Kullanıcı tablosu';

📌Tabloya açıklama ekler.

72. Tablo Karakter Seti Değiştirme
ALTER TABLE users CONVERT TO CHARACTER SET utf8;

📌Karakter setini değiştirir.

73. Transaction Başlatma
START TRANSACTION;

📌Transaction başlatır.

74. Transaction Commit
COMMIT;

📌Değişiklikleri kaydeder.

75. Transaction Rollback
ROLLBACK;

📌İşlemleri geri alır.

76. LOCK TABLES Kullanımı
LOCK TABLES users WRITE;

📌Tabloyu kilitler.

77. UNLOCK TABLES
UNLOCK TABLES;

📌Tablo kilidini kaldırır.

78. SHOW PROCESSLIST
SHOW PROCESSLIST;

📌Çalışan işlemleri listeler.

79. SHOW STATUS
SHOW STATUS;

📌MySQL durum bilgilerini gösterir.

80. SHOW VARIABLES
SHOW VARIABLES;

📌Sistem değişkenlerini gösterir.

81. SET GLOBAL Kullanımı
SET GLOBAL max_connections = 200;

📌Global ayar değiştirir.

82. CURRENT_USER()
SELECT CURRENT_USER();

📌Geçerli kullanıcıyı gösterir.

83. PASSWORD Kullanımı
SELECT PASSWORD('secret');

📌Hash oluşturur.

84. DATABASE()
SELECT DATABASE();

📌Mevcut veritabanını gösterir.

85. BENCHMARK Kullanımı
SELECT BENCHMARK(1000000,ENCODE('hello','goodbye'));

📌Performans testi yapar.

86. BENCHMARK Zaman Ölçümü
SELECT NOW(), BENCHMARK(1000000,ENCODE('hello','goodbye')), NOW();

📌Zaman ölçer.

87. VIEW Oluşturma
CREATE VIEW user_view AS SELECT * FROM users;

📌View oluşturur.

88. VIEW Silme
DROP VIEW user_view;

📌View siler.

89. TRIGGER Oluşturma
CREATE TRIGGER trg AFTER INSERT ON users
FOR EACH ROW
BEGIN
  INSERT INTO logs VALUES (NULL, NOW());
END;

📌Trigger oluşturur.

90. TRIGGER Silme
DROP TRIGGER trg;

📌Trigger siler.

91. PROCEDURE Oluşturma
CREATE PROCEDURE sp_test() BEGIN SELECT * FROM users; END;

📌Stored procedure oluşturur.

92. PROCEDURE Çalıştırma
CALL sp_test();

📌Stored procedure çalıştırır.

93. PROCEDURE Silme
DROP PROCEDURE sp_test;

📌Stored procedure siler.

94. FUNCTION Oluşturma
CREATE FUNCTION add_numbers(a INT, b INT) RETURNS INT RETURN a + b;

📌Fonksiyon oluşturur.

95. FUNCTION Kullanma
SELECT add_numbers(5, 10);

📌Fonksiyon çalıştırır.

96. FUNCTION Silme
DROP FUNCTION add_numbers;

📌Fonksiyon siler.

97. EXPLAIN Kullanımı
EXPLAIN SELECT * FROM users;

📌Sorgu planını gösterir.

98. SHOW WARNINGS
SHOW WARNINGS;

📌Uyarıları gösterir.

99. SELECT INTO OUTFILE
SELECT * FROM users INTO OUTFILE '/tmp/users.csv';

📌Veriyi dosyaya yazar.

100. MySQL’den Çıkış
exit;

📌MySQL oturumunu kapatır.