*Sitemize Üye Olunca Elinize Ne Geçer?

<--- 1. Üye Olarak Linkleri Görebilirsiniz... --->

<--- 2. İstediğiniz Kadar Paylaşım Yapabilirsiniz... --->

<--- 3. Güzel Bir Forum Hayatı Yaşayabilirsiniz... --->


Join the forum, it's quick and easy


*Sitemize Üye Olunca Elinize Ne Geçer?

<--- 1. Üye Olarak Linkleri Görebilirsiniz... --->

<--- 2. İstediğiniz Kadar Paylaşım Yapabilirsiniz... --->

<--- 3. Güzel Bir Forum Hayatı Yaşayabilirsiniz... --->

Would you like to react to this message? Create an account in a few clicks or log in to continue.

● En Güncel Paylaşım Platformu ●

---Misafir--- Hos Geldiniz Daha iyi Bir Hizmet İçin Üye olunuz.ÜyeLer Link GörebiLir

    MySQL Server

    MnyTirith
    MnyTirith
    ● Admin ●
    ● Admin ●


    <b>Doğum tarihi</b> Doğum tarihi : 20/06/90

    MySQL Server Empty MySQL Server

    Mesaj tarafından MnyTirith Ptsi Mart 08, 2010 5:45 pm

    MySQL

    özet

    Bu belgede bir ili?kisel veritaban? olan MySQL’den bahsedece?iz.
    Program?n kurulumu ve çal??maya haz?r hale getirilimesi, küçük veri
    tabanlar?ndan ba?lamak üzere karma??k veri taban? ili?kilerine kadar
    birçok konuyu irdelemeye çal??aca??z. Eksik veya yanl?? gördü?ünüz
    noktalar? bana elektronik posta ile bildirirseniz sevinirim.



    MySQL’e Giri?

    Bu bölümde MySQL kullanarak veri taban? sunucusuna nas?l ba?lan?laca??n?
    ve küçük veri tabanlar?n?n ne ?ekilde kurulaca??n? görece?iz. MySQL’in
    kendi komut sat?r? olmas?na ra?men komutlar? toplu bir ?ekilde bu komut
    sat?r?n? kullanmadan da i?letebilirsiniz. ??letmek istedi?iniz komutlar?
    bir dosyaya yazman?z yeterli olacakt?r. MySQL ile gelen seçenekleri
    görmek için komut sat?r?nda


    $ mysql --help
    yazman?z yeterli olacakt?r.

    Sunucuya Ba?lanma

    MySQL hizmetini veren sunucaya ba?lanman?z için komut sat?r?nda ?u
    komutu girmeniz gerekmektedir.


    $ mysql -h makine_ad? -u kullan?c? -p
    Enter password *********
    E?er MySQL kurulu makina bulundu?unuzdan farkl? bir yerde ise -h
    parametresini kullanmak zorundas?n?z. Ayr?ca veritaban?n? kullanmak için
    bir kullan?c?ya ihtiyac?n?z vard?r. Bu kullan?c?y? ve ?ifresini sistem
    yöneticinizden temin edebilirsiniz. Baz? sistemlerde MySQL kurulurken
    kullan?c?lara özel bir ?ifre verilmez ve ?ifreyi yazmadan sisteme
    girebilirsiniz. Bu özelli?i daha sonra kald?rman?z yani bir ?ifre
    koyman?z verilerinizin güvenli?i aç?s?ndan yararl? olacakt?r .

    Komutlar?n ??letilmesi

    Hemen tablo olu?turmadan önce tablolardan bilgilerin nas?l
    ç?kar?laca??n? ö?renelim. S¸imdi MySQL komut sat?r?na girin ve a?a??daki
    komutu yaz?n.


    mysql> SELECT VERSION(), CURRENT_DATE;
    +--------------+--------------+
    | version() | CURRENT_DATE |
    +--------------+--------------+
    | 3.22.20a-log | 1999-03-19 |
    +--------------+--------------+
    1 row in set (0.01 sec)
    mysql>
    Bu örnekle birkaç temel ?ey aç??a ç?k?yor:


    • Birkaç istisna hariç
      bütün komutlar “;” ile bitirilir.

    • Her komut ilk önce sunucuya gönderilir, i?letilir ard?ndan yeni
      komutlar? beklemeya ba?lar.

    • Komutlar?n sonucu genellikler tablolar halinde gösterilir.
    • Sonuç tablolar?n?n sat?r say?lar? ile komutun ne kadar süre içinde
      i?letildi?i ekrana yazd?r?l?r. Bu sayede sunucu performans? hakk?nda
      kabada olsa bir fikir elde edilir.

    Komutlar büyük veya küçük karakterler ile yaz?labilirler.
    Dolay?s?yla a?a??daki komutlar e?de?erlidir.
    mysql> SELECT VERSION(), CURRENT_DATE;
    mysql> select version(), current_date;
    mysql> SeLeCt vErSiOn(), current_DATE;
    Birden fazla komutu ayn? sat?rda ardarda yazabilirsiniz.
    mysql> SELECT VERSION(); SELECT NOW();
    +--------------+
    | version() |
    +--------------+
    | 3.23.24a-log |
    +--------------+
    +---------------------+
    | NOW() |
    +---------------------+
    | 2001-09-22 00:15:33 |
    +---------------------+
    E?er komut çok uzun ise ve birkaç sat?r? kullanarak yaz?lmas?
    gerekiyorsa a?a??daki gibi yap?labilir. Sat?r yetmiyorsa enter tu?una
    bas?n ve alt sat?rdan devam edin. Komutu yazmay? bitirdi?inizde “;”
    yazman?z ve enter’a basman?z yeterli olacakt?r. Böylece komutun bitti?i
    bildirilmi? olur.
    mysql> SELECT
    -> USER()
    -> ,
    -> CURRENT_DATE;
    +------------------------------+--------------+
    | USER() | CURRENT_DATE |
    +------------------------------+--------------+
    | [Linkleri görebilmek için üye olun veya giriş yapın.]ldomain
    | 2001-09-22 |
    +------------------------------+--------------+
    Yazmaya ba?lam?? oldu?unuz bir komutu iptal etmek için nc yazman?z
    yeterlidir.
    mysql> SELECT
    -> USER()
    -> \c
    mysql>

    Baz? Temel Komutlar

    Bu bölümde en s?k kullan?lan komutlar? bir örnek üzerinde inceleyece
    ?iz. S¸imdi MySQL’i komut sat?r?ndan bir veritaban? ile ba?latal?m.
    Henüz kendiniz bir veritaban? olu?turmam?? iseniz, bir çok sistemde
    kurulumdan gelen test isimli veritaban?n? kullanabilirsiniz. Bunun için
    a?a??daki komutu kullan?n.


    $ mysql veritab?_ismi
    ?imdi a?a??daki gibi örnek bir tablo olu?tural?m.
    CREATE TABLE shop (
    article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,
    dealer CHAR(20) DEFAULT '' NOT NULL,
    price DOUBLE(16,2) DEFAULT '0.00' NOT NULL,
    PRIMARY KEY(article, dealer));
    INSERT INTO shop VALUES
    (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.4 5),(3,'C',1.69),
    (3,'D',1.25),(4,'D',19.95);
    Bunlar? yazd?ktan sonra tablonun son halini görmek için a?a??daki komutu
    kullan?n.
    mysql> SELECT * FROM shop;
    +---------+--------+-------+
    | article | dealer | price |
    +---------+--------+-------+
    | 0001 | A | 3.45 |
    | 0001 | B | 3.99 |
    | 0002 | A | 10.99 |
    | 0003 | B | 1.45 |
    | 0003 | C | 1.69 |
    | 0003 | D | 1.25 |
    | 0004 | D | 19.95 |
    +---------+--------+-------+
    article sütunundaki en yüksek rakam? bulmak için ?u komut yaz?l?r.
    SELECT MAX(article) AS article FROM shop
    +---------+
    | article |
    +---------+
    | 4 |
    +---------+
    En pahal? article ile ilgili sat?r? ç?karmak istersek iki yok
    kullanabiliriz. ?lk önce fiyatlar?n maximumunu buluruz. Ard?ndan o
    sat?r? yazd?r?r?z. ?öyle
    SELECT MAX(article) AS

    Uygulama

    .


    mysql> SHOW DATABASES;
    +----------+
    | Database |
    +----------+
    | mysql |
    | test |
    | tmp |
    +----------+
    Normal ?artlarda üç tane veritaban?n?n standart olarak kurulu olmas?
    gerekir. Veri tabanlar?n?n kendileri ile ilgili dosyalar /var/lib/mysql/
    dizininde bulunur.
    ?lk önce mysqld program?n? arka planda çal??mas?n? sa?lamal?y?z. Bunun
    için ?unu yaz?n:
    $ /etc/init.d/mysql start
    Biz bu üç veritaban? haricinde bir tane daha olu?turaca??z. ’root’
    kullan?c?s? olarak mysqladmin komutunu kullanabilirsiniz.
    $ mysqladmin create rehber
    Böylece rehber isimli bir veritaban? daha olu?turuldu. ??i ?ansa
    b?rakmamak için mysqld program?n? tekrar ba?latal?m.
    $ /etc/init.d/mysql restart
    Bu a?amadan sonra root olarak çal??man?n anlam? yok. Normal kullan?c?
    olarak devam edelim. Asl?nda veritaban? açman?n daha kolay bir yolu var.
    Normal kullan?c? olarak da veritaban? kurabilirsiniz. MySQL komut
    sat?r?nda ?unlar? yaz?n:
    mysql> CREATE DATABASE rehber;
    Veritabanlar? aras?nda geçi? yapmak isterseniz USE komutunu kullan?n.
    Noktal? virgül kullanmak zorunda de?ilsiniz.
    mysql> USE rehber
    Herhangi bir veritaban?nda kay?tl? tablolar? görmek için ?u komut
    kullan?l?r.
    mysql> SHOW TABLES
    Empty set (0.00 sec)
    Veritaban?m?za henüz bir tablo eklemedi?imiz için bize hiçbir tablonun
    olmad???n? belirtti. Veritaban? ile u?ra?man?n en zor yan? hangi
    tablolar?n kullan?laca?? ve içeriklerinin ne olaca??na karar vermektir.
    Bu mesele çok iyi dü?ünülmez ve tablolarda eksik birtak?m bilgiler
    olursa sonradan zorluklarlda kar??la?abilirsiniz. Bir telefon rehberinde
    neler olmas? gereklidir. ?lk önce her kay?t için bir numara olmas?
    gereklidir. Bu numara negatif say? olmamal? ve kesinlikle tamsay?
    olmal?d?r. Sonra isim ve soyisim k?sm? muhakkak olmal?d?r. Telefon
    numaras? ve ?ehirleraras? kodu. Bence bu ikisinin ayr? olmas? biti?ik
    yaz?lmas?ndan daha mant?kl?. Cinsiyet yaz?labilir. Adres ve konum
    bilgileri de bu tabloya eklenebilecek sütunlardan birkaç?.
    ?imdi tablomuzu olu?tural?m.
    mysql> CREATE TABLE rehber (
    -> s?ra char(4), isim VARCHAR(20), soyisim VARCHAR(20),
    -> lakap VARCHAR(10), konum VARCHAR(5), kod CHAR(4),
    -> telefon CHAR(7), adres VARCHAR(30));
    ?sim, soyisim gibi de?i?kenler için VARCHAR de?i?kenini kullanmam?z çok
    yerinde çünkü herkesin ismi ayn? uzunlukta tabii ki olmayacakt?r.
    Program tablolar? listelerken bu sütunlara en uygun geni?li?i
    verecektir. Tabloyu olu?turduktan sonra kontrol etmek için ?unu yaz?n:
    mysql> SHOW TABLES
    +------------------+
    | Tables in rehber |
    +------------------+
    | rehber |
    +------------------+
    Tablonun genel yap?s?n? kontrol etmek için ise DESCRIBE komutunu
    kullanabilirsiniz.
    mysql> DESCRIBE rehber
    +---------+-------------+------+-----+---------+-------+----------------------------|
    Field | Type | Null | Key | Default |
    Extra | Privileges
    +---------+-------------+------+-----+---------+-------+----------------------------|
    s?ra | varchar(4) |
    YES | | NULL | | select,insert,update,refere| isim | varchar(20) | YES |
    | NULL | | select,insert,update,refere| soyisim |
    varchar(20) | YES | | NULL | | select,insert,update,refere| lakap |
    varchar(10) | YES | | NULL | |
    select,insert,update,refere| konum | varchar(5) | YES | | NULL | |
    select,insert,update,refere| kod | varchar(4) | YES | |
    NULL | | select,insert,update,refere| telefon | varchar(7) | YES | |
    NULL | | select,insert,update,refere| adres |
    varchar(30) | YES | | NULL | |
    select,insert,update,refere+---------+-------------+------+-----+---------+-------+----------------------------DESCRIBE

    komutunu tablolardaki sütun isimlerini veya tablonun genel yap?s?n?
    unuttu?unuz zamanlar kullanabilirsiniz. ?imdi tabloya veri giri?i
    yapmam?z gerekecek. Verileri MySQL komut sat?r?ndan tek tek girmek çok
    uzun olaca??ndan ilk önce bir tabloya yazaca??z. Sonra bu tabloda
    okutaca??z. Mesela girmek istedi?imiz veriler ?öyle olsun.
    s?ra isim soyisim lakap konum kod telefon adres
    1 Halil Akman Halo ev 0212 6532220 Yenibosna
    2 Ahmet Tekin Kabaday? ev 0212 2561000 Kas?mpa?a
    3 Hüseyin Kaya Doktor i? 0216 3286848 ümraniye
    Bu bilgileri “rehber.txt” adl? bir dosyaya her bilgi aras?nda bir
    tab’l?k bo?luk olacak ?ekilde kaydedin. E?er herhangi bir bilgi yok ise
    “n N” yaz?n.
    1 Halil Akman Halo ev 0212 6532220 Yenibosna
    2 Ahmet Tekin Kabaday? ev 0212 2561000 Kas?mpa?a
    3 HÜseyin Kaya Doktor i? 0216 3286848 Ümraniye
    ?imdi ?u komutu yaz?n:
    mysql> LOAD DATA LOCAL INFILE "rehber.txt" INTO TABLE rehber;
    Sonucu test ederseniz ?öyle bir sonuç göreceksiniz.
    mysql> SELECT * FROM rehber;
    +------+---------+---------+----------+-------+------+---------+-----------+
    | s?ra | isim | soyisim | lakap | konum | kod | telefon | adres |
    +------+---------+---------+----------+-------+------+---------+-----------+
    | 1 | Halil | Akman | Halo | ev | 0212 | 6532220 | Yenibosna |
    8
    | 2 | Ahmet | Tekin | Kabaday? | ev | 0212 | 2561000 | Kas?mpa?a |
    | 3 | HÜseyin | Kaya | Doktor | i? | 0216 | 3286848 | Ümraniye |
    +------+---------+---------+----------+-------+------+---------+-----------+
    Tabloya yeni bir giri? yapmak için INSERT komutu kullan?l?r.
    mysql> INSERT INTO rehber
    -> VALUES (4, 'Dilek', 'Kaynar', 'Rehber'
    ,'cep','0535','7805024','ÜskÜdar');
    E?er herhangi bir sütuna bilgi girmeyecekseniz o k?sma NULL yazman?z
    yeterli. Fakat n N yazamass?n?z. Tablodan bir bilgi çekmek için SELECT
    komutu kullan?l?r. Genel kullan?l?? ?eklini söyle özetlenebilir.
    SELECT seçilecek_bölüm
    FROM hangi_tabloda_seçilece¸gi
    WHERE hangi_?artlar?n_sa?lanaca??
    Bütün tabloyu görmek için ?u kombinasyonu kullanabilirsiniz.
    mysql> SELECT * FROM rehber;
    +------+---------+---------+----------+-------+------+---------+-----------+
    | s?ra | isim | soyisim | lakap | konum | kod | telefon | adres |
    +------+---------+---------+----------+-------+------+---------+-----------+
    | 1 | Halil | Akman | Halo | ev | 0212 | 6532220 | Yenibosna |
    | 2 | Ahmet | Tekin | Kabaday? | ev | 0212 | 2561000 | Kas?mpa?a |
    | 3 | HÜseyin | Kaya | Doktor | i? | 0216 | 3286848 | Ümraniye |
    | 4 | Dilek | Kaynar | Rehber | cep | 0535 | 7805024 | ÜskÜdar |
    +------+---------+---------+----------+-------+------+---------+-----------+
    Tabloda hatal? herhangi bir yeri düzeltmek için iki seçenek var.
    Birincisi tablonun bütün içeri?ini silmek ve do?ru tabloyu yeniden
    yüklemek.
    mysql> SET AUTOCOMMIT=1; # bu sat?r olay? h?zland?rmak i»cin
    mysql> DELETE FROM rehber;
    mysql> LOAD DATA LOCAL INFILE "rehber.txt" INTO TABLE rehber;
    Di?er yol ise UPDATE komutu:
    mysql> UPDATE rehber SET lakap = "Kor" WHERE isim = "Huseyin";
    Görüldü?ü üzere tablonun tamam?n? görmek çok kolay. ?stedi?imiz bir
    sat?r? görmek için SELECT komutunun baz? varyasyonlar?n? kullanaca ??z.
    Mesela Ahmet isimli ?ahs?n bilgilerini görmek istiyoruz.
    mysql> SELECT * FROM rehber WHERE isim = "Ahmet";
    +------+-------+---------+----------+-------+------+---------+-----------+
    | s?ra | isim | soyisim | lakap | konum | kod | telefon | adres |
    +------+-------+---------+----------+-------+------+---------+-----------+
    | 2 | Ahmet | Tekin | Kabaday? | ev | 0212 | 2561000 | Kas?mpa?a |
    +------+-------+---------+----------+-------+------+---------+-----------+
    Avrupa yakas?nda telefonu olanlar? bulmak için
    mysql> SELECT * FROM rehber WHERE kod = "0212";
    +------+-------+---------+----------+-------+------+---------+-----------+
    | s?ra | isim | soyisim | lakap | konum | kod | telefon | adres |
    +------+-------+---------+----------+-------+------+---------+-----------+
    | 1 | Halil | Akman | Halo | ev | 0212 | 6532220 | Yenibosna |
    | 2 | Ahmet | Tekin | Kabaday? | ev | 0212 | 2561000 | Kas?mpa?a |
    +------+-------+---------+----------+-------+------+---------+-----------+
    Telefonu ?stanbul’a kay?tl? olanlar? bulmak için
    mysql> SELECT * FROM rehber WHERE kod = "0212" OR kod = "0216";
    +------+---------+---------+----------+-------+------+---------+-----------+
    | s?ra | isim | soyisim | lakap | konum | kod | telefon | adres |
    +------+---------+---------+----------+-------+------+---------+-----------+
    | 1 | Halil | Akman | Halo | ev | 0212 | 6532220 | Yenibosna |
    | 2 | Ahmet | Tekin | Kabaday? | ev | 0212 | 2561000 | Kas?mpa?a |
    | 3 | HÜseyin | Kaya | Kor | i? | 0216 | 3286848 | Ümraniye |
    +------+---------+---------+----------+-------+------+---------+-----------+
    AND ve OR komutlar? ile daha karma??k seçme i?lemleri yapmak mümkündür.
    E?er tablonun bütün sütunlar?n? görmek istemiyorsan?z görmek istedi?iniz
    sütun veya sütunlar?n ismini belirtmeniz yeterli.
    mysql> SELECT isim, kod, telefon FROM rehber;
    +---------+------+---------+
    | isim | kod | telefon |
    +---------+------+---------+
    | Halil | 0212 | 6532220 |
    | Ahmet | 0212 | 2561000 |
    | HÜseyin | 0216 | 3286848 |
    | Dilek | 0535 | 7805024 |
    +---------+------+---------+
    __________________

      Forum Saati Paz Mayıs 19, 2024 11:57 am