­čĺŻ 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

-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]
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'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─▒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