All About MySQL

Discussion in 'Programming & Reverse Engineering' started by serpong4cell, Jun 29, 2009.

  1. serpong4cell

    serpong4cell Moderator Moderator

    Messages:
    1,836
    Likes Received:
    1,256
    Trophy Points:
    0
    Mengingat semakin banyaknya software yg menggunakan MySQL sbg database ada baiknya kita bahas tentang MySQL.
    Di Mulai dgn :
    - Apa itu MySQL
    - Sejarah MySQL
    - Instalasi MySQL
    - Konfigurasi MySQL
    - Perintah Dasar MySQL
    - MySQL dengan VB
    - MySQL dengan Delphi
    - dll
     
    Revo Cell and satria83 like this.
  2. satria83

    satria83 New Member

    Messages:
    141
    Likes Received:
    64
    Trophy Points:
    0
    APA ITU MYSQL
    MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase.
    sumber
     
    kleptorian and serpong4cell like this.
  3. satria83

    satria83 New Member

    Messages:
    141
    Likes Received:
    64
    Trophy Points:
    0
    Sejarah MYSQL
    MySQL dikembangkan oleh sebuah perusahaan Swedia bernama MySQL AB, yang kala itu bernama TcX DataKonsult AB, sejak sekitar 1994–1995, meski cikal bakal kodenya bisa disebut sudah ada sejak 1979. Tujuan mula-mula TcX membuat MySQL pada waktu itu juga memang untuk mengembangkan aplikasi Web untuk klien—TcX adalah perusahaan pengembang software dan konsultan database. Kala itu Michael Widenius, atau “Monty”, pengembang satu-satunya di TcX, memiliki aplikasi UNIREG dan rutin ISAM yang dibuat sendiri dan sedang mencari antarmuka SQL untuk ditempelkan di atasnya. Mula-mula TcX memakai mSQL, atau “mini SQL” (akan kita kunjungi nanti). Barangkali mSQL adalah satu-satunya kode database open source yang tersedia dan cukup sederhana saat itu, meskipun sudah ada Postgres (juga akan dibahas sesaat lagi). Namun ternyata, menurut Monty, mSQL tidaklah cukup cepat maupun fleksibel. Versi pertama mSQL bahkan tidak memiliki indeks. Setelah mencoba menghubungi David Hughes—pembuat mSQL—dan ternyata mengetahui bahwa David tengah sibuk mengembangkan versi dua, maka keputusan yang diambil Monty yaitu membuat sendiri mesin SQL yang antarmukanya mirip dengan mSQL tapi memiliki kemampuan yang lebih sesuai kebutuhan. Lahirlah MySQL.
    Nama MySQL (baca: mai és kju él) tidak jelas diambil dari mana. Ada yang bilang ini diambil dari huruf pertama dan terakhir nama panggilan Michael Widenius, Monty. Ada lagi yang bilang kata My diambil dari nama putri Monty, yang memang diberi nama My—karena Monty memang aslinya seorang Finlandia. Tapi sebetulnya kalau source code MySQL dilirik, prefiks my memang sudah terbubuhi di mana-mana—prefiks ini sering menjadi prefiks umum kalau seseorang membuat kode kustom tersendiri untuk sesuatu. Kalau Anda betul-betul penasaran mana yang benar, mungkin bisa bertanya langsung kepada Monty.
    MySQL versi 1.0 dirilis Mei 1996 secara terbatas kepada empat orang. Baru di bulan Oktober versi 3.11.0 dilepas ke publik. Namun mula-mula kode ini tidak diberikan di bawah lisensi General Public License, melainkan lisensi khusus yang intinya kurang lebih begini: “Source code MySQL dapat dilihat dan gratis, serta server MySQL dapat dipakai tanpa biaya tapi hanya untuk kebutuhan nonkomersial. Untuk kebutuhan komersial (mis: mengemas dan menjual MySQL, atau menyertakan MySQL dalam program komersial lain) Anda harus bayar lisensi.” Sementara distribusi Windows MySQL sendiri dirilis secara shareware. Barulah pada Juni 2000 MySQL AB mengumumkan bahwa sejak versi 3.23.19, MySQL adalah software bebas berlisensi GPL. Artinya, “Source code MySQL dapat dilihat dan gratis, serta server MySQL dapat dipakai tanpa biaya untuk kebutuhan apa pun. Tapi jika Anda memodifikasi source code, Anda juga harus melepasnya di bawah lisensi yang sama, yaitu GPL.” Kini perusahaan MySQL AB, yang beranggotakan sekitar 10 programer dan 10 karyawan lain itu, memperoleh pemasukan terutama dari jasa konsultasi seputar MySQL.
    Versi publik pertama, yang hanya berjalan di Linux dan Solaris serta sebagian besar masih belum terdokumentasi itu, dengan berangsur-angsur diperbaiki dan ditambah fitur demi fiturnya—tapi tetap dengan fokus utama pengembangan pada kelangsingan dan kecepatan. Artinya, fitur yang menyebabkan MySQL menjadi lambat tidaklah ditambahkan, atau ditunda dulu, atau ditambahkan tapi menjadi fitur yang opsional.
    Versi awal MySQL ini, meski sudah bisa dipakai untuk aplikasi Web sederhana, belumlah memadai sama sekali untuk aplikasi bisnis. Contohnya, JOIN sederhana sudah ada, tapi tidak ada HAVING—baru di bulan Desember ditambahkan. Sudah ada tipe data TIMESTAMP dan kolom autoupdate, tapi tidak ada system-generated number (sequence)—baru di akhir 1996 juga ditambahkan modifier kolom AUTO_INCREMENT. Sudah ada LIMIT tapi GROUP BY dan ORDER BY memiliki keterbatasan. Dan seterusnya.
    Barulah di versi-versi akhir 3.22—sepanjang 1998–1999—MySQL menjadi semakin popular dan dilirik orang. Stabilitasnya sudah baik. Kecepatannya meningkat. Sudah tersedia di berbagai platform, termasuk Windows. Seri 3.22 ini banyak dipakai di berbagai instalasi, mungkin hingga sekarang, sehingga MySQL AB tetap memberikan dukungan technical support untuk seri ini.
    MySQL Terus Berkembang

    Kalau di seri 3.22 MySQL mulai diadopsi banyak orang dan meningkat populasi penggunanya, maka di seri 3.23 dan 4.0-lah terjadi banyak peningkatan dari sisi teknologi. Ini tidak terlepas dari tuntutan pemakai yang semakin mengandalkan MySQL, namun membutuhkan fitur-fitur yang lebih banyak lagi. Sejak dari sebelum 3.22 dan awal 3.23, MySQL terus dikritik praktisi database maupun penggunanya mengenai tidak adanya fasilitas transaksi (COMMIT dan ROLLBACK). Pengembang MySQL menyarankan penggunaan LOCK TABLES untuk mengatasi masalah update atomik, tapi ini tentu saja bukan pengganti transaksi, karena tidak adanya kemampuan membatalkan efek perubahan di tengah jalan. Di seri 3.23-lah MySQL mulai memiliki kemampuan transaksi, row-level locking, dan foreign key constraint. Meski beberapa fasilitas popular lainnya masih belum ada—seperti subselek, view, dan trigger—ini sudah direncanakan dan akan mulai ditambahkan di seri 4.x.
    Seri 3.23.Di seri 3.23 MySQL menambahkan tiga jenis tabel baru: pertama MyISAM, yang sampai sekarang menjadi tipe tabel default; kedua BerkeleyDB, yang pertama kali menambahkan kemampuan transaksi pada MySQL; dan ketiga InnoDB, primadona baru yang potensial. MySQL memang memiliki arsitektur yang memungkinkan tiap tabel ditangani oleh handler yang berbeda. Handler ini menerima perintah akses dan modifikasi dari lapisan MySQL yang lebih atas dan mewujudkannya secara fisik dari dan ke disk. Tabel tipe MyISAM merupakan tabel yang lebih cepat dari tabel ISAM, karena pola aksesnya telah disesuaikan dan dioptimasi untuk pola akses SQL. Selain itu MyISAM mendukung indeks pada kolom bertipe TEXT dan BLOB, serta mendukung tipe indeks FULLTEXT. Tabel tipe BerkeleyDB, atau BDB, menggunakan database embedded BerkeleyDB yang sudah terkenal itu untuk memanfaatkan kemampuan transaksinya. Sejak memiliki handler BDB, MySQL naik statusnya menjadi database yang ACID compliant, sesuatu yang amat penting bagi keamanan data. Namun BerkeleyDB tidaklah terlalu optimal untuk sebuah database SQL, sehingga akhirnya sebuah perusahaan Finlandia Innobase Oy membuat handler table baru bagi MySQL yang menggunakan database embedded InnoDB-nya—kala itu bernama Innobase, namun berganti nama karena masalah trademark produk Innobase yang sudah ada sebelumnya.
    InnoDB membuat MySQL menarik karena peningkatan kecepatan dan kemampuan tambahan yang dimungkinkannya. Pertama-tama, InnoDB memiliki fitur transaksi dengan sistem multiversi. Artinya, jika sebuah klien memulai transaksi, maka perubahan yang dilakukan klien tersebut tidak akan terlihat oleh klien lain. Klien lain akan melihat kondisi tabel sebelum transaksi. Barulah jika transaksi oleh klien pertama dicommit, perubahan ini menjadi terlihat di semua klien lain. Bandingkan ini dengan tabel BDB misalnya, di mana klien yang ingin mengakses sebuah tabel yang sedang dipakai dalam sebuah transaksi akan diblok. Dengan kata lain, multiversi menghindari bloking yang tidak perlu. Ini ditambah lagi dengan row-level locking yang disediakan InnoDB, sehingga mempertinggi konkurensi dan mencegah terlalu banyak bloking. Handler tabel MySQL yang lain hanya mendukung table-level locking, sehingga sebuah klien hanya bisa memblok dengan tingkat granulasi tabel dan berpotensi memblok banyak klien lain yang ingin mengakses tabel yang sama. PostgreSQL dan beberapa database komersial sudah memiliki kemampuan-kemampuan ini. Berkat InnoDB, MySQL pun kini memiliki keduanya. Selain itu, InnoDB menambahkan foreign key constraint, sesuatu yang sering didambakan pengguna MySQL karena bisa menyederhanakan logika pemrograman dan menjaga kekonsistenan database mereka.
    Seri 4.x. Di seri yang baru berjalan hingga 4.0 tahap alfa ini, pengembang MySQL berjanji akan menjadikan MySQL satu derajat lebih tinggi lagi. Fitur-fitur yang sejak dulu diminta akan dikabulkan, seperti subselek (di 4.1), union (4.0), foreign key constraint (4.0 atau 4.1—meski InnoDB sudah menyediakan ini di 3.23.x), stored procedure (4.1), view (4.2), cursor (4.1 atau 4.2), trigger (4.1). MySQL AB tetap berdedikasi mengembangkan dan memperbaiki MySQL, serta mempertahankan MySQL sebagai database open source terpopuler.
    Di versi 3.23 dan selanjutnya MySQL semakin menarik untuk dilirik oleh pengguna non-Web. Situs mysql.com di halaman depannya dengan bangga memajang profil para pengguna MySQL yang terkenal, seperti Yahoo! Finance (yang mulai mengaku menggunakan MySQL beberapa waktu lalu di milis mysql), NASA (yang membuang Oracle demi memotong budget), atau perusahaan sekuritas Jepang Aizawa. MySQL tidak lagi sekedar dipercaya menyimpan data posting komentar pengunjung situs Web (seperti di slashdot.org, pengguna veteran MySQL) atau hit atau log Web, tapi juga kini sebagai tempat menyimpan data keuangan dan transaksi bisnis. Meskipun demikian, karakteristik pengguna database—yang biasanya terdiri dari perusahaan—adalah cenderung konvensional dalam mengadopsi produk baru. Jadi jangan terkejut kalau misalnya sampai sekarang Anda akan masih menjumpai orang yang menganggap MySQL belum ACID-compliant atau belum bisa melakukan transaksi. Padahal sudah dua tahun fitur ini ada di MySQL.


    http://www.master.web.id/mwmag/issue/04/content/fokus/fokus.html

    [​IMG]
     
    miaco and serpong4cell like this.
  4. serpong4cell

    serpong4cell Moderator Moderator

    Messages:
    1,836
    Likes Received:
    1,256
    Trophy Points:
    0
  5. serpong4cell

    serpong4cell Moderator Moderator

    Messages:
    1,836
    Likes Received:
    1,256
    Trophy Points:
    0
  6. serpong4cell

    serpong4cell Moderator Moderator

    Messages:
    1,836
    Likes Received:
    1,256
    Trophy Points:
    0
  7. serpong4cell

    serpong4cell Moderator Moderator

    Messages:
    1,836
    Likes Received:
    1,256
    Trophy Points:
    0
    PERINTAH DASAR MYSQL


    Perintah-perintah dibawah ini digunakan setelah anda berhasil menginstal MySQL pada komputer yang anda, anda juga telah berada pada MySQL prompt.
    bentuk MySQL prompt :

    mysql>

    Pada sistem operasi Windows penulisan perintah-perintah dalam MySQL tidak membedakan huruf besar dan huruf kecil, tapi pada sistem operasi Unix/Linux huruf besar dan kecil harus
    dibedakan.

    MENGETAHUI VERSI MySQL YANG KITA GUNAKAN:
    mysql> SELECT VERSION();

    MENAMPILKAN DATABASE:
    Syntax => SHOW DATABASES;

    Contoh:
    mysql>show DATABASES;

    MEMBERI CATATAN ATAU KOMENTAR:
    Syntax => /* isi dengan komentar atau catatan */

    Contoh:
    mysql>/* perintah untuk menampilkan
    database pada MySQL */
    ->SHOW
    ->DATABASES
    ->;

    MEMBUAT DATABASE BARU
    Syntax => CREATE DATABASE database;

    Contoh:
    mysql> CREATE DATABASE serpong;
    Query OK, 1 row affected (0.01 sec)

    MEMILIH DATABASE
    Syntax => USE database;

    Contoh:
    mysql>USE serpong;
    Database Changed ==> database sudah dipilih

    MENAMPILKAN TABEL
    Syntax => SHOW TABLES;

    Contoh:
    mysql>SHOW TABLES;
    Empty set (0.00 sec) ==> yang berarti tabel belum ada

    MEMBUAT TABEL BARU
    Syntax => CREATE TABLE table(field spesifikasi field, ...)

    Contoh:
    mysql> CREATE TABLE biodata
    -> (noid INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    -> nama VARCHAR(40) NOT NULL,
    -> kelamin VARCHAR(2),
    -> alamat VARCHAR(30),
    -> kota VARCHAR(40),
    -> tgllhr DATE NULL DEFAULT '0000-00-00');
    Query OK, 0 rows affected (0.2 sec) ==> OK berarti tidak terjadi kesalahan

    MENAMPILKAN STRUKTUR TABEL
    Syntax => SHOW COLUMNS FROM tabel
    atau
    Syntax => DESCRIBE tabel

    Contoh:
    mysql>DESCRIBE biodata;

    MENGUBAH STRUKTUR TABEL
    Dengan perintah ALTER TABLE kita bisa melakukan terhadap kolom diantaranya:
    ADD => melakukan penambahan kolom pada tabel
    DROP => menghapus kolom dan index pada tabel
    RENAME => mengganti nama tabel
    MODIFY => mengubah jenis kolom
    CHANGE => mengganti nama kolom sekaligus jenis kolom

    Syntax => ALTER TABLE table perintah;

    Contoh:
    mysql> ALTER TABLE biodata
    -> ADD kodepos VARCHAR(5);
    Query OK, 1 rows affected (0.04 sec)
    Records: 0 Duplicates: 0 Warnings: 0

    MENGISI DATA
    Untuk mengisi data ke database ada 3 cara sebagai berikut:

    Cara Yang 1
    Syntax => INSERT INTO table(kolom 1, kolom 2, ... kolom n)
    VALUES(data_kolom 1, data_kolom 2, ... data_kolom n);

    Contoh:
    mysql>INSERT INTO biodata
    -> (nama, kelamin, alamat, kota, tgllhr, kodepos)
    -> VALUES
    -> ('Satria','LK','Jl. Becek gang Sempit','Serpong',1945-01-13','15130')
    ->;
    Query OK, 1 rows affected (0.01 sec)

    Cara Yang 2
    Syntax => INSERT INTO tabel SET kolom1=data_kolom1, kolom2=data_kolom2, ...

    Contoh:
    mysql> INSERT INTO biodata
    -> SET nama ='Satria',
    -> kelamin ='LK',
    -> alamat ='Jl. Becek gang Sempit',
    -> kota ='Serpong',
    -> tgllhr ='1945-01-13',
    -> kodepos ='15130';
    Query OK, 1 rows affected (0.00 sec)

    Cara Yang 3
    Syntax => INSERT INTO tabel VALUES(data_kolom1,data_kolom2, ...)

    Contoh:
    mysql> INSERT INTO biodata
    -> VALUES
    ->(NULL,'Satria','LK','Jl. Becek gang Sempit','Serpong','1945-01-13','15130');
    Query OK, 1 rows affected (0.01 sec)

    MENAMPILKAN DATA
    Syntax => SELECT kolom FROM tabel WHERE kriteria ORDERED BY kolom

    Contoh:
    mysql>SELECT * FROM biodata;

    MENGUBAH DATA
    Syntax => UPDATE tabel SET kolom=pengubah_data WHERE criteria

    Contoh:
    mysql>UPDATE biodata SET alamat='Jl. Rusak Sekali' WHERE nama= 'Satria';

     
  8. satria83

    satria83 New Member

    Messages:
    141
    Likes Received:
    64
    Trophy Points:
    0
    sebelum berlanjut.

    jelasin dulu cara menggunakan menggunakan mysql(menjalankan,restart, membunuh) melalui mode dasar(dos, ato console).

    monggo dilanjut bos serpong
     
  9. miaco

    miaco Well-Known Member Super Member

    Messages:
    761
    Likes Received:
    822
    Trophy Points:
    103
    Tutorial berguna, bagi newbie sepeti saya.... :thumb::thumb::thumb:
     
    xcel likes this.
  10. hariman747

    hariman747 New Member

    Messages:
    2
    Likes Received:
    4
    Trophy Points:
    0
  11. SomaticCell

    SomaticCell New Member

    Messages:
    42
    Likes Received:
    18
    Trophy Points:
    0
    Start --> Program ---> MySQL --> MySQL 5 Server --> MySQL Client Command Line
     
  12. ryanaby

    ryanaby New Member

    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    0
    wah bagus sekali tutorialnya,
    tapi yang saya masih bingung sintax untuk masalah operator kondisi..
    misalnya begini
    >Menghapus semua data/record dari tabel SKS yang NIM-nya bukan 1 dan NILAI > 1

    saya baca2 perintahnya menggunakan NOT, tapi kok masih bingung yak...:frusty:
     
  13. SomaticCell

    SomaticCell New Member

    Messages:
    42
    Likes Received:
    18
    Trophy Points:
    0
    Bisa menggunakan sintaks:

    DELETE FROM tabelsks WHERE nim != 1 AND nilai > 1;
     
  14. aresdinasty

    aresdinasty Moderator Moderator

    Messages:
    444
    Likes Received:
    114
    Trophy Points:
    53
    bang serpong kalo mo replikasi gimana bang ...?
    apa bisa seperti ini
    kompi 1
    ip 192.168.1.1
    os linux
    sebagai master

    kompi 2
    ip 192.168.1.2
    os windows
    sebagai slave

    mohon arahan dan petunjuk ... :D
     
  15. bardiche

    bardiche New Member

    Messages:
    64
    Likes Received:
    15
    Trophy Points:
    0

Share This Page