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:
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/