Wednesday, September 28, 2016

MySQL: CREATE DATABASE, USE, DROP DATABASE

CREATE DATABASE adalah pernyataaan yang digunakan untuk membuat basis data dengan nama yang diberikan. Agar dapat menggunakan pernyataan ini, maka perlu diperlukan hak akses CREATE secara penuh terhadap basis data, CREATE SCHEMA dalam MySQL adalah sinonim untuk pernyataan CREATE DATABASE.
Ketika pernyataan ini dieksekusi maka dapat saja terjadi kesalahan jika nama basisdata yang disebutkan telah ada, kecuali jika klausa IF NOT EXIST disertakan. Pada MySQL 5.5.3, pernyataan CREATE DATABASE tidak diizinkan selama sesi memiliki pernyataan LOCK TABLES yang masih aktif.

Sintaks pernyataan CREATE DATABASE

1
2
3
4
5
6
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_specification] ...
 
create_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name
  • create_specification menentukan karakteristik basis data. Karakteristik basisdata disimpan dalam file db.opt dalam direktori database.
  • CHARACTER SET merupakan klausa yang digunakan menentukan secara default dari Character Set  basis data
Basisdata di MySQL diimplementasikan sebagai direktori yang berisi file-file yang namanya diseuaika sesuai dengan nama-nam tabel dalam basis data.  Karena tidak ada tabel dalam database ketika awalnya dibuat, pernyataan CREATE DATABASE membuat hanya sebuah direktori di bawah direktori data MySQL dan file db.opt.
Jika secara manual anda membuat direktori di bawah direktori data (misalnya, dengan mkdir), server menganggap akan menganggapnya sebagai sebuah direktori basis data dan akan muncul dalam output ketika pernyataan SHOW DATABASES dijalankan

Cara Membuat database MySQL

Dalam penggunaannya sehari-hari, sebuah aplikasi biasanya hanya akan memiliki sebuah database. Di dalam MySQL (dan juga di dalam aplikasi relational database lainnya), Database adalah kumpulan dari tabel-tabel yang saling berhubungan. Database adalah tempat dimana tabel-tabel akan dibuat.
Untuk membuat database, format penulisan querynya adalah:
1
CREATE DATABASE [IF NOT EXISTS] nama_database
Di dalam manual MySQL, dan juga di dalam tutorial ini, format pernyataan yang terdapat di dalam kurung siku menunjukkan kalusa optional, artinya boleh diabaikan jika tidak diperlukan.
Jika kita ingin membuat sebuah basisdata kepegawaian, maka pernyataanya sebagai berikut:
1
2
3
mysql> CREATE DATABASE kepegawaian;
 
Query OK, 1 row affected (0.00 sec)
Tambahan klausa [IF NOT EXISTS] digunakan untuk membuat MySQL tidak menampilkan pesan error jika database tersebut telah ada sebelumnya dalam database.
Contohnya, jika kita menjalankan lagi query untuk membuat database mahasiswa, MySQL akan menampilkan pesan error.
1
2
3
4
mysql> CREATE DATABASE kepegawaian;
 
ERROR 1007 (HY000): Can't create database 'kepegawaian';
database exists
Pesan error ini berguna untuk kita mengidentifikasi kesalahan, namun apabila kita membuat kode query yang panjang untuk dieksekusi secara keseluruhan (kita akan mempelajarinya nanti), pesan error akan menyebabkan query berhenti diproses.
Klausa [IF NOT EXISTS] akan membuat database jika database itu belum ada sebelumnya. Jika sudah ada, pernyataan CREATE DATABASE tidak akan menghasilkan apa-apa (database yang lama tidak akan tertimpa).
1
2
3
mysql> CREATE DATABASE IF NOT EXISTS kepegawaian;
 
Query OK, 1 row affected, 1 warning (0.00 sec)

Pernyataan SHOW DATABASES

Di dalam MySQL Server, biasanya akan terdapat beberapa basisdata, tergantung kebutuhan kita. Untuk melihat seluruh basisdata yang berada pada MySQL Server, gunakan pernyataan:
1
2
3
4
5
6
7
8
9
10
11
12
13
SHOW DATABASES;
mysql> SHOW DATABASES;
 
+--------------------+
| Database           |
+--------------------+
| information_schema |
| kepegawaian        |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)
Kita dapat melihat bahwa MySQL Server telah berisi beberapa database bawaan, selain database mahasiswa yang telah dibuat sebelumnya.

Pernyataan USE

Kita harus memilih sebuah database yang akan digunakan, format query untuk memilih database ini adalah:
1
USE nama_database;
nama_database adalah basisdata yang akan kita gunakan. Jika kita ingin menggunakan basisdata kepegawian, maka querynya adalah:
1
2
3
mysql> USE kepegawaian;
 
Database changed
Selanjutnya setiap pernyataan pembuatan tabel misalnya, akan membuat sebuah tabel didalam basisdata terpilih, dalam hal ini basisdata mahasiswa.

Pernyataan DROP DATABASE

Jika database sudah tidak digunakan lagi, kita dapat menghapusnya. Proses penghapusan ini akan menghapus basisdata , termasuk seluruh tabel dan isi dari tabel tersebut. Sebuah basisdata yang telah dihapus tidak dapat ditampilkan kembali. Kita harus yakinkan bahwa basisdata tersebut memang tidak akan digunakan lagi.
Sintaks yang digunakan untuk menghapus basisdata :
1
DROP DATABASE [IF EXISTS] database_name;
Sama seperti query pada pembuatan database, pilihan [IF EXISTS] digunakan untuk menghilangkan pesan error jika seandainya database tersebut memang tidak ada.
Jika kita ingin menghapus basisdata kepegawaian, contoh querynya adalah:
1
2
3
mysql> DROP DATABASE kepegawaian;
 
Query OK, 0 rows affected (0.01 sec)
Jika kita berusaha menghapus database kepegawaian lagi (yang memang sudah tidak ada), akan muncul pesan error:
1
2
3
4
mysql> DROP DATABASE kepegawaian;
 
ERROR 1008 (HY000): Can't drop database 'mahasiswa';
database doesn't exist
Dengan menggunakan perintah opsional [IF EXISTS], pesan error tidak tampil:
1
2
3
mysql> DROP DATABASE IF EXISTS mahasiswa;
 
Query OK, 0 rows affected, 1 warning (0.00 sec)
Karena query SQL menggunakan bahasa inggris, kita harus perhatikan kesalahan untuk pengetikkan kata singular (tunggal) dan plural (jamak). Misalnya untuk melihat database, querynya adalah SHOW DATABASES, tetapi jika kita menjalankan query SHOW DATABASE; ini akan menyebabkan error. Karena seharusnya adalah DATABASES, bukan DATABASE. Juga seharusnya adalah IF EXISTS, bukan IF EXIST (Penggunaan huruf S diakhir kata).
1
2
3
4
5
mysql> SHOW DATABASE;
 
ERROR 1064 (42000): You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version
for the right syntax to use near 'DATABASE' at line 1

1 comments so far

terima ksih sangat bermanfaat

http://blog.binadarma.ac.id/ilmanzuhriyadi/