Aşağıda devamını okuyacağınız
makalemizde MySQL programının Windows 2000 işletim sistemi üzerine kurulumu ve
MySQL programına başlangıç adına bir kaç örnek bulacaksınız.
Öncelikle
MySQL-Win32 versiyonunu indirmediyseniz,
http://www.mysql.com
adresinden indirerek kaydedin.
Windows
Gezginini (Explorer) açarak dosyayı indirdiğiniz klasöre geçin ve dosyayı bulun.
Bilgisayarınızda Winzip ya
da zip dosyalarını açabilecek başka bir program yüklüyse, dosya üzerine çift
tıklayarak dosyayı açın. Eğer Winzip kullanıyorsanız, açılan dosya listesinde
Setup.exe dosyasını bulup üzerine çift tıklayarak kuruluma hemen
başlayabilirsiniz. Başka bir program kullanıyorsanız arşiv dosyasının içeriğini
geçici bir klasöre açın (extract). Windows Gezgini ile dosyaları açtığınız
klasöre geçerek Setup.exe dosyasını bulun ve çift tıklayarak çalıştırın.

Kurulum
çalıştıktan sonra önerilen ayarları kabul ederek ve talimatları izleyerek
kurulumu tamamlayın.
MySQL'i
başlatmak için c:mysqlbinmysqld-shareware.exe dosyasını çalıştırmanız yeterli
olacaktır. Startup menüsüne kısayol (shortcut) yaratarak bilgisayarınızı her
açtığınızda MySQL sunucusunun otomatik olarak başlamasını sağlayabilirsiniz.
Ancak, WinNT ve Win 2000 daha avantajlı (önerilir) bir yol sunmaktadır. MySql
sunucusu bu işletim sistemlerinde, sisteme servis olarak tanıtılabilir.
Böylelikle MySql işletim sisteminin bir parçası gibi çalışacaktır. Bunun için:

Start (Başlat)
menüsünden Run (Çalıştır) komutunu seçin. Açılacak diyalog pencereciğine
command yazarak Enter tuşuna basın. MS-DOS komut penceresi açılacaktır.

Bu pencerede
sırası ile aşağıdaki komutları yazın ve her satırın sonunda Enter tuşuna başın:
| c: |
| cd
mysqlbin |
|
ren mysqld-shareware.exe mysqld.exe |
|
mysqld --install |
|
exit |

Start Menu /
Settings / Control Panel / Services (Başlat/Ayarlar/Kontrol Paneli/Servisler)
seçerek Service Manager'ı açın. Windows 2000'de ise Start Menu / Settings /
Control Panel / Administrative Tools / Services yolunu izlemeniz gerekir.

Win NT'de
"MySql" satırını seçerek Startup kolonunu kontrol edin. Disabled veya Manual
ibaresi varsa, Automatic radio butonunu seçerek OK'e tıklayın. Startup veya
Start butonuna tıklayarak MySQL sunucusunu aktif hale getirin. Services Manager
'i OK butonuna tıklayarak kapatın.
Win 2000'de
ise MySql satırına çift klikleyerek Properties diyalog kutusunu açın.

Startup Type
kombo kutusunda Disabled veya Manual seçili ise Automatic olarak değiştirin.
Startup veya
Start butonunu tıklayarak MySQL sunucusunu aktif hale getirin.
OK butonuna
tıklayın.
Ve son olarak
da Services Managerı ve Control Panel'ini kapatın. MySQL bundan sonra da,
Windows'un her açılışında otomatik olarak yüklenecektir.

SQL'e Giriş
Yukarıdaki
komutu vererek MySQL'i çalıştırıyoruz. Artık karşımızda "mysql>" şeklinde MySQL
komut satırı var. İlk veritabanımızı yaratalım:
| mysql> create database cskou; |
Sondaki
"noktalı virgül"e dikkat edin. Bu işaret MySQL'e işlemi gerçekleştirmesini
söyler. Eğer koymazsanız, MySQL komutu yazmaya bir sonraki satırdan devam etmek
istediğinizi düşünür ve size devam edebilmeniz için yeni bir satır açar. Bu uzun
sorgulamalar için faydalı bir özelliktir.
"use"
komutu ile üstünde çalışmak istediğimiz veritabanını seçiyoruz.
Burada
durup biraz veritabanı mantığından ve ne zaman veritabanı kullanmanız
gerektiğinden bahsetmek istiyorum. Diyelim ki, bir okuldaki öğrencilerin ders
notlarını takip etmemiz isteniyor. Vize, Final, Bütünleme ve Ortalama
değerlerini saklamak istiyoruz. Her öğrencinin bu derslerden aldığı bir not var.
Ekstra bir bilgi olarak da, öğrencinin sınıfını da takip etmek istiyoruz. Bu
alanları aşağıdaki gibi gruplandırabiliriz:
|
İsim |
Sınıf |
Vize |
Final |
Bütünleme |
Ortalama |
| Burak |
1 |
78 |
67 |
0 |
70 |
| Taner |
1 |
0 |
0 |
0 |
0 |
| Ali |
2 |
88 |
45 |
90 |
90 |
"İsim","Sınıf","Vize","Final","Bütünleme" ve "Ortalama", alan (field) olarak
adlandırılır. Her alan, aynı kümenin farklı elemanlarını (veya aynı
elemanlarını) içerir.
Bu
gördüğünüz tabloyu veritabanımızda oluşturalım:
mysql>
create table notlar (isim char(20), sinif char(5), mat int, turkce int,
Butunleme int, muzik int);
Oluşturduğunuz veritabanındaki alanları,
mysql> show
fields from notlar;
komutu ile
görebilirsiniz. Elde ettiğimiz sonucu görelim:
+--------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+----------+------+-----+---------+-------+
| isim | char(20) | YES | | NULL | |
| sinif | char(5) | YES | | NULL | |
| matematik | int(11) | YES | | NULL | |
| turkce | int(11) | YES | | NULL | |
| Butunleme | int(11) | YES | | NULL | |
| muzik | int(11) | YES | | NULL | |
+--------------+----------+------+-----+---------+-------+
Tabloyu
yaratırken şu işlemleri doğru yaptığınızdan emin olun:
- Alan adları bir çift parantez içine alınmış
olmalı.
- Her alan adı diğerinden virgül ile
ayrılmalı.
- Son alandan sonra virgül kullanılmamalı.
- Bütün SQL komutlarının sonuna noktalı virgül
";" konmalı.
Tabloya Kayıt
Eklemek
| mysql> INSERT INTO notlar
(isim,sinif,mat,turkce,beden,muzik) VALUES ('Ahmet','10-A',3,3,4,3); |
"Char" ile
tanımladığınız alan adlarına değer verirken tek tırnak arasında yazmak
zorundasınız. Diğer alanları "integer" yani sayısal değer olarak tanımladığımız
için böyle bir zorunluluğumuz yok. Şimdi yeni eklediğimiz kaydı listeleyelim:
| mysql> SELECT * FROM notlar; |
+-------+-------+------+--------+-------+-------+
| isim | sinif | mat | turkce | beden | muzik |
+-------+-------+------+--------+-------+-------+
| Ahmet | 10-A | 3 | 3 | 4 | 3 |
+-------+-------+------+--------+-------+-------+
|
Tabloya Alan Eklemek
Tabloya istediğimiz
zaman yeni bir alan ekleyebilir ya da mevcut alanlar üzerinde değişiklikler
yapabiliriz:
mysql> ALTER table notlar ADD COLUMN resim
int;
Bir'den fazla alan eklemek için:
mysql> ALTER table notlar ADD COLUMN fizik int, ADD COLUMN dogumtarihi
date; |
Sonucu
kontrol edelim:
| mysql> SELECT * FROM notlar; |
+-------+-------+------+--------+-------+-------+-------+-------+-------------+
| isim | sinif | mat | turkce | beden | muzik | resim | fizik | dogumtarihi |
+-------+-------+------+--------+-------+-------+-------+-------+-------------+
| Ahmet | 10-A | 3 | 3 | 4 | 3 | NULL | NULL | NULL |
+-------+-------+------+--------+-------+-------+-------+-------+-------------+
1 row in set (0.00 sec)
|
Çoklu-Satır
Kullanarak Komut Girişi
MySQL
komut satırı arabirimi komutu tek bir satır halinde yazmanıza ya da satırlara
bölmenize olanak sağlar. İki yazım biçimi arasında bir fark yoktur. Ancak
kodunuzu satırlara bölmeniz, yazdıklarınızın daha anlaşılabilir olmasını sağlar.
Çoklu-Satır modunda, MySQL yorumlayıcısı her satırın başına "->" ekler. Bu siz
noktalı virgül ";" ile SQL komutunu sonlandırana kadar devam eder. Noktalı
virgül yazılıp ENTER'a basıldıktan sonra komut çalıştırılır.
Aşağıdaki
örnekleri inceleyelim:
|
Tek Satır Örneği |
mysql> create table test (alan01 integer,alan02 char(30));
|
|
Çoklu-Satır Örneği |
mysql> create table test
-> (alan01
-> integer,
-> alan02
-> char(30));
|
|
Doğru Kullanım |
Yanlış Kullanım |
mysql> create table test
-> (alan01
-> integer,
-> alan02
-> char(30));
|
mysql> create table test
-> (alan01 inte
-> ger,
-> alan02
-> char(30));
|
Kayıt
eklerken veya güncellerken, bir alana girilecek bilgiyi satırlara bölmeyin. Hata
mesajı almazsınız ancak veritabanının yapısına zarar verirsiniz:
|
Standart İşlem |
Bozuk Kayda Neden Olan İşlem |
mysql> insert into test (alan02)
-> values
-> ('merhaba ben mysql ogreniyorum');
|
mysql> insert into test (alan02)
-> values
-> ('merhaba ben
-> mysql ogreniyorum');
|
| |
|
Sonuçlar |
mysql> select * from test;
+---------+-------------------------------+
| alan01 | alan02 |
+---------+-------------------------------+
| NULL | merhaba ben mysql ogreniyorum |
| NULL | merhaba ben
mysql ogreniyorum |
+---------+---------------------+
|
Tabloya
Değişik Tipte Kayıtlar Ekleyelim
mysql> INSERT INTO notlar
(isim,sinif,mat,turkce,beden,muzik,resim,fizik,dogumtarihi)
-> VALUES ('Aslı','10-C',2,2,4,4,5,1,'1980-01-31'); |
Sonucu
görelim:
| mysql> SELECT * FROM notlar; |
+-------+-------+------+--------+-------+-------+-------+-------+-------------+
| isim | sinif | mat | turkce | beden | muzik | resim | fizik | dogumtarihi |
+-------+-------+------+--------+-------+-------+-------+-------+-------------+
| Ahmet | 10-A | 3 | 3 | 4 | 3 | NULL | NULL | NULL |
| Aslı | 10-C | 2 | 2 | 4 | 4 | 5 | 1 | 1980-01-31 |
+-------+-------+------+--------+-------+-------+-------+-------+-------------+
|
- Standart Tarih formatı "yyyy-gg-aa" dır.
- Standart Zaman formatı "hh:mm:ss" dir.
(saat:dakika:saniye).
- Yukardaki örnekte olduğu gibi Tarih ve Zaman
bilgileri kaydedilirken tırnak içine alınmalıdır.
- Tarih "yyyyggaa", Zaman "hhmmss" formatında
yazılabilir. Böyle yazıldıklarında tırnak işareti kullanmaya gerek yoktur.
- MySQL'in "buffer (tampon)" özelliği vardır.
Yukarı ok tuşuna basarak önceki komutları tekrar yazdırıp zamandan tasarruf
edebilirsiniz.
Mevcut
Kayıtları Güncelleme
|
Tek bir alanı güncelleme |
| mysql> update notlar set
fizik=1 where isim='Ahmet'; |
Bir'den çok alanı güncelleme
|
| mysql> update notlar set
fizik=3, mat=4 where isim='Aslı'; |
Ve
aldığımız sonuç şöyle olacak:
| mysql> SELECT * FROM notlar; |
+-------+-------+------+--------+-------+-------+-------+-------+-------------+
| isim | sinif | mat | turkce | beden | muzik | resim | fizik | dogumtarihi |
+-------+-------+------+--------+-------+-------+-------+-------+-------------+
| Ahmet | 10-A | 3 | 3 | 4 | 3 | NULL | 1 | NULL |
| Aslı | 10-C | 4 | 2 | 4 | 4 | 5 | 3 | 1980-01-31 |
+-------+-------+------+--------+-------+-------+-------+-------+-------------+
|
Tablodan
Kayıt Silme
Tablodan
bir veya daha fazla kayıt silmek için "delete" komutunu kullanacağız. Aşağıdaki
örneğe bakalım:
mysql> DELETE FROM notlar
WHERE isim='Ahmet';
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM notlar; |
+-------+-------+------+--------+-------+-------+-------+-------+-------------+
| isim | sinif | mat | turkce | beden | muzik | resim | fizik | dogumtarihi |
+-------+-------+------+--------+-------+-------+-------+-------+-------------+
| Aslı | 10-C | 4 | 2 | 4 | 4 | 5 | 3 | 1980-01-31 |
+-------+-------+------+--------+-------+-------+-------+-------+-------------+
|
"Delete"
komutunu kullanırken dikkatli olmalısınız. Yukarıdaki örnekte WHERE komutunu
eklemiş olmasaydık, tablodaki bütün kayıtları sil demiş olacaktık:
mysql> DELETE FROM notlar;
Query OK, 2 row affected (0.01 sec) |
Çıkmak için
Copyright © PHP Nuke - Themes - Modules - Blocks - Addons - Turkish Nuke Tüm hakları saklıdır.