Membuat Temporary Tabel di MySQL

Sumber: Quotefancy

Temporary table mysql digunakan untuk membuat tabel yang sifatnya sementara di dalam database yakni hanya satu sesi MySQL, sesi disini adalah command line milik satu user serta hanya user dari sesi tersebut yang dapat membuat maupun mengakses tabel dan secara otomatis tabel sementara akan dihapus ketika sesi berakhir dengan menutup jendela command line mysql atau program mysql workbench. Tujuan menggunakan temporary table adalah untuk menjalankan simulasi dalam menyimpan dan mengelola data yang bersifat sementara atau menguji desain skema tabel yang telah dibuat, bentuk umum/format sintaks untuk membuat temporary table mysql tidak jauh beda dengan ketika membuat tabel biasa / permanen seperti berikut ini:

create temporary table [if not exists] nama_tabel (kolom_1 definition, kolom_2 definition, kolomN definition);

Contohnya seperti berikut ini:

mysql> create temporary table dosen_temp (id_dosen int auto_increment primary key, nid varchar(8), nama varchar(65), j_kelamin enum ("L", "P"));
Query OK, 0 rows affected (0.09 sec)

mysql> show tables;
+--------------------+
| Tables_in_latihan2 |
+--------------------+
| dosen              |
| gaji               |
+--------------------+
2 rows in set (0.00 sec)

mysql> desc dosen_temp;
+-----------+---------------+------+-----+---------+----------------+
| Field     | Type          | Null | Key | Default | Extra          |
+-----------+---------------+------+-----+---------+----------------+
| id_dosen  | int           | NO   | PRI | NULL    | auto_increment |
| nid       | varchar(8)    | YES  |     | NULL    | NULL           |
| nama      | varchar(65)   | YES  |     | NULL    | NULL           |
| j_kelamin | enum('L','P') | YES  |     | NULL    | NULL           |
+-----------+---------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

Dari contoh diatas temporary tabel tidak akan muncul ketika menjalankan perintah show tables namun kita tetap bisa melihat deskripsi tabel, selain itu kita juga dapat menjalankan operasi DML dan DQL yakni insert, update, delete dan select:

mysql> insert into dosen_temp (nid, nama, j_kelamin) values ("87654321", "Suryaningsih", "P");
Query OK, 1 row affected (0.12 sec)

mysql> insert into dosen_temp (nid, nama, j_kelamin) values ("12345677", "Suryani", "P");
Query OK, 1 row affected (0.00 sec)

mysql> insert into dosen_temp (nid, nama, j_kelamin) values ("18276331", "Sujarwo", "L");
Query OK, 1 row affected (0.00 sec)

mysql> select * from dosen_temp;
+----------+----------+--------------+-----------+
| id_dosen | nid      | nama         | j_kelamin |
+----------+----------+--------------+-----------+
|        1 | 87654321 | Suryaningsih | P         |
|        2 | 12345677 | Suryani      | P         |
|        3 | 18276331 | Sujarwo      | L         |
+----------+----------+--------------+-----------+
3 rows in set (0.00 sec)

Sementara untuk menghapus temporary table selain dengan mengakhiri sesi juga bisa dengan perintah drop temporary table, contohnya seperti berikut:

mysql> drop temporary table dosen_temp;
Query OK, 1 row affected (0.00 sec)

Selain itu temporary table hanya bisa diakses oleh user dari sesi tersebut, contohnya seperti berikut:


Dapat di lihat bahwa user dengan id 11 tidak dapat mengakses dosen.temp karena berbeda sesi meskipun login dengan user yang sama.
Bayu Radityo

Seorang lulusan teknik informatika yang senang dalam berbagi ilmu pengetahuan, dan membuat karya digital berupa photomanipulation dan digital drawing. instagram external-link

Posting Komentar

Lebih baru Lebih lama