herkes mysql uzmanı olsun - Google Fan Webmaster Forum
Google Fan Webmaster Forum  

Geri git   Google Fan Webmaster Forum > Genel Programlama > Database
Kayıt ol Articles Sosyal Gruplar Forumları Okundu Kabul Et

Database Access Oracle MSSQL MySQL Sybase DB2 Databases

Like Tree4Likes

Cevapla
 
LinkBack Seçenekler
  1  
Alt 20-07-2009, 11:44:32
Üyeliği durduruldu
 
Standart herkes mysql uzmanı olsun

öncelikle bu konuda basit sql cümleciklerini kullanmıyacagım direk profesyonellige adım atmak isteyen arkadaşlar için bu konu bazı scriptleri inceledigimiz zaman bizimkinden farklı gelir bazı komutları bende bu konuda takımıştım vede türkçe kaynak yok denilebilecek kadar az
ilk komutumuz LEFT JOIN

nedir bu left join komutu ? şöyle bir örnek vereyim bir forum yazıyorsunuz forum konusuna girdiginiz zaman
uyeler tablosu
konu başlıgı tablosu
mesajlar tablosu
vbulletin gibi (itrader rep imza) gibi bilgileri almak için bir sürü sql sorgusu yazarız buda bizim sayfa açılma süresini arttırır
bunun yerine şu şekil bir kullanım bizim için daha uygundur
PHP- Kodu:
select from _konular LEFT JOIN _mesajlar
ON _konular
.id_mesajlar.konu_id 
çogaltırsak (sadece 2 örnek verdim) php bun tabloları hafızasında tutuyor kullanımıza gelincede
PHP- Kodu:
while($row=mysql_fetch_assoc($sql)):
echo 
'Konu başlıgı  :'.$row["baslik"].'<br>';
echo 
'Mesajı yazan :'.$row["yazan"].'<br>';
endwhile; 
olarak kullanırsak karmaşık kodlardan vede zamandan tasarruf etmiş oluruz
diger dersler konu altından devam edicektir..

Konu LoverzSoft tarafından (20-07-2009 Saat 23:36:13 ) değiştirilmiştir..
Alıntı ile Cevapla


Sponsored Links
  2  
Alt 20-07-2009, 11:52:45
Üyeliği durduruldu
 
Standart

sum komutu sayısal degerleri toplamaya yarar örnegin bir oyun siteniz var toplam oynanmayı saymak istiyorsunuz bunu aşagıdaki cümlecik ile halladebiliriz

PHP- Kodu:
SELECT SUM(hitFROM _oyunlar 
olarak ekrana çıktılarsak oyunlar tablosundaki hit sutunundaki tüm degerleri toplam ve bize çıktılar..
Alıntı ile Cevapla


  3  
Alt 20-07-2009, 11:55:59
Üyeliği durduruldu
 
Standart

order by cümlecigi bize listeleme türünü sorar örnek vermek gerekirse en çok oynan oyunları listelemek istiyorsunuz bunu için

PHP- Kodu:
select id,baslik,hit from _oyunlar order by hit desc 
cümlecigi ile verileri sondan listeleyebiliriz

desc = en büyük veriden listeler
asc = en küçük veriden listeler
Alıntı ile Cevapla


  4  
Alt 20-07-2009, 11:59:33
Üyeliği durduruldu
 
Standart

limit sözlügü ise oyun sitesinden girmişken ondan devam edelim ana sayfada sadece 10 veriyi listelemek istiyorsunuz bunu nasıl yapabiliriz bunu aslında php ile yapabiliriz fakat verileri komple döndürür vede hafızasında tutar buda bir ölüm demektir büyük oyun siteleri için bunun için şu cümlecigi kullanıyoruz

PHP- Kodu:
select from oyunlar limit 10 
ilk 10 veriyi alır bir önceki dersteki order by cümlecigini kullanırsak

PHP- Kodu:
select from oyunlar order by id desc limit 10 
son 10 veriyi alır

PHP- Kodu:
select from oyunlar limit 10,
ilk 10 veriden sonraki 5 veriyi alır..
Alıntı ile Cevapla


  5  
Alt 20-07-2009, 12:04:43
Üyeliği durduruldu
 
Standart

group by cümlecigi tekrar bir örnek ile konuya girelim yine oyun sitesinden örnek verelim örnegin uyeler tablomuz ayrı oyunlar tablomuz ayrı biz bunları en çok oyun ekleyen üyeden en az a dogru sıralıcaz aslında bu kadar detaya girmeden 2 3 cümlecik ile yazabiliriz fakat profesyonel coder az kod çok iş yapar direk örnek cümlecigimize geçelim

PHP- Kodu:
SELECT ekleyenCOUNT(ekleyen) as toplamda FROM oyunlar  group by oyun order by toplamda desc 
Alıntı ile Cevapla


  6  
Alt 20-07-2009, 12:10:30
Üyeliği durduruldu
 
Standart

mysql_real_escape_string bu komut mysql ile alakalı olmayıp ama bazı karşılaşacagımız hataları önler örnegin (yine oyun sitesi ) admin'imiz sitesine oyun ekliyecek eklerken mario'nun manitasını kurtar ve.. (tek tırnak kullanımı)

gibi bunu direk hiç bir süzgeçten çegirmeden eklersek ekranda near ' gibi bir hata alırız bunun sebebi ise veri eklerken komutumuz şu

PHP- Kodu:
insert into oyunlar (baslikvalues ('$baslik'
olarak yaparsak vede admin mario'nun manitasını kurtar gibi bir başlık girerse direk sorgumuz

PHP- Kodu:
insert into oyunlar (baslikvalues ('mario'nun manitasını kurtar
tırnaktan sonrası tanımsız olarak görüncek ve veri eklemiyecek biz böyle bir hata ile karşılaşmamak istiyorsak

PHP- Kodu:
$baslik mysql_real_escape_string($_POST["baslik"]); 
olarak yapıp eklersen ' tırnak veya çift tırnakların önüne ters slash koyar \' mysql de tek tırnagı ters slash oldugu için okumaz kodumuz çalışır..
Alıntı ile Cevapla


  7  
Alt 20-07-2009, 12:16:22
Üyeliği durduruldu
 
Standart

DROP TABLE cümlecigi veri tabanından belirtilen tabloyu kaldırır buna bir örnek bulamadım

PHP- Kodu:
DROP TABLE oyunlar 
veritabanından oyun tablosunu kaldırır..
Alıntı ile Cevapla


  8  
Alt 20-07-2009, 12:17:56
Üyeliği durduruldu
 
Standart

create database yeni bir veritabanı oluşturur örnegin scriptinizde install dosyası var siz hiç dosya açıp yapmamk istiyorsanız sadece mysql user ve pass alıcaksanız ve veritabanını siz oluşturcaksanız bu cümlecigi kullanabiliriz

PHP- Kodu:
CREATE DATABASE 555_oyun 
Alıntı ile Cevapla


  9  
Alt 20-07-2009, 12:33:07
Üyeliği durduruldu
 
Standart

fulltext cümlecigi aslında bir çok sistem arama için like kullanıyor ama mysql in fulltext i yanında çok basit kalıyor sebebi ise fulltext için daha hızlı ve dogru sonuçlar vermesidir bir örnek ile açıklıyacak olursak

PHP- Kodu:
SELECT FROM oyunlar WHERE  MATCH(baslikAGAINST  ('araba'
normal veritabanı yapımız innoDB dir full text özelligini kullanabilmek için tablo yapınız myisam olmalıdır.
Alıntı ile Cevapla


  10  
Alt 20-07-2009, 12:35:20
Üyeliği durduruldu
 
Standart

rand() sözcügü phpdede kullanılan bir komuttur örnek vermek gerekirse oyun oynattıgınız sayfanın yan tarafında rasgele 10 oyunu listeletip bunlarıda oynadınız mı gibi birşey sorulabilir bunun için şu cümlecigi kullanıyoruz

PHP- Kodu:
SELECT FROM oyunlar ORDER BY RAND() LIMIT 10 
Alıntı ile Cevapla


Cevapla


Bookmarks
tesxc
Seçenekler

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Açık



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 03:22:08.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş

Hosting by Radore Hosting

İçerik sağlayacı paylaşım sitelerinden biri olan R10.net WebMaster Forum Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. R10.net hakkında yapılacak tüm hukuksal Şikayetler adresi ile iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 1 (Bir) Hafta içerisinde R10.net yönetimi olarak tarafımızdan gereken işlemler yapılacak ve Avukatlarımız size dönüş yapacaktır.
ARGUS_OK