Manajemen Tabel Di MySQL Bagian 3 (Habis)

0
Pada Panduan Tutorial MySQL ini, kita akan membahas lebih detail tentang:
  • Cara Membuat Sequence (Auto Number)
  • Cara Membuat Tabel Duplikat (Copy Table)
  • Cara Membuat Tabel Sementara (Temporary Table)
  • Cara Mengosongkan Isi Tabel (Truncate Table),
  • Dan Cara Export/Import Tabel Ke Dalam CSV

Cara Membuat Sequnce (Auto Number)


Untuk membuat sebuah sequence atau penomoran otomatis seperti 1, 2, 3, 4 dan seterusnya pada sebuah kolom, Anda dapat menggunakan parameter AUTO_INCREMENT. Sequence biasanya digunakan untuk dijadikan sebagai primary key, karena nilai otomatis unik dan bertambah terus.

Kolom yang akan dijadikan sebagai sequence sudah tentu harus yang memiliki tipe data integer.

Contoh:

Sebagai contoh, buatlah sebuah tabel "penjualan" dengan menjalankan perintah berikut ini:

CREATE TABLE penjualan(
  id_penjualan INT(5) NOT NULL AUTO_INCREMENT,
  nama_barang VARCHAR(30) NOT NULL,
  jumlah INT(5),
  PRIMARY KEY(id_penjualan)
);

Pada script diatas, kita akan menambahkan sequence pada kolom id_penjualan yaitu dengan menambahkan kata kunci AUTO_INCREMENT, sehingga apabila ada data yang masuk, maka nilainya akan selalu bertambah satu seperti 1, 2, 3, dan seterusnya.

Untuk membuktikannya, mari kita masukkan beberapa record ke dalam tabel diatas dengan menjalankan insert statement berikut:

mysql> INSERT INTO penjualan(nama_barang, jumlah) VALUES('Indomie',3);
Query OK, 1 row affected (0.06 sec)

mysql> INSERT INTO penjualan(nama_barang, jumlah) VALUES('Sabun',1);
Query OK, 1 row affected (0.03 sec)

mysql> INSERT INTO penjualan(nama_barang, jumlah) VALUES('Rokok',1);
Query OK, 1 row affected (0.06 sec)

Terakhir, Anda tampilkan data dari tabel penjualan diatas, menggunakan Select statement berikut ini:

mysql> SELECT * FROM penjualan;
+--------------+-------------+--------+
| id_penjualan | nama_barang | jumlah |
+--------------+-------------+--------+
|            1 | Indomie     |      3 |
|            2 | Sabun       |      1 |
|            3 | Rokok       |      1 |
+--------------+-------------+--------+
3 rows in set (0.00 sec)

Terbukti bukan??

Cara Membuat Tabel Duplikat.


Tabel duplikat biasanya digunakan pada proses backup tabel, yang tujuannya untuk menduplikasi sebuah tabel baik kolom atau field maupun datanya.

Untuk membuat tabel duplikat, Anda dapat menggunakan perintah Create Table As Select atau lebih singkatnya CTAS seperti sintak berikut ini.

CREATE TABLE nama_tabel_duplikat
AS SELECT * FROM nama_tabel_asal
[WHERE condition];

Sebagai contoh, misalkan Anda telah memiliki sebuah tabel penjualan dengan struktur dan data-data sebagai berikut:

mysql> DESC penjualan;
+--------------+-------------+------+-----+---------+----------------+
| Field        | Type        | Null | Key | Default | Extra          |
+--------------+-------------+------+-----+---------+----------------+
| id_penjualan | int(5)      | NO   | PRI | NULL    | auto_increment |
| nama_barang  | varchar(30) | NO   |     | NULL    |                |
| jumlah       | int(5)      | YES  |     | NULL    |                |
+--------------+-------------+------+-----+---------+----------------+
3 rows in set (0.02 sec)

mysql> SELECT * FROM penjualan;
+--------------+-------------+--------+
| id_penjualan | nama_barang | jumlah |
+--------------+-------------+--------+
|            1 | Indomie     |      3 |
|            2 | Sabun       |      1 |
|            3 | Rokok       |      1 |
+--------------+-------------+--------+
3 rows in set (0.00 sec)

Sebagai latihan, coba Anda buat sebuah tabel dengan nama "penjualan1" yang menduplikasi struktur dan data dari tabel penjualan dengan menjalankan perintah berikut ini:

mysql> CREATE TABLE penjualan1
    -> AS SELECT * FROM penjualan;
Query OK, 3 rows affected (0.17 sec)
Records: 3  Duplicates: 0  Warnings: 0

Untuk membuktikannya, coba Anda tampilkan data dari tabel penjualan1 dengan menjalankan select statement berikut:

mysql> SELECT * FROM penjualan1;
+--------------+-------------+--------+
| id_penjualan | nama_barang | jumlah |
+--------------+-------------+--------+
|            1 | Indomie     |      3 |
|            2 | Sabun       |      1 |
|            3 | Rokok       |      1 |
+--------------+-------------+--------+
3 rows in set (0.00 sec)

Terbukti sama bukan???

Contoh kedua, coba Anda buat sebuah tabel penjualan2 yang HANYA menduplikasi struktur dari tabel penjualan, dengan cara menjalankan perintah berikut ini:

mysql> CREATE TABLE penjualan2
    -> AS SELECT * FROM penjualan
    -> WHERE 1=2;
Query OK, 0 rows affected (0.41 sec)
Records: 0  Duplicates: 0  Warnings: 0

Cara Membuat Tabel Sementara


Tabel sementara atau temporary table adalah tabel yang hanya bisa diakses pada saat session masih aktif. Jadi, tabel temporary otomatis terhapus pada saat session habis atau terputus atau Anda keluar dari program MySQL. Pembuatan tabel temporary mirip dengan pembuatan tabel seperti biasa.

Untuk membuat tabel temporary, Anda dapat menggunakan CREATE TEMPORARY TABLE seperti sintak berikut ini:

CREATE TEMPORARY TABLE nama_temporary_tabel
(nama_kolom1 tipe_data,
nama_kolom2 tipe_data,
nama_kolom3 tipe_data,
...,
nama_kolomN tipe_data);

Penjelasan sintak diatas adalah sebagai berikut:

  • nama_temporary_tabel adalah temporary tabel yang akan dibuat.
  • nama_kolom adalah kolom yang akan dibuat pada tabel temporary.
  • tipe_data adalah tipe data yang digunakan pada kolom.

Contoh:

Sebagai contoh latihan, di bawah langkah-langkah membuat tabel temporary yang mengunakan data-data dari tabel pegawai dengan data-data sebagai berikut:

mysql> SELECT * FROM pegawai;
+------------+---------------+---------------+-----------+------+----------+------------+
| id_pegawai | nama_lengkap  | jenis_kelamin | alamat    | umur | gaji     | departemen |
+------------+---------------+---------------+-----------+------+----------+------------+
| P001       | Nursalim      | L             | Jakarta   |   27 | 15000000 | IT         |
| P002       | Iskiyati      | P             | Bandung   |   23 |  7000000 | MKT        |
| P003       | Nurul Hikmah  | P             | Semarang  |   20 |  4000000 | HR         |
| P004       | Ahmad Fatoni  | L             | Cirebon   |   26 | 10000000 | IT         |
| P005       | Sri Rahayu    | P             | Surabaya  |   25 |  8000000 | ACC        |
| P006       | Naura Krasiva | P             | Magelang  |   21 |  3000000 | HR         |
| P007       | Ana Fauziyah  | P             | Tegal     |   22 |  4500000 | SLS        |
| P008       | Irwan Gunawan | L             | Tangerang |   30 | 11000000 | FIN        |
| P009       | Ali Amrullah  | L             | Jakarta   |   28 |  8500000 | IT         |
| P010       | Andi Lala     | L             | Bogor     |   23 |  6000000 | FIN        |
+------------+---------------+---------------+-----------+------+----------+------------+
10 rows in set (0.00 sec)


  • Login ke server MySQL menggunakan user dan password yang valid.
    # mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 1
    Server version: 5.5.36 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    
  • Pilih database yang akan digunakan. Pada contoh ini saya menggunakan database simpeg.
    mysql> USE simpeg;
    Database changed
    
    
  • Buat tabel temporary dengan nama "top5_pegawai" yang digunakan untuk menyimpan data lima pegawai yang memiliki gaji terbesar. Silakan Anda jalankan script berikut:
    mysql> CREATE TEMPORARY TABLE top5_pegawai
        -> AS SELECT * FROM karyawan
        -> ORDER BY gaji DESC
        -> LIMIT 5;
    Query OK, 5 rows affected (0.13 sec)
    Records: 5  Duplicates: 0  Warnings: 0
  • Tampilkan data dari tabel top5_pegawai. Silakan Anda gunakan select statement berikut ini:
    mysql> SELECT * FROM top5_pegawai;
    +------------+---------------+---------------+-----------+------+----------+------------+
    | id_pegawai | nama_lengkap  | jenis_kelamin | alamat    | umur | gaji     | departemen |
    +------------+---------------+---------------+-----------+------+----------+------------+
    | P001       | Nursalim      | L             | Jakarta   |   27 | 15000000 | IT         |
    | P008       | Irwan Gunawan | L             | Tangerang |   30 | 11000000 | FIN        |
    | P004       | Ahmad Fatoni  | L             | Cirebon   |   26 | 10000000 | IT         |
    | P009       | Ali Amrullah  | L             | Jakarta   |   28 |  8500000 | IT         |
    | P005       | Sri Rahayu    | P             | Surabaya  |   25 |  8000000 | ACC        |
    +------------+---------------+---------------+-----------+------+----------+------------+
    5 rows in set (0.00 sec)
    
  • Keluar dari program MySQL. Untuk keluar dari jendela MySQL di console, Anda ketikkan perintah "\q" (tanpa petik) seperti berikut ini.
    mysql> \q
    Bye
    
  • Coba login kembali ke database MySQL dan tampilkan kembali data dari tabel top5_pegawai diatas.
    # mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 3
    Server version: 5.5.36 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    
    mysql> USE simpeg;
    Database changed
    

    mysql> SELECT * FROM top5_pegawai;
    ERROR 1146 (42S02): Table 'simpeg.top5_pegawai' doesn't exist
    

    Mengapa terjadi error table doesn't exists?? Jawabannya karena tabel top5_pegawai merupakan tabel temporary yang akan dihapus otomatis ketika Anda keluar dari program MySQL.


Cara Mengosongkan Isi Tabel


Untuk mengosongkan isi sebuah tabel (menghapus semua data), Anda dapat menggunakan perintah Truncate Table seperti sintak berikut ini:

TRUNCATE TABLE nama_tabel;

Dimana nama_tabel adalah tabel yang akan dikosongkan isinya.

Contoh:

Misalkan Anda telah memiliki sebuah tabel "pegawai" dengan data-data sebagai berikut:

mysql> select * from pegawai;
+------------+---------------+---------------+-----------+------+----------+------------+
| id_pegawai | nama_lengkap  | jenis_kelamin | alamat    | umur | gaji     | departemen |
+------------+---------------+---------------+-----------+------+----------+------------+
| P001       | Nursalim      | L             | Jakarta   |   27 | 15000000 | IT         |
| P002       | Iskiyati      | P             | Bandung   |   23 |  7000000 | MKT        |
| P003       | Nurul Hikmah  | P             | Semarang  |   20 |  4000000 | HR         |
| P004       | Ahmad Fatoni  | L             | Cirebon   |   26 | 10000000 | IT         |
| P005       | Sri Rahayu    | P             | Surabaya  |   25 |  8000000 | ACC        |
| P006       | Naura Krasiva | P             | Magelang  |   21 |  3000000 | HR         |
| P007       | Ana Fauziyah  | P             | Tegal     |   22 |  4500000 | SLS        |
| P008       | Irwan Gunawan | L             | Tangerang |   30 | 11000000 | FIN        |
| P009       | Ali Amrullah  | L             | Jakarta   |   28 |  8500000 | IT         |
| P010       | Andi Lala     | L             | Bogor     |   23 |  6000000 | FIN        |
+------------+---------------+---------------+-----------+------+----------+------------+
10 rows in set (0.09 sec)

Untuk mengosongkan data dari tabel "pegawai" diatas, Anda dapat menjalankan perintah Truncate Table seperti contoh berikut ini:

mysql> TRUNCATE TABLE karyawan;
Query OK, 0 rows affected (0.13 sec)

Untuk membuktikannya, Anda coba tampilkan kembali data dari tabel "pegawai" menggunakan select statement berikut ini:

mysql> SELECT * FROM pegawai;
Empty set (0.00 sec)

Dan ternyata, tabel nya kosong bukan..??

Sekian Panduan Singkat Manajemen Tabel Di MySQL. Semoga bermanfaat & Happy Learning MySQL.

Bagi teman-teman pembaca yang ingin berdiskusi, bertanya ataupun memberikan masukan atau saran pada tutorial ini, silakan untuk menggunakan fasilitas komentar yang telah disediakan.

Salam,

Nursalim

0 Comments