Oleh: lovesthi | Oktober 31, 2008

Belajar MySQL 1

Belajar MySQL (Menguasai perintah DDL)

DDL singkatan dari Data Definition Language yang merupakan sub bahasa dari SQL dan berfungsi mendefinisikan database dan tabel. Perintah-perintah SQL yang digunakan antara lain : CREATE, ALTER, dan DROP. Apabila kita sudah bisa menggunakan ketiga perintah tersebut, berarti kita sudah bisa membangun struktur data dengan lengkap.

1. CREATE
Perintah CREATE yang digunakan berfungsi untuk membuat sebuah tabel beserta kolom (field)-nya. Berikut ini beberapa contoh perintah yang bisa digunakan sebagai media latihan :

mysql> CREATE DATABASE kampus;
Query OK, 1 row affected (0.00 sec)

Kemudian untuk mengaktifkannya gunakan perintah USE seperti contoh berikut :

mysql> USE kampus;
Database changed

Apabila kedua perintah diatas sudah dijalankan, berarti sekarang kita sudah berada di dalam database perusahaandb. Dan sekarang kita sudah bisa membuat sebuah tabel baru di dalam database aktif.

Berikutnya kita akan membuat sebuah tabel baru dalam database aktif. Sebelum kita membuat sebuah database baru, maka terlebih dahulu kita harus mengerti tabel apa yang akan kita buat nantinya dan bagaimana gambaran data yang akan disimpan di dalamnya. Berikut ini adalah contoh perintah dan hasilnya yang bisa kita coba bersama-sama :

mysql> CREATE TABLE mahasiswa(
    -> nim varchar(7),
    -> nama varchar(35)
    -> );
Query OK, 0 rows affected (0.00 sec)

Apabila setelah dieksekusi menghasilkan Query OK, berarti tabel berhasil dibuat, selanjutnya kita bisa mlihatnya dengan menggunakan perintah SHOW TABLES.

mysql> SHOW TABLES;
+------------------+
| Tables_in_kampus |
+------------------+
| mahasiswa        |
+------------------+
1 row in set (0.01 sec)

Pada tabel yang sudah kita buat, kita bisa melihat bentuk rancangannya dengan cara mendeskripsikannya. Perintah yang digunakan adalah DESC atau DESCRIBE. Berikut adalah contohnya :

mysql> DESC mahasiswa;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| nim   | varchar(7)  | YES  |     | NULL    |       |
| nama  | varchar(35) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

Apabila kita sudah tidak memerlukan lagi tabel yang sudah pernah kita buat, maka kita dapat menghapus tabel tersebut dengan menggunakan perintah DROP. Berikut contoh penggunaan perintahnya :

mysql> DROP TABLE mahasiswa;
Query OK, 0 rows affected (0.00 sec)

Untuk membuktikan apakah tabel yang sudah kita hapus benar-benar terhapus atau belum, dapat kita lihat dengan menggunakan perintah SHOW TABLES.

mysql> SHOW TABLES;
Empty set (0.00 sec)

Dengan keluarnya pernyataan Empty set berarti perintah yang kita gunakan berhasil, karena sudah tidak ada tabel dalam database Kampus.
Selanjutnya kita dapat membuat tabel yang isinya tidak boleh kosong. Berikut contoh penggunaan perintahnya :

mysql> CREATE TABLE dosen(
    -> kd_dosen VARCHAR(3) NOT NULL,
    -> nm_dosen VARCHAR(35) NOT NULL,
    -> alamat_dosen VARCHAR(60) NOT NULL,
    -> telp_dosen VARCHAR(12)
    -> );
Query OK, 0 rows affected (0.01 sec)

Dengan perintah diatas struktur tabel yang kita buat akan tampak berbeda dari sebelumnya.

mysql> DESC dosen;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| kd_dosen     | varchar(3)  | NO   |     | NULL    |       |
| nm_dosen     | varchar(35) | NO   |     | NULL    |       |
| alamat_dosen | varchar(60) | NO   |     | NULL    |       |
| telp_dosen   | varchar(12) | YES  |     | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

Kita juga bisa membuat PRIMARY KEY pada field akan kita buat. Berikut contoh penggunaan perintahnya :

mysql> CREATE TABLE mahasiswa(
    -> nim VARCHAR(7) NOT NULL PRIMARY KEY,
    -> nm_mhs VARCHAR(35) NOT NULL,
    -> alamat_mhs VARCHAR(60) NOT NULL,
    -> telp_mhs VARCHAR(12)
    -> );
Query OK, 0 rows affected (0.00 sec)

Dengan menambahkan kunci primer maka struktur tabel akan menjadi berbeda.

mysql> DESC mahasiswa;
+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| nim        | varchar(7)  | NO   | PRI | NULL    |       |
| nm_mhs     | varchar(35) | NO   |     | NULL    |       |
| alamat_mhs | varchar(60) | NO   |     | NULL    |       |
| telp_mhs   | varchar(12) | YES  |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

Untuk menghapus tabel yang sudah pernah kita buat, kita bisa menggunakan perintah DROP. Misalnya ada tabel dosen dalam database.

mysql> SHOW TABLES;
+------------------+
| Tables_in_kampus |
+------------------+
| dosen            |
| mahasiswa        |
+------------------+
2 rows in set (0.00 sec)
mysql> DROP TABLE mahasiswa;
Query OK, 0 rows affected (0.00 sec)

Apabila kita ingin membuat kunci primer sebagai kunci utama, kita tidak harus mendefinisikan parameter PRIMARY KEY pada satu baris yang sama, tetapi kita bisa mendefinisikannya di akhir perintah. Berikut contoh perintahnya :

mysql> CREATE TABLE dosen(
    -> kd_dosen int(3) NOT NULL,
    -> nm_dosen VARCHAR(35) NOT NULL,
    -> PRIMARY KEY(kd_dosen)
    -> );
Query OK, 0 rows affected (0.00 sec)

mysql> DESC dosen;
+----------+-------------+------+-----+---------+-----------+
| Field    | Type        | Null | Key | Default | Extra     |
+----------+-------------+------+-----+---------+-----------+
| kd_dosen | int(3)      | NO   | PRI | NULL    |           |
| nm_dosen | varchar(35) | NO   |     | NULL    |           |
+----------+-------------+------+-----+---------+-----------+
2 rows in set (0.00 sec)

2. ALTER
Perintah ALTER digunakan untuk mengubah struktur tabel yang telah dbuat. Misalnya kita akan menambah kolom baru dalam sebuah tabel, maka berikut contoh penggunaannya :

mysql> ALTER TABLE dosen ADD ktrangan TEXT
    -> AFTER nm_dosen;
Query OK, 0 rows affected (0.01 sec)

Perhatikan hasil penambahan kolom pada tabel dosen :

mysql> DESC dosen;
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| kd_dosen | int(3)      | NO   | PRI | NULL    | auto_increment |
| nm_dosen | varchar(35) | NO   |     | NULL    |                |
| ktrangan | text        | YES  |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

Untuk menambahkan kunci primer dalam sebuah tabel misalnya kita buat dalam tabel mahasiswa, apabila ingin membuat tabel dosen yang baru, jangan lupa terlebih dahulu hapuslah tabel dosen yang sudah pernah dibuat. Berikut contoh penggunaan perintahnya :

mysql> DROP TABLE dosen;
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE TABLE mahasiswa(
        -> nim VARCHAR(7) NOT NULL,
        -> nm_mhs VARCHAR(35) NOT NULL
        -> );
Query OK, 0 rows affected (0.00 sec)

Setelah membuat tabel baru dengan nama mahasiswa, untuk membuktikannya deskripsikanlah tabel tersebut seperti contoh dibawah ini :

 mysql> DESC mahasiswa;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| nim    | varchar(7)  | NO   |     | NULL    |       |
| nm_mhs | varchar(35) | NO   |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

Kemudian buatlah kolom kuncinya dengan perintah sebagai berikut :

mysql> ALTER TABLE mahasiswa
    -> ADD PRIMARY KEY(nim);
Query OK, 0 rows affected(0.01 sec)

Kemudian buktikanlah dengan perintah dibawah ini :

mysql> DESC mahasiswa;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| nim    | varchar(7)  | NO   | PRI | NULL    |       |
| nm_mhs | varchar(35) | NO   |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

Untuk mengubah nama kolom yang sudah kita buat dengan nama yang baru dapat dilakukan dengan perintah ALTER TABLE seperti dibawah ini :

mysql> ALTER TABLE mahasiswa CHANGE nm_mhs
    -> nama_mhs VARCHAR(50) NOT NULL;
Query OK, 0 rows affected(0.00 sec)
mysql> DESC mahasiswa;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| nim      | varchar(7)  | NO   | PRI | NULL    |       |
| nama_mhs | varchar(50) | NO   |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

Tabel yang sudah pernah kita buat juga bisa kita ganti namanya. Berikut contoh perintahnya :

mysql> SHOW TABLES;
+------------------+
| Tables_in_kampus |
+------------------+
| mahasiswa        |
+------------------+
1 row in set (0.00 sec)
mysql> ALTER TABLE mahasiswa RENAME TO mhs;
Query OK, 0 rows affected(0.00 sec)
mysql> SHOW TABLES;
+------------------+
| Tables_in_kampus |
+------------------+
| mhs              |
+------------------+
1 row in set (0.00 sec)

3. DROP

Kolom kunci yang sudah kita buat tadi dapat kita hapus dengan menggunakan perintah DROP. Untuk mengetahui lebih lanjut, cobalah perintah-perintah berikut ini :

Dalam hal ini kita akan menghapus kolom kunci dari tabel mhs.

mysql> ALTER TABLE mhs DROP PRIMARY KEY;
Query OK, 0 rows affected(0.00 sec)
mysql> DESC mhs;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| nim      | varchar(7)  | NO   |     | NULL    |       |
| nama_mhs | varchar(50) | NO   |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

Perintah dibawah ini digunakan untuk menghapus kolom(field) nama_mhs dari tabel mhs. Berikut adalah perintah dan hasilnya :

mysql> ALTER TABLE mhs DROP nama_mhs;
Query OK, 0 rows affected(0.00 sec)
mysql> DESC mhs;
+-------+------------+------+-----+---------+-------+
| Field | Type       | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| nim   | varchar(7) | NO   |     | NULL    |       |
+-------+------------+------+-----+---------+-------+
1 row in set (0.00 sec)

Untuk lebih jelasnya kita bisa melihat kembali daftar nama-nama database yang sudah pernah kita buat.

mysql> SHOW DATABASES
+--------------------+
| Database           |
+--------------------+
| information_schema |
| elektronikdb       |
| kampus             |
| latihan6db         |
| mysql              |
| perusahaandb       |
+--------------------+
6 rows in set (0.00 sec)

SELAMAT MENCOBA..!!


Tinggalkan Balasan

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Ubah )

Twitter picture

You are commenting using your Twitter account. Log Out / Ubah )

Facebook photo

You are commenting using your Facebook account. Log Out / Ubah )

Connecting to %s

Kategori

Ikuti

Get every new post delivered to your Inbox.