Disclaimer
Dilarang menyembunyikan document ini, karma ilmu tidak baik untuk
disembunyikan, sebarkan secara bebas document ini tanpa tujuan komersial, dengan syarat anda tidak menghapus atau merubah atribut penulis. ...Ilmu tidak baik disembunyikan lebih baik diamalkan walaupun berbahaya jika disalahgunakan, dewasalah... EVA-00
The Reason
Kaya lagunya Hoobastank aja ya.Ceritanya begini suatu hari saya pernah ikut suatu perlombaan Hacking kecil-kecilan, inti dari lomba tersebut adalah seluruh peserta harus bisa mengambil, mengubah dan menghapus data pada computer sever dan nilai tertinggi kalau peserta bisa men-shutdown komputer server. Seluruh tools sudah saya gunakan untuk melumpuhkan server, ketika waktu tinggal 5 menit lagi, saya berhasil masuk ke database server tersebut. Karena saya panic tegang dan sedikit grogi, saya jadi lupa perintah untuk mengupdate, menghapus dll, pada database tersebut. ( database-nya menggunakan MYSQL) dan akhirnya saya hanya termenung karena lupa dengan perintah dasar MYSQL ... Salah satu alasan saya membuat artikel ini karena saya mudah lupa, supaya saya tidak mudah lupa maka artikel ini harus dicatat atau didokumentasikan. Dan akhirnya, sampailah artikel ini ditangan anda, begitulah ceritanya kenapa artikel ini dibuat.
http://eva-00.cjb.net
Explore Your Brain - Free E-Book 2008 MYSQL itu apa ya?
MYSQL adalah Suatu perangkat lunak untuk memanajemen database SQL, kalau anda berpikir bahwa SQL dan MYSQL memiliki arti yang sama maka anda salah, perlu anda ketahui bahwa SQL dan MYSQL memiliki arti yang berbeda, SQL (Structure Query Language) adalah sintak-sintak atau perintah yang digunakan untuk mengelola database seperti membuat, menambah, memanipulasi data dll. Sedangkan MYSQL adalah softwarenya. Intinya MYSQL dan SQL adalah dua kata yg hampir sama tetapi memilki arti yang berbeda, intinya adalah MYSQL adalah Softwarenya sedangkan SQL adalah Perintahnya, sekarang pahamkan?
Persiapan Software
Pada jaman dahulu kala, MYSQL berjalan melalui platform UNIX dan LINUX saja tetapi pada jaman sekarang Platform Windows juga ikut andil dalam masalah ini, mungkin MYSQL sudah menjadi database yang populer kali ya??? Bagi pengguna *NIX biasanya MYSQL sudah terinstall secara default. Bagi pengguna OS besutan om Bill Gate a.k.a Windows, anda dapat menggunakan paket software yang sudah menyangkup MYSQL, Apache Webserver dan PHP seperti PHPTriad, Xampp, EasyPHP, dll Silahkan anda cari software tersebut, pokoknya saya ga mau tau anda harus memiliki salah satu dari software tersebut. Kalau anda tidak punya jangan harap bisa mengikuti kelanjutan artikel ini....(ngambek ni ye!!!)
Catatan:
Pada artikel ini saya menggunakan software EasyPHP 1.8 dengan system operasi windows xp sp2. jika anda menggunakan software lain seperti Xampp, PHPTriad, atau segala jenis software yang menyangkup MYSQL, Apache Webserver, dan PHP lainnya, anda masih bisa mengikuti artikel ini. Tenang aja, kali ini saya akan memanjakan anda.
http://eva-00.cjb.net
Explore Your Brain - Free E-Book 2008 First Step Menjalankan MYSQL
1. Karena saya menggunakan software EasyPHP maka Langkah pertama yang harus saya lakukan untuk menjalankan MYSQL adalah memilih Start-Program-EasyPHP-EasyPHP.exe 2. Maka akan tampil gambar seperti dibawah ini.
Terlihat bahwa Webserver Apache dan MYSQL sudah diaktifkan, kalau belum aktif maka anda wajib mengaktifkannya, saya yakin anda bisa mengaktifknya Lakukan hal yang sama jika anda menggunakan software seperti XAMPP atau PHPTriad atau sejenisnya. Kesimpulannya jika anda ingin menggunakan MYSQL maka anda harus
mengaktifkannya (Started) dan kalau anda ingin menyudahi-nya maka anda wajib mematikkannya (Stop), yang ini tolong di catet di otak kalian ya Saatnya kita meng-oprak-oprek MYSQL.
http://eva-00.cjb.net
Kalau anda menggunakan software lain, maka anda harus masuk ke direktori mysql\bin yang ada pada software anda. Keterangan cd c:\program files\easyphp1-8\mysql\bin adalah perintah untuk pindah ke direktori mysql\bin, perintah ini tentu saja beda jika anda menggunakan software selain EasyPHP. Jika anda menggunakan Xampp atau PHPTriad silahkan masuk kedirektori mysql\bin caranya kurang lebih sama seperti cara yang saya gunakan. mysql u root adalah perintah untuk melakukan koneksi ke MYSQL Server. Karena MySQL belum diberi password maka perintah untuk melakukan koneksinya ya seperti itu, kalau MySQLnya sudah diberi password maka perintah untuk melakukan koneksinya tentu saja berbeda, perintah untuk melakukan koneksi ke MySQL yang terpasang password adalah mysql u root h localhost p, contoh penggunaannya
http://eva-00.cjb.net
Kalau anda perhatikan, perintah untuk melakukan koneksi ke MYSQL Server cukup merepotkan, karena saya harus mengetik letak direktori mysql\bin berada, lalu melakukan koneksi ke MYSQL Server. Agar tidak merepotkan saya akan mengajarkan anda menggunakan Batch File. Batch File itu apa ya....??? silahkan tanya antek-antek microsoft OK..untuk menggunakan batch file maka anda harus menggunakan text editor, karena anda berada dilingkungan Windows silahkan buka Notepad, lalu ketik seperti gambar dibawah ini dan save pada direktori C: dengan nama koneksi.bat
Lalu buat shortcut koneksi.bat pada desktop anda (tau caranya kan???), Kalau anda ingin melakukan koneksi pada MYSQL server, maka anda tinggal meng-klik koneksi.bat dijamin langsung sampe tujuan deh.....bagi kalian yang tidak
http://eva-00.cjb.net
Perintah show databases; adalah perintah untuk melihat seluruh database yang ada pada MySQL Server. Pada perintah diatas terlihat hanya ada satu database yaitu mysql ayo kita lihat, apa saja isi databases mysql tersebut. Gunakan perintah use nama_database untuk mengaktifkan database tersebut. mysql> use mysql Database changed MySQL Server sudah memberi kabar Database changed kepada anda yang berarti anda sudah masuk pada database dengan nama mysql. Tampilkan isi database mysql, pada mysql prompt ketikkan perintah dibawah ini.
http://eva-00.cjb.net
http://eva-00.cjb.net
Dari 31 colom yang ada, yang kita butuhkan hanya 3 saja, yaitu Host, User, dan Password, untuk melihat isi colom tersebut ketikkan perintah dibawah ini pada mysql prompt. mysql> select host, user, password from user; +-----------+------+----------+ | host | user | password | +-----------+------+----------+ | localhost | root | | +-----------+------+----------+ 1 row in set (0.01 sec)
Lhopasswordnya kok kosong??? Yupsaat pertama kali anda menginstall MySQL Server maka secara default MySQL akan mengkosongkan password tersebut, makannya para administrator website atau sering disebut juga sebagai Webadmin dimanapun anda berada, jangan lupa untuk memberikan password ini ya.nanti ada INTRUDER lho...!!! Untuk Keluar dari MySQL gunakan perintah Quit mysql>quit Bye Ketika saya sedang mengikuti lomba hacking kecil-kecilan yang sudah saya ceritakan diatas. Database servernya menggunakan MySQL dengan password yang kosong a.k.a blank. Akhirnya saya bisa masuk dan bebas meng-exploitasi...he..he..he... tapi berhubung saya lupa perintah-perintah SQL ga jadi hura-hura deh.... :(
http://eva-00.cjb.net
2. DML atau Data Manipulation Language Data Manipulation Language adalah perintah SQL yang selalu berhubungan dengan manipulasi atau pengolahan data atau record dalam suatu tabel. Perintah yang termasuk dalam Data Manipulation Language adalah : Select Insert Update Delete
Ok...anda sudah tau, apa perbedaan DDL dan DML, dari pada baca teori melulu kita langsung praktek aja ya. Sekarang kita coba untuk membuat database, membuat tabel, menampilkan table, menghapus database dan sebagainya yang akan membuat otak kita pusing 7 kelililing...sudah siap semuanya???
http://eva-00.cjb.net
Contoh penggunanannya mysql> create database belajar; Query OK, 1 row affected (0.01 sec) Sebenarnya ada syarat-syarat khusus dalam membuat nama database, syarat tersebut harus anda turuti, kalau tidak, MySQL akan ngambek dengan menampilkan pesan error yang sangat menjengkelkan. Syarat tersebut adalah nama database boleh terdiri dari huruf, angka, dan underscore (_), dan tidak boleh ada spasi. MySQL tidak bersifat Case Sensitive artinya tidak mempedulikan huruf besar atau huruf kecil pada saat mengetikkan perintah. Misalnya saya mengetikkan perintah cReaTe DaTaBase BeLaJaR; perintah tersebut akan di konversi menjadi Lower Case atau huruf kecil semua sehingga perintah tersebut menjadi create database belajar;
Melihat database
Database dengan nama belajar sudah anda buat, lalu apakah anda percaya bahwa database tersebut sudah terbentuk? Bagaimana cara membuktikannya? Gampang kok...sintak dasar untuk melihat database adalah :
http://eva-00.cjb.net
10
Tuh...bisa anda lihat sendiri, database dengan nama belajar sudah terbentuk kan. Yang namanya membuat databases tentu ada cara menghapusnya, Lalu cara menghapusnya bagaimana?
Menghapus Database
Baru saja anda membuat database dengan nama belajar, sekarang kita akan menghapusnya, lho kok diapus???, kalau anda busa membuat tentu anda juga harus bisa memusnahkannya alias menghapusnya, sintak dasar untuk menghapus database adalah :
DROP DATABASE nama_database; Contoh Penggunaannya. mysql> drop database belajar; Query OK, 0 rows affected (0.00 sec) Coba kita cek, apakah databasenya sudah dihapus? mysql> show databases; +----------+ | Database | +----------+ | mysql | +----------+ 1 row in set (0.01 sec) Terlihat bahwa database dengan nama belajar sudah tidak terlihat lagi. He..he..he makin seru kan??? Mau tau jurus-jurus yang lain??
http://eva-00.cjb.net
11
Sebagai contoh kita akan membuat tabel dengan nama mahasiswa, sebelumnya kita buat dulu database dengan nama belajar, karena database tersebut telah kita hapus pada halaman sebelumnya, setelah membuat databasenya gunakan perintah use nama_database; untuk melakukan manipulasi pada database tersebut. mysql> create database belajar; Query OK, 1 row affected (0.01 sec) mysql> show databases; +----------+ | Database | +----------+ | belajar | | mysql | +----------+ 2 rows in set (0.00 sec) mysql> use belajar; Database changed mysql> Setelah membuat database dengan nama belajar, saatnya kita membuat table dengan nama mahasiswa, contoh penggunaan sintak untuk membuat table adalah : mysql> create table mahasiswa; ERROR 1113 (42000): A table must have at least 1 column Lhokok error??? Perlu anda ingat, untuk membuat table, harus terdapat minimal 1 buah colom atau 1 field. perintah diatas menampilkan pesan error karena table
http://eva-00.cjb.net
12
Contoh penggunaannya mysql> create table mahasiswa ( -> nama varchar(25), -> nim varchar(10), -> gender varchar(6) -> ); Query OK, 0 rows affected (0.13 sec) Oktable dengan nama mahasiswa yang terdiri dari 3 buah kolom telah berhasil dibuat, Perintahnya lumayan ribetkan, makanya siapa suruh belajar MySQL, ini aja baru membuat 1 table dengan 3 buah kolom, bagaimana nanti kalau disuruh membuat 5 table yang setiap tablenya memiliki 10 buah kolom. Cape deh.. Untuk melihat table yang baru saja kita buat, gunakan perintah :
SHOW TABLES;
Contoh penggunaan mysql> show tables; +-------------------+ | Tables_in_belajar | +-------------------+ | mahasiswa | +-------------------+ 1 row in set (0.00 sec)
http://eva-00.cjb.net
13
Berikut ini adalah spesifikasi tipe data yang ada di MySQL, semoga dibaca!!! Jenis Tipe TINYINT SMALLINT MEDIUMINT INT BIGINT Panjang tipe -128 s/d 127 Signed 0 s/d 255 Unsigned -32768 s/d 32767 Signed 0 s/d 65535 Unsigned -8388608 s/d 8388607 Signed 0 s/d 16777215 Unsigned -2147483648 s/d 2147483647 Signed 0 s.d 4294967295 Unsigned -922337203685477508 s/d 9223372036854775807 Signed FLOAT DOUBLE DECIMAL - s/d 18446744073709551615 Unsigned Bilangan Pecahan Presisi Tunggal Bilangan Pecahan Presisi Ganda Bilangan Dengan Desimal
Numerik
http://eva-00.cjb.net
14
String
Keterangan Signed : artinya bilangan tersebut bisa bersifat positif atau negatif Unsigned : artinya bilangan tersebut hanya bersifat positif YYYY-MM-DD-HH-SS : Y=tahun, M=bulan, D=Tanggal, H=Jam, S=Detik
http://eva-00.cjb.net
15
Contoh penggunaannya mysql> desc mahasiswa; atau mysql> show column from mahasiswa; Terserah anda mau menggunakan yang mana, toh hasilnya akan sama
saja...hasilnya bisa anda lihat seperti dibawah ini, oia perintah DESC itu memiliki kepanjangan yaitu DESCRIBE, nanti kalo ada pertanyaan, apa kepanjangan dari DESC tentu anda sudah tau jawabannya. +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | nama | varchar(25) | YES | | NULL | | | nim | varchar(10) | YES | | NULL | | | gender | varchar(6) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 3 rows in set (0.01 sec) Yes...struktur table sudah berhasil dibuat...makin seru kan???
Menghapus Table
Anda baru saja membuat table dengan perintah yang lumayan ribet...suatu hari anda ingin menghapus table tersebut, apakah perintah menghapusnya lebih ribet dari cara membuatnya?? He..he..he..ternyata Sintak untuk menghapus table lebih mudah dibandingkan dengan membuat table lho. Untuk menghapus tabel, gunakan perintah :
http://eva-00.cjb.net
16
Contoh penggunaannya mysql> drop table mahasiswa; Query OK, 0 rows affected (0.08 sec) Gampangkan??? Yuplebih gampang dari cara membuat tablenyasekarang kita cek, apakah tablenya sudah benar-benar dihapus.. mysql> show tables; Empty set (0.01 sec) Pesan Empty set (0.01 sec) membuktikan bahwa table mahasiswa benar-benar lenyap OK...well go to the next Level dan yang pasti lebih menantang dari sebelumnya...
http://eva-00.cjb.net
17
Hapus database yang bernama belajar yang tadi telah anda buat Buat database baru dengan nama karyawan (tanpa tanda petik) Pada database karyawan buatlah table dengan nama anggota (tanpa tanda petik) pada table tersebut terdapat 3 buah field atau kolom, struktur tablenya seperti dibawah ini
Nama table : anggota Field Nama Tgl_lahir Alamat Tipe Varchar Date Text Panjang 25 YYYY-MM-DD
Usahakan jangan nyontek, dan Kalau anda tidak bisa mengerjakan tantangan ini, jangan harap anda bisa menjadi seorang Hacker apa lagi mengaku dirinya Hacker.... apa hubungannya sama Hacker??? Yang namanya hacker pasti pernah menemukan atau mengenal bug SQL Injection. Bagaimana cara menemukan bug SQL Injection?? Pelajarilah perintah dasar SQL dan cara kerja dari program MySQL tersebut, selamat mengerjakan...
http://eva-00.cjb.net
18
Sengaja Di Kosongkan
http://eva-00.cjb.net
19
http://eva-00.cjb.net
20
Explore Your Brain - Free E-Book 2008 Mengisi Data Baru Pada Field
Apakah tantangan yang saya berikan diatas bisa anda kerjakan??? Kalau anda mengikuti artikel ini dari pertama, saya yakin anda bisa mengerjakannya. Tadi anda sudah membuat database dengan nama karyawan dan didalam database karyawan tersebut terdapat tabel yang bernama anggota , sekarang kita akan mengisi data baru pada table anggota, oia untuk mengisi data baru pada field atau kolom terdapat 3 bentuk perintah yang bisa anda gunakan, kita lihat dulu bentuk perintah pertamanya OK.. INSERT INTO nama_tabel (nama_kolom1, nama_kolom2,...) Values (nilai1, nilai2,...);
Contoh Penggunaannya : mysql> insert into anggota -> (nama, tgl_lahir, alamat) -> values -> ("andri","1986-06-01","jl.bintaro raya"); Query OK, 1 row affected (0.01 sec) Sekarang kita cek dulu yaperintah untuk melihat isi table adalah : SELECT * FROM nama_table
Contoh penggunaannya : mysql> select * from anggota; +-------+------------+-----------------+ | nama | tgl_lahir | alamat | +-------+------------+-----------------+ | andri | 1986-06-01 | jl.bintaro raya | +-------+------------+-----------------+ 1 row in set (0.00 sec) Bisa anda lihat sendiri, isi table sudah berhasil dibuat, sekarang kita coba mengisinya dengan bentuk perintah ke-2. perintah yang digunakan adalah : INSERT INTO nama_tabel SET nama_kolom1=nilai1, nama_kolom2=nilai2,...;
http://eva-00.cjb.net
21
Contoh Penggunaannya : mysql> select nama, tgl_lahir, alamat from anggota; +-------+------------+--------------------+ | nama | tgl_lahir | alamat | +-------+------------+--------------------+ | andri | 1986-06-01 | jl.bintaro raya | | Bagir | 1985-11-29 | jl.petukangan raya | +-------+------------+--------------------+ 2 rows in set (0.02 sec) Data baru sudah berhasil ditambahkan, sekarang kita coba mengisi data baru dengan bentuk perintah ke-3, perintahnya adalah INSERT INTO nama_table Values (nilai1, nila2,.); Contoh penggunaannya : mysql> insert into anggota values -> ("Deni", "1984-03-13","jl.balitung"); Query OK, 1 row affected (0.00 sec) Coba kita cek dulu apakah datanya sudah berhasil ditambahkan??
http://eva-00.cjb.net
22
Info Kalau anda membuat field atau kolom yang bersifat AUTO_INCREMENT, maka saat mangisi data pada filed atau kolom berikan nilai NULL.
DELETE FROM nama_tabel WHERE field_yang_akan_dihapus=isi_field; Contoh Penggunaannya : mysql> delete from anggota where nama="andri"; Query OK, 1 row affected (0.03 sec) Coba kita cek dulu yaapakah datanya sudah benar-benar dihapus. mysql> select * from anggota; +-------+------------+--------------------+-------------+ | nama | tgl_lahir | alamat | jns_kelamin | +-------+------------+--------------------+-------------+ | Bagir | 1985-11-29 | jl.petukangan raya | Pria | | Deni | 1984-03-13 | jl.balitung | Pria | +-------+------------+--------------------+-------------+ 2 rows in set (0.00 sec)
http://eva-00.cjb.net
23
menghilangkan seluruh field yang ada didalam table, gunakan perintah DELETE FROM nama_tabel;
Contoh Penggunaannya : mysql> delete from anggota; Query OK, 2 rows affected (0.00 sec) Coba kita cek dulu, apakah seluruh isinya sudah terhapus atau belum. mysql> select * from anggota; Empty set (0.00 sec)
Okseluruh isi data yang ada di pada table anggota telah berhasil di bantai ehh.salah dengdi hapus maksudnya.sekarang tugas anda adalah menambahkan lagi isi data yang ada pada table anggota ke semula ok.(gw yakin pasti pada males nambahin)
Jujur kalau saya diminta menambahkan data pada field tersebut saya juga males untuk melakukannya, kalau isi datanya Cuma 3 buah saya masih mau melakukannya tapi bagaimana kalau datanya buannyaakkk sekali, bisa dibayangkan misalnya ada 100 data yang akan ditambahkan tentunya kita harus mengetik manual, dan yang pasti saya tidak ada waktu lagi untuk bermain dokter-dokteran dengan pacar saya Kalau kita mengetikkan isi datanya satu persatu, tentu akan terjadi hal-hal yang tidak diingikan entah itu salah ketik, lupa memberi koma, dan berjuta-juta kesalahan lainnya. Dan MySQL pun selalu tega menampilkan pesan kematiannya yang berupa error walaupun kita hanya lupa mengetikkan satu buah koma , dan alhasil kita harus mengetik ulang perintahnya dari awal....tentunya saya tidak akan mau belajar MySQL lagi...tapi tunggu dulu, MySQL telah menyiapkan 2 cara untuk menambahkan data tanpa perlu mengetikkan langsung melalui command prompt atau console caranya seperti dibawah ini.
http://eva-00.cjb.net
24
Explore Your Brain - Free E-Book 2008 Mengisi data pada field cara 1
Anda sudah tau kalau mengisi data yang berjumlah ratusan, tidak mengkin menggunakan command prompt (Win) atau shell (*nix), untuk menambahkan isi data bukalah text editor seperti notepad or wordpad lalu ketikkan perintah SQL seperti gambar dibawah ini lalu save dengan nama cara1.sql (saya membuat folder baru dengan nama data pada drive C dan men-save cara1.sql kedalamnya).
Untuk mengisi data tersebut kedalam MySQL gunakan perintah dibawah ini : MYSQL U nama_user nama_database < letak_file *.sql
Contoh Penggunaannya :
C:\Program Files\EasyPHP1-8\mysql\bin>mysql -u root karyawan < c:\data\cara1.sql C:\Program Files\EasyPHP1-8\mysql\bin>
Coba kita cek hasilnya. C:\Program Files\EasyPHP1-8\mysql\bin>mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 to server version: 4.1.9-max Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> use karyawan; Database changed
http://eva-00.cjb.net
25
Contoh penggunaannya : mysql> alter table anggota add jk varchar(6); Query OK, 3 rows affected (0.19 sec) Records: 3 Duplicates: 0 Warnings: 0 Baru saja saya menambahkan field jenis kelamin yang saya singkat menjadi jk, dengan tipe varchar dengan panjang data 6, sekarang coba kita lihat hasilnya
http://eva-00.cjb.net
26
Contoh penggunaannya : mysql> update anggota set jk="pria" where nama="andri"; Query OK, 1 row affected (0.05 sec) Rows matched: 1 Changed: 1 Warnings: 0 Kita cek dulu, apakah datanya sudah berhasil di-update apa belum. mysql> select * from anggota; +-------+------------+--------------------+------+ | nama | tgl_lahir | alamat | jk | +-------+------------+--------------------+------+ | andri | 1986-06-01 | jl.bintaro raya | pria | | Bagir | 1985-11-29 | jl.petukangan raya | NULL | | Deni | 1984-03-13 | jl.balitung | NULL | +-------+------------+--------------------+------+ 3 rows in set (0.00 sec)
http://eva-00.cjb.net
27
Menghapus Field/Kolom
Suatu hari, Andi dikhianati oleh rekan kerjanya, rekan kerjanya merasa kesal karena Andi selalu dimanja oleh atasanya. Akhirnya rekan kerjanya memberi pelajaran kepada Andi dengan menghapus field yang bernama jk yang baru saja ia buat. Ketika Andi ingin meng-update database, Andi terkejut setengah mati dengan hilangnya field jk yang akan dia perlihatkan kepada atasannya. Lalu Andi berpikir Apakah Hacker telah masuk kedalam sistem yang saya buat...tapi tunggu dulu, selain saya dan si anu tidak ada yang tau password untuk mengakses database, karena password yang saya buat terdiri dari 25 karakter yang dikombinasikan dengan huruf, angka dan bla.bla.bla (ini hanya karangan belaka), tentu saya akan mencurigai si anu. Bagaimana si Anu menghapus field jk yang ada pada table tersebut??? Jawabannya sangat mudah, si Anu menggunakan perintah
Contoh penggunannya : mysql> alter table anggota drop jk; Query OK, 3 rows affected (0.17 sec) Records: 3 Duplicates: 0 Warnings: 0 Mari kita cek apa yang telah dilihat si Andi yang membuatnya terkejut setengah mati.
http://eva-00.cjb.net
28
mysql> select * from anggota; +-------+------------+--------------------+ | nama | tgl_lahir | alamat | +-------+------------+--------------------+ | andri | 1986-06-01 | jl.bintaro raya | | Bagir | 1985-11-29 | jl.petukangan raya | | Deni | 1984-03-13 | jl.balitung | +-------+------------+--------------------+ 3 rows in set (0.04 sec) Bisa anda lihat sendiri, field yang bernama jk telah hilang entah kemana, jika jumlah datanya ada hanya ada 3 buah seperti diatas tentu bukan masalah yang besar, tetapi kalau puluhan atau bahkan ratusan, anda mungkin bisa stress, karena anda harus mengupdatenya kembali, tentu dalam 1 hari ini bukan pekerjaan yang bisa diselesaikan
http://eva-00.cjb.net
29
Contoh penggunaannya : mysql> alter table anggota change jns_klamon jns_kelamin varchar(6); Query OK, 3 rows affected (0.09 sec) Records: 3 Duplicates: 0 Warnings: 0 Mari kita lihat hasilnya mysql> select * from anggota; +-------+------------+--------------------+-------------+ | nama | tgl_lahir | alamat | jns_kelamin | +-------+------------+--------------------+-------------+ | andri | 1986-06-01 | jl.bintaro raya | NULL | | Bagir | 1985-11-29 | jl.petukangan raya | NULL | | Deni | 1984-03-13 | jl.balitung | NULL | +-------+------------+--------------------+-------------+ 3 rows in set (0.00 sec) Lalu Andi meng-update field jenis kelamin yang telah diperintahkan oleh atasannya. mysql> update anggota set jns_kelamin="pria" where nama="andri"; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> update anggota set jns_kelamin="Pria" where nama="Bagir"; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> update anggota set jns_kelamin="Pria" where nama="deni"; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0
http://eva-00.cjb.net
30
http://eva-00.cjb.net
31
Buatlah database baru dengan nama kpu Pada data base kpu, buatlah table dengan nama partai pada table tersebut terdapat 3 buah field, struktur tablenya seperti dibawah ini.
Nama table : partai Field Id Nama Daerah Tipe Int Varchar Varchar Panjang 30 35 Attribut Unsigned, Auto_Increment Not Null Index Primary_key
Buat 3 buah data baru kedalam table partai sehingga isi table partai terlihat seperti dibawah ini Id 1 2 3 Nama Partai anti korupsi Partai anti kolusi Partai anti nepotisme Daerah Jakarta Bandung Semarang jml_vote dengan tipe int,
Tambahkan satu buah field dengan nama attributnya Unsigned dan Not Null
Update field jml_vote sehingga isi table partai menjadi Id 1 2 3 Nama Partai anti korupsi Partai anti kolusi Partai anti nepotisme Daerah Jakarta Bandung Semarang Jml_vote 150000 250000 300000
Tambahkan 2 buah data lagi sehingga isi table partai menjadi Id 1 2 3 4 5 Nama Partai Partai Partai Partai Partai Daerah Jakarta Bandung Semarang Jogjakarta Bali Jml_vote 150000 250000 300000 400000 500000
http://eva-00.cjb.net
32
- Sengaja Di kosongkan -
http://eva-00.cjb.net
33
http://eva-00.cjb.net
34
http://eva-00.cjb.net
35
Explore Your Brain - Free E-Book 2008 Menampilkan data dengan query tertentu
Saat ini kita memiliki 2 buah database yang telah kita buat dengan nama karyawan dan kpu, sekarang yang akan kita bahas adalah menampilkan data dengan query tertentu, maksudnya gimana tuh??? Untuk menampilkan data biasanya kita menggunakan perintah select * from nama_table; perintah ini akan menampilkan seluruh isi dari nama_table, yang jadi masalah, bagaimana kalau kita hanya menginginkan query tertentu saja yang ditampilkan??? Masih bingung ya...langsung praktek aja deh.... Sebelumnya kita tambahkan dulu 10 data yang ada dalam database karyawan, masih inget caranya kan??? Hah..udah lupa?? Yaudah saya kasih tau deh....buka text editor (notepad) lalu ketik seperti gambar dibawah ini.
Saya save file tersebut dengan nama cara1.sql dan saya taruh di folder c:\data, perintah untuk menambahkan data tersebut kedalam database karyawan adalah :
C:\Program Files\EasyPHP1-8\mysql\bin>mysql -u root karyawan < c:\data\cara1.sql
http://eva-00.cjb.net
36
Sekarang kita cek apakah datanya sudah berhasil ditambahkan C:\Program Files\EasyPHP1-8\mysql\bin>mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 to server version: 4.1.9-max Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use karyawan; Database changed mysql> select * from anggota; +--------+------------+----------------------+-------------+ | nama | tgl_lahir | alamat | jns_kelamin | +--------+------------+----------------------+-------------+ | andri | 1986-06-01 | Jl. Bintaro Raya | Pria | | Bagir | 1985-05-20 | Jl. pancoran | Pria | | shoffa | 1985-11-20 | Jl. pancoran | Wanita | | Andri | 1986-06-01 | Jl. Bintaro Raya | Pria | | Bagir | 1985-05-20 | Jl. pancoran | Pria | | shoffa | 1985-11-20 | Jl. pancoran | Wanita | | Winda | 1990-10-12 | Jl, Petukangan Utara | Wanita | | Rika | 1984-05-29 | Jl. Deplu | wanita | | Ali | 1987-01-25 | Jl, Kampung Sawah | Pria | | Radit | 1986-08-19 | Jl. Bintaro Raya | Pria | | Faiz | 1985-03-24 | Jl. Pondok Pinang | Pria | | Stevie | 1986-01-01 | Jl. Pd. Labu | Wanita | | Andi | 1986-11-21 | Jl. Pojok | Pria | +--------+------------+----------------------+-------------+ 13 rows in set (0.02 sec)
Sip..datanya sudah berhasil ditambahkan, Misalnya saya ingin menampilkan data pada kolom nama dan alamat saja, maka perintah untuk menampilkannya adalah. SELECT nama_nama_kolom_yg_ingin_ditampilkan From nama_tabel;
http://eva-00.cjb.net
37
Contoh Penggunaannya : mysql> select nama, jns_kelamin from anggota order by nama; +--------+-------------+ | nama | jns_kelamin | +--------+-------------+ | Ali | Pria | | Andi | Pria | | andri | Pria | | Andri | Pria | | Bagir | Pria | | Bagir | Pria | | Faiz | Pria |
http://eva-00.cjb.net
38
http://eva-00.cjb.net
39
Contoh penggunaannya : mysql> select * from anggota where jns_kelamin="Wanita"; +--------+------------+----------------------+-------------+ | nama | tgl_lahir | alamat | jns_kelamin | +--------+------------+----------------------+-------------+ | shoffa | 1985-11-20 | Jl. pancoran | Wanita | | shoffa | 1985-11-20 | Jl. pancoran | Wanita | | Winda | 1990-10-12 | Jl, Petukangan Utara | Wanita | | Rika | 1984-05-29 | Jl. Deplu | wanita | | Stevie | 1986-01-01 | Jl. Pd. Labu | Wanita | +--------+------------+----------------------+-------------+ 5 rows in set (0.03 sec) Bisa anda lihat sendiri, isi data ditampilkan berdasarkan jns_kelamin yang berisi Wanita. Saya yakin anda bisa mengkombinasikan perintah-perintah tersebut menjadi lebih powerfull..dan Tentunya masih banyak lagi perintahperintah yang harus anda kuasai...dan saya hanya bisa menyampaikan kepada anda sampai disini, selebihnya silahkan tanya om google OK...
EVA-00 greats to : All Poeple in the world dari yg online sampai yg offline especially for my Family & my dear shoffa.
http://eva-00.cjb.net
40