Bir Makalemi Sizlerle Paylaşıyorum, Umuyorumki İşinize Yarar, Eklemek İstedikleriniz, Yanlış Gördükleriniz Varsa Lütfen Yazın. Saygılar..
Yeter artık bıktım bu access ten hep
sorun hep
sorun diyorsanız, ve artık kuvvetli bir database kullanmak istiyorsanız, size
SQL server demeyeceğim.
Neden derseniz çünkü ücreti kesinlikle çok yüksek, keşke performansıda ücreti gibi olabilseydi. Bu noktada önerebileceğim tek database kesinlikle
MySQL olacaktır. Gerek profesyonel yazılımlarınız da gerekse amatör yazılımlarınızda
MySQL dertlerinize çare olacaktır.
MySQL, çok fazla profesyonel olmayıp kolay tabalı bir database de olsa boyuna göre çok büyük ihtiyaçlara cevap olabiliyor. Özellikle
web alanında programlamaya yeni başlayan arkadaşlar için, access başlayıp kanser olmadan önce
MySQL üzerinden test aşamalarına girmelerini öneriyorum.
ASP ile
MySQL ise gerçekten kullanımı basit ve performanslı olmaktadır. Biliyoruz ki her database in tıkandığı bir nokta olacaktır. Ama inanıyorum ki
MySQL çoğumuzu tatmin edecek kadar iyidir. En azından access e karşı alternatif niyetinde değil
SQL server a karşı alternatif olarak görülebilir ve boy ölçüşebilecek düzeydedir.
Neler var bu
MySQL de, bu database iki halde kullanılabiliyor birincisi orjinalde text bir arayüze sahip, eski MS-DOS kullanan arkadaşlarımız bilirler. Bu arayüzden tüm işlemler yazılarak yapılabiliyor, örneğin
SQL sorgularımızda devamlı kullandığımız select * from deyimi burada command satırında yazılarak tablo içeriğinin listelenmesi sağlanabiliyor ve diğer
SQL ifadelerini sorgulayabiliyorsunuz. Bu şekilde bir arayüze sahip olması
MySQL in
web üzerinden işlenmesi çok kolay bir hale getiriyor.
MySQL in Gözle Görülür Artıları
1.
MySQL Ücretsiz Bir Yazılımdır.
2. Diğer Veritabanları gibi gerektiğinden fazla şişmez. (kapladığı alan olarak)
3. Uzaktaki kullanıcı için ulaşımı çok kolay bir database dir.
4. Hızlı ve sorunsuz çalışır.
5.
web üzerinden rahatlıkla kontrol edilebilir.
6. Database Yolu sorunu
MySQL de yaşanmaz.
MySQL in Gözle Görülür Eksileri
1.
MySQL de ilişkilendirme yoktur.
2.
MySQL Recordset ve Bazı
ASP komutlarını desteklemez.
3.
MySQL Database e garanti verilmez. (No Warranty)
Yukarıdaki özellikleri karşılaştırırken 2. madde de bazı özellikleri desteklemez dedik bunu biraz açalım isterseniz. Mesela Recordset için söyleyecek olursak
Microsoft tabalı olduğundan
MySQL tarafında güvenli ve sorunsuz bir şekilde çalışamamaktadır. Diğer özelliklerden örnek verecek olursak
ASP de kullandığımız move komutumuz (örn: move(5) '5. kayda git.)
MySQL de desteklenmez. Bunların tümünün karşılığı veya alternatifi mevcuttur, yani hiç bir şekilde
MySQL de yarı yolda kalmayacaksınız. Move yerine
SQL ifadelerinde mevcut olan limit deyimi kullanılır. Limit kullanımı kısaca limit 0,10 yani sıfırıncı kayıttan sonraki ilk kayıttan itibaren 10 kayıt anlamına gelmektedir.
Bir dahaki yazımızda
MySQL -
ASP ikilisinin nasıl kullanılacağını hangi programlara ihtiyaç duyulduğunu ve örnek bir database i nasıl oluşturabileceğimizi göreceğiz şimdilik hoşçakalın.
MySQL -
ASP Kurulumu
Bu işi yaparken öncelikle şunları bilin.
MySQL i kendi makinanıza kurduktan sonra default olarak sizden ilk açılışta bir kullanıcı adı ve şifre isteyecektir. Bunu dikkatli verin ve unutmayın. Unutursanız winmysqladmin deki my.ini setup sekmesinde bulacaksınız. İlk kurulumda
MySQL de root kullanıcısının şifresi yoktur dışardan makinenize erişim hakkı verdiyseniz mutlaka root a bir şifre atayın ve bunu sakın unutmayın.
Bize Lazım olan programlar;
MySQL server (herhangi bir sürümü en son 4 var)
MyODBC (herhangi bir sürümü en son yine 4 var)
MySQL-Front (
MySQL grafik arayüzüdür. İlk kullanımlar için idealdir.)
İlk iki dosyayı
www.mysql.com dan indirebilirsiniz. Şayet üçüncü dosyayı bir şekilde bulamz iseniz yine
MySQL in sitesinden
MySQL Control Center (MCC) yi de indirerek kullanabilirsiniz.
Windows platformunda
MySQL i makinenize kurup MyODBC yide register ettikten sonra. artık rahat bir şekilde
MySQL e bağlanabilirsiniz demektir. Bunu test etmek ve
MySQL driver ını görebilmek için Denetim Masasında ki ODBC (Data Source -
veri Kaynağı) iconunu tıklayarak, register ettiğiniz
MySQL driverını bulun. Muhtemelen en altta olacaktır. Driver kısmında yazan text i
MySQL bağlantınızda driver bölümüne aynen yazmalısınız. Şimdi Name kısmına iki kez tıklayarak
MySQL e özel pencerenin açılmasını sağlayın. Açılan yeni pencerede Test Data Source sekmesini tıklayın. "Data Source Connected Successfully" yazısını mesaj olarak aldıysanız, tebrikler
MySQL iniz kullanıma hazır.
Bir daha ki dersimizde
MySQL e
ASP den bağlanarak basit sorgular yapacağız şimdilik hoşçakalın.
MySQL ile
veri Tabanı Oluşturmak ve
ASP ile Bağlanmak
Direk konuya girmeden önce arkadaşlar, ODBC den önceki derste anlattığım
MySQL testini yapınız, Olumlu yanıt alıyorsanız aşağıdaki işlemlere devam edebilirsiniz.
MySQL standart olarak C: üzerinde kurulmaktadır. Bizde Bu yoldan bahsedecek olursak şayet; c:\
MySQL\bin\ dizinine girerek çalıştırmadıysanız winmysqladmin.exe dosyasını çalıştırınız, ilk kez çalıştırıyor iseniz sizden bir defalığa mahsus olmak üzere bir kullanıcı adı birde şifre isteyecektir. önceki dersimizden hatırlayacaksınız bunları unutmayacağınız şekilde belirleyin ve
MySQL inizi çalıştırın,
MySQL çalıştığında Windows un başlangıç barının en sağında trafik lambası olarak görünecektir. Herhangi bir
sorun yoksa şu anda yeşil yanıyor demektir.
Şimdi bu işlemlerden sonra adım adım bir database oluşturalım ve bağlanıp listeleyelim. Yine aynı dizinin içerisinde
MySQL.exe göreceksiniz. Bu Dosya
MySQL in text tabenlı ara yüzüdür.
programı çalıştırınız, karşınıza
MySQL>
şeklinde bir command alanı çıkacaktır. MS-DOS kullananların pek te yadırgamayacakları bir pencere bu...
Şimdi Başlıyoruz...
MySQL> create database deneme; // yazarak enter a basınız ("
MySQL>" yazmıyorsunuz ve deneme bu database in adıdır.)
size db yi oluşturduğuna dair cevap verecek bu cevaptan sonra database üzerinde işlem yapabilmek için onu seçmeniz gerekiyor. seçme işlemi "use" kullanılarak yapılır.
MySQL> use deneme;
yukarıdaki komutumuzdan sonra üzerinde çalışacağımız db yi seçmiş bulunuyoruz. Yine dikkat edecek olursanız her işlemimizin sonuna noktalı virgül (

koyuyoruz. Bunun sebebi enter a bastığımızda
MySQL in yazdıklarımızın bittiğini anlaması ve onu icra etmesini istediğimizi anlatmasıdır. Ne olur ; koymassak enter a bastığımızda command bir alt satıra iner ve hiç bir işlem yapmadan devam etmenizi bekler taki ; koyup eneter a basana dek. Evet bunca geyik bilgiden sonra devam ediyoruz, örnek maksatlı olsun die bir tablo yaratacağız bir adet otomatik sayı, text bir isim ve tarihten oluşan bir tablo olacak bu, işte yaratıyoruz.
MySQL> create table `isimler` (`id` INT DEFAULT '0' NOT NULL AUTO_INCREMENT, `isim` VARCHAR (100) NOT NULL, `tarih` DATETIME NOT NULL, PRIMARY KEY(`id`));
evet yukarıdaki satırı yazarak enter ladığımızda ilk tablomuz oluşacaktır ama ne yazıyor bu yukarıda önce açıklayalım. create table adından da anlaşılacağı gibi table yaratmaya yarıyor. "isimler" adında bir table yaratıyoruz. üç adet fieldımız var 1- id 2- isim 3- tarih, "id" hizasına bakarsanız
veri tipi INT , default değerinin sıfır, NOT NULL ile boş bırakılamayacağını ve son olarakta AUTO_INCREMENT ile de bunu otomatik bir sayı olarak atadığımızı söylüyoruz, gelelim ikinci fieldımıza, "isim" burada da VARCHAR
veri tipi seçilmiş durumda 100 ise bu alanın maximum uzunluğunu belirtmektedir. NOT NULL ise yine bu alanın boş bırakılamayacağını anlatıyor. VARCHAR text ifadelerde kullanılan bir
veri tipidir. Max 255 karakterdir. ve üçüncü fieldımız "tarih" veritipi olarak DATETIME yazdık NOT NULL da yine boş bırakılamayacağını ifade etmektedir. Sondaki PRIMARY KEY ise tablodaki anahtar field ı belirliyor, ne analma geliyor bu anahtar field , tekrarlanmayacak olan kayıt anlamındadır. bunun içinde id yi yazdık ve sonuna ; koyarak tablomuzu oluşturduk.
Kayıt Ekleyelim..
MySQL> insert into isimler(isim,tarih) values('hakan',now());
Bir Kayıt ekledik yukarıdaki satırımızla, şimdi listeleyelim..
MySQL> select * from isimler;
enterladığınız da taa taamm bir isim ve bir tarih göreceksinizi evet hayırlı olsun
MySQL Database iniz. İşlemleriniz bittiğinde yine command satırında
MySQL> quit yazın ve enterlayın.
Peki ama bu işlemi
ASP de nasıl yapacaksınız ?
İlk Önce Bağlantı Kodlarımızı Oluşturalım
<%
set conn=
server.createobject("ADODB.Connection")
dsn="DRIVER={
MySQL ODBC 3.51 Driver}; UIN=kullanici_adiniz;PWD=sifreniz;
server=localhost veya IP;DATABASE=deneme;" ' yukarıda yarattığımız db nin adı.
conn.open dsn
%>
Yukarıdakileri Açıklarsak, ilk önce "conn" adında bir nesne yaratıyoruz ve kendisine ODBC bağlantısını atıyoruz. dsn isminde bir değişken yaratarak karşılığına sırasıyla DRIVER, UIN, PWD,
server ve DATABASE değerlerini atadık ki bu sıra önemli değildir. Dikkat etmemiz gereken husus, DRIVER ataması yaparken önceki dersimizde de anlattığımız gibi driver ı bilmiyorsak denetim masasındaki ODBC sekmesinde driver ın nasıl yazıldığını tam olarak bulabilirsiniz. Driver dan sonra UIN yani kullanıcı adınız, local de kullaıyorsanız
MySQL i ilk çalıştırdığınız da verdiğiniz kullanıcı adını bu kısıma eşitliyorsunuz,şifreyi ise PWD alanına eşitleyeceksiniz. Son iki genel değerimiz ise
server ve DATABASE,
server ın karşılığına aynı bilgisayardan bağlanıyorsanız localhost yazabilirsiniz, uzaktaki bir makineye bağlanıyorsanız yada makineniz localhost u kabul etmiyorsa IP adresinide yazabilirsiniz. DATABASE alanının karşılığı ise
MySQL de yarattığınız Db nin adıdır. Şunu unutmayın
MySQL ACCESS teki gibi Database ine uzantı vermez. Onları Klasör olarak tutar. Bu şekilde bağlantınız hazır olacaktır. Şimdi küçük bir kod yazalım.
<%
SQL="select * from isimler;"
set getir=conn.execute(
SQL)
if getir.eof then
else
do while not getir.eof
isim=getir("isim")
tarih=getir("tarih")
response.write "İsim : " & isim & " Tarih : " & tarih & "<br>"
getir.movenext
loop
end if
%>
İşte bu kadar kısa zamanda
MySQL hakkında çok çabuk ve çok şey öğrenebilirsiniz. Elleriniz Dert Görmesin Buyrun Yazın... Bu Arada
MySQL deki veritipleri hakkında detaylı bilgiyi
www.mysql.com da bulabilirsiniz. Şimdilik Hoşçakalın.