Links
💽

MySQL

MySQL, SQL dilini kullanan veri tabanıdır

Veri tipleri

Değişken Tipi
Açıklama
Not
BIT
0-1 (True - False) verilerini tutar.
Değer atanırken tırnaksız atanır
INT
Tam sayı değeri tutar
Basmak sayısı 1 için 0-9 arası
ENUM
Özel değişken oluşturma
Değerler tırnaklı olarak atanır
Örnekler için değişkenler kısmına bakabilirsin.

Where Operatörleri

Detaylar için buraya tıklayabilirsin.

Tablo İşlemleri

-Ekleme

Tablo işlemleri karma Notlar

Temel Fonksiyonlar

Fonksiyon
Özelliği
MAX
En yüksek değeri bulur
MİN
En düşük değeri bulur
AVG
Ortalama değeri bulur
COUNT
Adet saysını hesaplar
SUM
Toplam değeri hesaplar
CONCAT
Verilen metinleri birleştirir
Örnekler için temel fonksiyon örnekleri kısmına bakabilirsin.

Gruplama

GROUP BY ile yapılır.
  • Tekrarlı verileri göstermez.
  • DISTINCT anahtar kelimesini kullanmaya gerek kalmaz.
Gruplama yapılmazsa tek sorgu ekrana basılır.

Stored Function

Detaylı bilgi için buraya tıklayaibilirsin.
DROP FUNCTION IF EXISTS [FunctionName];
CREATE FUNCTION [FunctionName]([ParamName] [ParamType]) RETURNS [ReturnType]
DETERMINISTIC
BEGIN
DECLARE [paramName] [param_type];
RETURN ( [select_query] );
END;
-- Kullanım Şekli
SELECT
[FunctionName]([Param])
FROM
[Table] as [TableNewName]`;
  • DROP FUNCTION IF EXIST Fonksiyon daha önceden var ise kaldırır.
  • CREATE FUNCTION Fonksiyon oluşturma
  • RETURNS Fonksiyonun değer döndürmesi
  • BEGIN Fonksiyon başlangıcı
  • DECLARE Fonksiyona özgü değişken tanımlama alanı
  • END Fonksiyon sonu
-[FunctionName]: Fonksiyonun ismi, örn: GetProductName -[ParamName]: Parametre ismi, örn: name -[ParamType]: Int, Varchar, Float ... -[ReturnType]: Fonksiyonun döndüreceği sütunun özelliği, Örn: Varchar(64), int(11), double -Deterministic: Aynı girdiler için her zaman aynı değeri üretir. -[select_query]: Örn: SELECT from table;* -*[ReturnType] ile aynı olmak zorundadır.*

Debug Bilgileri

Join

INNER JOIN hataları test etmek için LEFT JOIN kullanılır. Bu hatalar:
-Boş veri döndürmesi
olabilir.

Explain

Sorgu ile ilgili detayları gösterir.
explain SELECT * from table;

Optimizasyon

Optimizasyon sorgunun hızlı sonuç vermesi için gereklidir. Optimizasyon işlemleri için:
-Indexleme -Key ile birleştirme (inner join) -Ek fonksiyonları kaldırma -explain anahtar kelimesi ile sorgu detaylarına bakma
gibi işlemlere başvurulur.
5s'den kısa sorgular kabul edilebilir hızdadır.

Ek Kaynaklar

Optimizasyon hakkında detaylı bilgi için buraya tıklayabilirsiniz.

MySQL Yapılandırması

MySQL yapılandırma dosyası

Yapılandırma dosyası olan my.ini dosyasını bulmak için:
  • ✲ Ctrl + R ile çalıştır uygulamasını açın
  • services.msc yazıp ENTER'a basın
  • Servis ekranında MySQL servisini bulup çift tıklayın
  • Genel sekmesi altında Path to Executable kısmında ini ile biten yol
  • Örnek Yol: C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

MySQL workbench üzerinden yapılandırma

SET GLOBAL [Ayar]=[Değer];
SET GLOBAL connect_timeout=28800;
SET GLOBAL wait_timeout=28800;
SET GLOBAL interactive_timeout=28800;

Karma yapılandırma notları

  • default-character-set=utf8

Karma Notlar

Örnekler

Temel örnekler

SELECT [ID], [Sütun] FROM [Tablo] WHERE [ID] = [Sayı];
UPDATE [Tablo] SET [Sütun] = [Değişken Tipine Uygun Değer] WHERE [ID] = [Sayı];
INSERT INTO [Tablo] VALUES ([Sütun1 Değeri], [Sütun2 Değeri]);

Tablo işlemleri

Tablo Oluşturma

CREATE TABLE IF NOT EXISTS [Tablo] (
[ID Sütunu] [Değişken Tipi] DEFAULT [Varsayılan Değer] PRIMARY KEY,
[Sütun] [Değişken Tipi]
);

Tablo değiştirme

ALTER TABLE [Tablo] ADD COLUMN [Sütun] [Değişken Tipi] DEFAULT [Varsayılan Değeri] AFTER [Önceki Sütun];
ALTER TABLE [Tablo] DROP COLUMN [Sütun];
ALTER TABLE [tablo ismi] ADD COLUMN [sütun ismi] BIT DEFAULT 0; -- veya False
ALTER TABLE [tablo ismi] ADD COLUMN [sütun ismi] INT(1) DEFAULT 1;
ALTER TABLE [tablo ismi] ADD COLUMN [sütun ismi] ENUM('0', '1') DEFAULT '0';
Yönelmek için veri tipleri linkine tıklayabilirsin.

Temel Fonksiyon Örnekleri

SELECT MAX(*) FROM Ogrenci;
SELECT MIN(*) FROM Ogrenci;
SELECT AVG(*) FROM Ogrenci;
SELECT COUNT(*) FROM Ogrenci;
SELECT ... WHERE CONCAT("product_id=", "208") = "product_id=208";
Yönelmek için temel fonksiyonlar yazısına bakabilirsin.

Karma MySQL sorgusu örnekleri

SELECT COUNT(if(`crr`.`return_reason_id` = 14, `crr`.`return_reason_id`, null)) from ...
Koşul sağlanırsa sayar.

Faydalı Kaynaklar

Last modified 1yr ago