MYSQL etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
MYSQL etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Pratik Kodalar 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