Pratik Kodalar MYSQL
MYSQL
#birden fazla veri eklemek için kullanılır.
INSERT INTO tablo_adi(id...) VALUES (1...) ,(1...) ,(1...)
#eğer kayıtlı bir veri var ise tarihi update et.
ON DUPLICATE KEY UPDATE tarih = '2023-11-11'
#NOT isim test olmayanları getir.
SELECT * FROM tablo_adi
WHERE NOT isim ='test'
# arası gelir
SELECT * FROM LIMIT 2,4
# IS NULL null olanları getir
SELECT * FROM tablo_adi WHERE isim IS NULL
#NOT NULL null olmayanları getir
SELECT * FROM tablo_adi WHERE isim IS NOT NULL
#kelimede başında p ve 3 harfi p olanları getir, ortasındaki harfi dikkate alma
SELECT * FROM tablo_adi WHERE isim like 'p_p'
#olanları sırayla getir
SELECT * FROM tablo_adi ORDER BY FIELD(hit,17,20,22)
#çarpma işlemini yapar en yüksek olanı sıralar.
SELECT id tutar*kdv AS toplam FROM tablo_adi ORDER BY toplam DESC
#CONCAT_WS birleştir ve araya karakter eklemeye yarar.
SELECT CONCAT_WS(',',isim,soyisim) AS full_name FROM tablo_adi
#iki fieldı bileştirip getirir.
SELECT *,CONCAT(name," - ",surname) AS fullanme FROM tablo_adi
#sub query
SELECT * FROM tablo_adi where
id IN (select userid from uye_konu where hit > 20)
# userid varsa buna göre bir arama yapıcak.
SELECT * FROM tablo_adi where EXISTS (select userid from uye_konu where tablo_adi.id = uye_konu.userid)
# id göre sıralam işlemi yapıyor 2 tablodaki isim fieldını id göre getiriyor.
#bütün satırları kendi satırımız gibi gösterebiliyoruz.
SELECT id,isim FROM tablo_adi UNION Select id,isim from uye_konu
#last insert id enson eklenen verinin id alır
INSERT INTO tablo_adi(id...) VALUES (1...);
Select LAST_INSERT_ID();
#name fieldında e geçen harfleri ünlem yap
Update users set name replace(name,'e','!') where id=1;
# select içinde if "case" yazımı.
SELECT id,isim,cinsiyet
CASE
When cinsiyet = 0 then "Kadın"
When cinsiyet = 1 then "Erkek"
else "Bulunamadı"
end as Cinsiyet
From users
#Distinct tekrar eden verileri getirme, sadece 1 tane gelsin
select Distinct il from users;
select COUNT(Distinct il) from users;
#Regexp Kullanımı
SELECT name FROM users where name REGEXP 'a' #a geçen name 'leri getir.
SELECT name FROM users where name REGEXP '^mu' #^mu ile başlayan name getir.
SELECT name FROM users where name REGEXP 'e$' # sonu e ile bitenleri getir.
#kordinaatlar arası hesaplama
https://www.youtube.com/watch?v=0fTfADPCO-E&list=PL3dHQB1OoCaCDIwFcx_O6f8m9eFH9ZCmL&index=25
#Önce istediğimiz Verileri İlk Sırada Getirmek
SELECT * FROM users order by field (id,7,9) #sona atar
SELECT * FROM users order by field (id,7,9,id) #başa atar