30 Juni 2009

My SQL 5.0

Sebelumnya...

Apa Itu MySQL?

MySQL (biasanya kita membacanyadengan mai-es-ki-el atau bisa juga mai-se-kuel) adalah suatu perangkat lunak database relasi (Relational Database Management System atau RDBMS), seperti halnya ORACLE, Postgresql, MS SQL, dan sebagainya. Jangan disalah-artikan MySQL dengan SQL. SQL (singkatan dari Structured Query Language) sendiri adalah suatu sintaks perintah-perintah tertentu atau bahasa (pemrograman?) yang digunakan untuk mengelola suatu database. Jadi, MySQL dan SQL adalah dua 'mahluk' yang berbeda. Mudahnya, MySQL adalah softwarenya, dan SQL adalah bahasa perintahnya.

Jelas jelas? kalau lom jelas silahkan tanya mbah google

sekedar bocoran, Selengkapnya tentang apa, bagaimana tentang MySQL dan SQL, sejarah dan lain-lainnya silakan kunjungi aja situs resminya http://www.mysql.com.

OS apa yang mendukung?

MySQL didukung oleh banyak sistem operasi, seperti Linux, Unix, Windows, Solaris, FreeBSD, Mac OS X, HP UX, IBM AIX, SCO Unix, SGI Irix, Dec OSF, dan sebagainya. Dapat digunakan baik pada komputer dengan prosesor 32-bit maupun 64-bit ( prosesor AMD 64 X2 maupun Intel Core Duo ).

Menjalankan MySQL

Menjalankan MySQL dapat dilakukan melalui menu Windows: Start -> Programs -> MySQL -> MySQL Server 5.0 -> MySQL Command Line Client. Kemudian Anda masukkan password yang telah Anda buat pada saat instalasi MySQL.

Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 60
Server version: 5.0.67-community-nt MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Menampilkan database

Kita coba dengan perintah "SHOW DATABASES" yang akan menampilkan database yang ada di dalam sistem MySQL kita.

mysql> show databases ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
---------------------+
3 rows in set (0.00 sec)

Catatan: Istilah database perlu dipahami dengan baik. Database di dalam MySQL adalah sekumpulan tabel-tabel. Jumlah tabel minimal satu buah, dan maksimalnya tidak terbatas. Semakin banyak tabel, maka akan semakin besar ukuran database Anda. Yang membatasi besarnya database adalah kemampuan sistem operasi kita, dan juga jumlah kapasitas ruang dalam haarddisk dan memori komputer Anda. Keterangan selengkapnya mengenai hal ini dapat dilihat pada situs MySQL (http://www.mysql.com).

Membuat database baru

Sudah ada 3 buah database di dalam sistem MySQL. Sekarang kita akan membuat sebuah database untuk latihan kita. Gunakan perintah "CREATE DATABASE" untuk membuat sebuah database.


mysql> create database latihan1 ;
Query OK, 1 row affected (0.02 sec)

Anda perhatikan dari dua perintah MySQL di atas,bahwa setiap perintah selalu diakhiri dengan tanda ";" (titik-koma). Memang pada umumnya perintah-perintah MySQL diakhiri oleh tanda ";" ini. Perhatikan perintah dibawah ini bila ditulis tanpa tanda titik-koma ";".

mysql> create database latihan2
->

Sistem MySQL akan menampilkan tanda panah '->' yang menyatakan bahwa perintah MySQL tersebut dianggap belum selesai (karena belum diakhiri dengan tanda titik-koma ';').

Sekarang kita lengkapi perintah sebelumnya dengan tanda titik-koma ';'

mysql> create database latihan2
-> ;
Query OK, 1 row affected (0.02 sec)

Nah, semuanya berjalan normal bukan? :) Mari kita lanjutkan tutorialnya...

Kita periksa lagi hasil dari perintah di atas dengan "SHOW DATABASE".

mysql> show databases ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| latihan1 |
| latihan2 |
| mysql |
| test |
+--------------------+
5 rows in set (0.00 sec)

Menghapus database


Kita tidak memerlukan database latihan2, maka kita dapat menghapusnya dengan perintah DROP DATABASE. Hati-hati dalam menggunakan perintah DROP DATABASE ini, karena database beserta seluruh isinya akan lenyap dari muka bumi tanpa bisa kita kembalikan lagi! Parahnya lagi, sistem MySQL tidak memberikan pertanyaan konfirmasi kepada Anda sebelum melakukan proses penghapusan database ini!
mysql> drop database latihan2 ;
Query OK, 0 row affected (0.02 sec)

Anda bisa memeriksanya lagi hasil dari perintah di atas dengan "SHOW DATABASE".

mysql> show databases ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| latihan1 |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)

Anda perhatikan, database latihan2 sudah menghilang. Sekali lagi, hati-hati dalam menggunakan perintah DROP DATABASE!

Memilih dan membuka sebuah database

Sekarang kita pilih database "latihan1" dan kita buka dengan perintah "USE"
mysql> use latihan1 ;
Database change

Melihat isi sebuah database

Untuk melihat apa isi dari sebuah database, kita gunakan perintah "SHOW TABLES". Mari kita coba.
mysql> show tables ;
Empty set (0.00 sec)

Hasil dari perintah SHOW TABLES diatas adalah "Empty Set", yang berarti belum ada tabel apapun didalam database latihan1.

Membuat tabel baru

Kita akan membuat sebuah tabel baru dengan menggunakan perintah "CREATE TABLE". Contohnya sebagai berikut..
mysql> create table karyawan ;
ERROR 1113 (42000): A table must have at least 1 column

Ternyata ada kesalahan yang terjadi. Untuk membuat sebuah tabel di MySQL, kita harus menentukan minimal satu buah field/kolom di dalamnya. Sekrang kita ubah perintah di atas menjadi sebagai berikut...

mysql> create table karyawan
-> (nopeg INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
-> nama VARCHAR(50) NOT NULL)
-> ;
Query OK, 0 rows affected (0.14 sec)

Cukup panjang ya perubahan perintahnya. Mungkin sintaks perintahnya agak membingungkan pada awalnya. Tidak apa-apa, nanti akan kita bahas artinya. Secara umum, kita akan membuat sebuah tabel Karyawan dengan 2 buah kolom/field. Kolom pertama adalah NOPEG dengan jenis data bilangan bulat (INTeger), tanpa tanda negatif (UNSIGNED), yang akan bertambah nilainya secara otomatis (AUTO_INCREMENT), dan kolom NOPEG adalah kolom utama (PRIMARY KEY).
Kemudian pada kolom kedua, NAMA akan menampung nama karyawan, dengan jenis data VARiabel CHARacter, lebar datanya dapat menampung maksimal 50 karakter, dan tidak boleh dikosongkan (NOT NULL). Kurang lebih seperti itulah ceritanya.. :)

Kita lihat kembali apa isi dari database latihan1:

mysql> show tables ;
+--------------------+
| Tables_in_latihan1 |
+--------------------+
| karyawan |
+--------------------+
1 row in set (0.00 sec)

Dari hasil perintah di atas, kita lihat bahwa database latihan1 telah memiliki sebuah tabel yang bernama karyawan. Selanjutnya kita akan lihat apa struktur dari tabel karyawan tersebut.

Melihat struktur tabel

Untuk melihat struktur sebuah tabel dapat menggunakan perintah "DESCRIBE" atau bisa juga menggunakan perintah "SHOW COLUMNS FROM". Contohnya berikut ini...

mysql> describe karyawan ;
+------+----------------+-----+----+-------+--------------+
|Field |Type | Null|Key |Default|Extra |
+------+----------------+-----+----+-------+--------------+
|nopeg |int(10) unsigned| NO |PRI |NULL |auto_increment|
|nama |varchar(50) | NO | | | |
+------+----------------+-----+----+-------+--------------+
2 rows in set (0.02 sec)

Atau menggunakan perintah "SHOW COLUMNS FROM..."
mysql> show columns from karyawan ;
+-----+----------------+----+---+-------+--------------+
|Field|Type |Null|Key|Default|Extra |
+-----+----------------+----+---+-------+--------------+
|nopeg|int(10) unsigned|NO |PRI|NULL |auto_increment|
|nama |varchar(50) |NO | | | |
+-----+----------------+----+---+-------+--------------+
2 rows in set (0.00 sec)

Tidak ada perbedaan hasil dari dua perintah di atas, bukan? Sekarang kita buat sebuah tabel baru lagi, kita namakan saja tabel contoh1.
mysql> create table contoh1
-> (noid INT)
-> ;
Query OK, 0 rows affected (0.13 sec)

Sekarang kita lihat berapa tabel yang ada di dalam database latihan1:

mysql> show tables ;
+--------------------+
| Tables_in_latihan1 |
+--------------------+
| contoh1 |
| karyawan |
+--------------------+
2 rows in set (0.00 sec)

Menghapus tabel

Tabel contoh1 yang baru saja kita buat ini akan kita hapus kembali. Perintah untuk menghapus sebuah tabel dalam MySQL adalah "DROP TABLE". Cukup mirip dengan perintah menghapus database, bukan? Kita harus menggunakan perintah "DROP" ini dengan kehati-hatian yang tinggi. Sistem MySQL tidak akan memberikan peringatan awal atau konfirmasi untuk proses penghapusan tabel. Dan bila sudah dihapus, maka tabel tersebut tidak bisa lagi kita kembalikan. Maka, berhati-hatilah!
mysql> drop table contoh1 ;
Query OK, 0 rows affected (0.03 sec)

Kita lihat lagi tabel yang ada di dalam database latihan1:
mysql> show tables ;
+--------------------+
| Tables_in_latihan1 |
+--------------------+
| karyawan |
+--------------------+
1 rows in set (0.00 sec)

Mengubah struktur sebuah tabel

Ada saatnya kita perlu mengubah struktur tabel yang pernah kita buat sebelumnya. Pengubahan struktur bisa dalam hal penambahan kolom (ADD), pengubahan lebar dan jenis kolom (MODIFY), atau bisa saja penghapusan kolom dan indeks (DROP), penggantian nama kolom (CHANGE), pengantian nama tabel (RENAME), dan sebagainya. Apa pun juga yang anda lakukan pada kolom tersebut tentu akan mempunyai dampak langsung pada data-data yang sudah ada. Nah, sekarang kita perlu menambahkan beberapa kolom baru, yaitu kolom jenis kelamin, kota, tanggal lahir dan kodepos pada tabel karyawan.
Perintah untuk mengubah struktur tabel adalah "ALTER TABLE". Mari kita coba...
mysql> alter table karyawan
-> ADD jenkelamin CHAR(2) NOT NULL,
-> ADD kota VARCHAR(25) NOT NULL,
-> ADD kodepos CHAR(5) NOT NULL,
-> ADD tgllahir DATE
-> ;
Query OK, 0 rows affected (0.20 sec)
Records: 0 Duplicates: 0 Warnings: 0

Sekarang kita lihat hasilnya:
mysql> describe karyawan ;
+----------+-----------+----+----+-------+--------------+
|Field |Type |Null|Key |Default|Extra |
+----------+-----------+----+----+-------+--------------+
|nopeg |int(10) |NO |PRI |NULL |auto_increment|
|nama |varchar(50)|NO | | | |
|jenkelamin|char(2) |YES | |NULL | |
|kota |varchar(25)|NO | | | |
|kodepos |char(5) |NO | | | |
|tgllahir |date |YES | |NULL | |
+----------+-----------+----+----+-------+--------------+
6 rows in set (0.00 sec)

Mungkin ada baiknya kalau nama kolom nopeg kita ubah aja menjadi noid. Begitupun dengan nama kolom jenkelamin, kita ubah namanya menjadi jenkel saja. Dalam pengubahan kolom ini sebaiknya 'sifat-sifat' kolom yang asli tetap ditulis ulang. Misal bila kolom nopeg memiliki sifat 'auto_increment', maka selama sifat itu tetap dipertahankan, maka dia (auto_increment) harus ditulis ulang. Begini caranya...
Mengubah kolom jenkelamin menjadi jenkel, sekaligus mengubah jenis datanya dari CHAR(2) menjadi CHAR(1):
mysql> alter table karyawan
-> change jenkelamin jenkel char(1) ;
Query OK, 0 rows affected (0.24 sec)
Records: 0 Duplicates: 0 Warnings: 0

Mengubah kolom nopeg menjadi noid, tanpa mengubah jenis datanya (tetap INT(10), dan tetap auto_increment):
mysql> alter table karyawan
-> change nopeg noid int(10) auto_increment
-> ;
Query OK, 0 rows affected (0.16 sec)
Records: 0 Duplicates: 0 Warnings: 0

Sekarang kita lihat struktur tabel setelah pengubahan:
mysql> describe karyawan ;
+--------+-----------+----+----+-------+--------------+
|Field |Type |Null|Key |Default|Extra |
+--------+-----------+----+----+-------+--------------+
|noid |int(10) |NO |PRI |NULL |auto_increment|
|nama |varchar(50)|NO | | | |
|jenkel |char(1) |YES | |NULL | |
|kota |varchar(25)|NO | | | |
|kodepos |char(5) |NO | | | |
|tgllahir|date |YES | |NULL | |
+--------+-----------+----+----+-------+--------------+
6 rows in set (0.00 sec)

Bagaimana, sudah sesuai dengan perubahan struktur yang kita inginkan, bukan? Nah, sekarang bagaimana kalau kita ingin mengubah nama tabel karyawan menjadi tabel pegawai? Silakan dicoba dibawah ini:
mysql> alter table karyawan
-> rename pegawai ;
Query OK, 0 rows affected (0.09 sec)

Kita lihat lagi hasilnya:
mysql> show tables ;
+--------------------+
| Tables_in_latihan1 |
+--------------------+
| pegawai |
+--------------------+
1 row in set (0.00 sec)

Sekarang kita kembalikan lagi nama tabel pegawai menjadi karyawan. Tetapi dengan perintah yang berbeda, yaitu "RENAME TABLE".
mysql> rename table pegawai
-> to karyawan
-> ;
Query OK, 0 rows affected (0.06 sec)

Jangan lupa untuk memeriksa hasilnya:
mysql> show tables ;
+--------------------+
| Tables_in_latihan1 |
+--------------------+
| karyawan |
+--------------------+
1 row in set (0.00 sec)

Nah, sampai segini dulu yach, soalnya aku juga perlu belajar lagi nich. maklumlah aku kan juga newBie. wekekekkke

Semoga bermanfaat

0 komentar:

Posting Komentar | Feed

Posting Komentar



 

Achsan Ach Shany

<<<'_'>>>

WaroengMedhioen.blogspot.com Copyright © 2009