💽 MySQL
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
Tablo işlemleri karma Notlar
-Var olan tabloya varsayılan değerli bir sütun ekleme
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]DETERMINISTICBEGINDECLARE [paramName] [param_type];RETURN ( [select_query] );END;-- Kullanım ŞekliSELECT[FunctionName]([Param])FROM[Table] as [TableNewName]`;
DROP FUNCTION IF EXIST
Fonksiyon daha önceden var ise kaldırır.CREATE FUNCTION
Fonksiyon oluşturmaRETURNS
Fonksiyonun değer döndürmesiBEGIN
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'de sorguların hızlı çalışması için ne yapılmalıdır? -Indexleme neden yapılır?
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ıpENTER
'a basın- Servis ekranında MySQL servisini bulup çift tıklayın
Genel
sekmesi altındaPath to Executable
kısmındaini
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
- Getting Last Record
- Select içinde if kullanma
- Koşullu Sayma
- En yüksek değer sahip satırı alma
- Sadece en yüksek değere eşit olan satırları alma <- Optimize Edilmiş
Ö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 FalseALTER 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.