MEMBUAT DAN MENGGAKTIFKAN DATABASE (SQL)

MEMBUAT DAN MENGGAKTIFKAN DATABASE


Bentuk umum  untuk  membuat  database  didalam  MYSQL adalah sebagai berikut :

CREATE DATABASE  NamaDatabase ;

Sebagai contoh , jika kita ingin membuat database dengan nama contohdb maka kita perlu menuliskan perintah sebagai berikut :
------------------------------------------------------------------------------------------------------------------------------------
MySQL> CREATE DATABASE contohdb ;
Query OK,  1 row affected (0,09 sec)
MYSQL>

-----------------------------------------------------------------------------------------------------------------------------------

Perintah yang berasal dieksekusi ditandai dengan pesan “Query Ok”. Jika terdapat kesalahan pada penulisan perintah SQL ,MySQL akan menampilkan pesan kesalahan yang membantu kita untuk melacak letak kesalahan , seperti  yang ditunjukan oleh contoh berikut :

----------------------------------------------------------------------------------------------------------------------------------
MySQL> CREATE DATABASE contohdb ;
ERROR 1064 (42000) you have an error in your SQL syntax ; check the manual that corresponds to you r MySQL Server Version for the right syntax to use near ‘CREATE DATABASE contohdb’ at line 1
MySQL>
--------------------------------------------------------------------------------------------------------------------------------

Anda dapat menampilkan daftar database yang terdapat didalam server MySQL menggunakan perintah SHOW DATABASE , seperti berikut :

--------------------------------------------------------------------------------------------------------------------------------
MySQL > SHOW DATABASE ;
+----------------------------------+
| Database                             |
+----------------------------------+
| information_schema         |
|blog                                        |
| contohdb                             |
| demodb                               |
| Mysql                                   |
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
| test
+---------------------------------
6 row in set (0,14 sec )
Mysql>
-----------------------------------------------------------------------------------------------------------------------------
Untuk mengaktifkan database, tulisan perintah USE yang diikuti dengan nama database yang akan dipilih. Sebagai contoh , untuk mengaktifkan database contohdb , tuliskan perintah berikut :
----------------------------------------------------------------------------------------------------------------------------------
Mysql > USE contohdb ;
Database changed
Mysql >
----------------------------------------------------------------------------------------------------------------------------------

Dengan mengeksekusi perintah diatas, maka database aktif akan berpindah ke contohdb . jika anda menuliskan perintah untuk membuat tabel maupun objek-objek database lainnya seperti view , fungsi , stored procedure, tigger , maka objek-objek tersebut akan disimpan kadalam database contohdb.

Membuat Tabel
Setelah database diaktifkan /dipilih , kita dapat mambuat tabel kedalam database tersebut menggunakan perintah CREATE TABLE , dengan bentuk umum seperti berikut :

CREATE TABLE NamaTabel  (
   Namakolom1   tipe,
  Namakolom2    tipe,
)

Sebagai  contoh sintaks SQL dibawah ini akan membuat tabel dengan nama Produk didalam database contohdb dengan kolom id , nama, harga, dan deskripsi.
-----------------------------------------------------------------------------------------------------------------------------------
Mysql  >  CREATE TABLE Produk (
Id CHAR (4) ,
nama VARCHAR (25) ,
harga DECIMAL ,
deskripsi TINY TEXT
);
Query Ok , 0 rows affected (0,17 sec)
Mysql >
-----------------------------------------------------------------------------------------------------------------------------------

NULL dan NOT NULL
Suatu kolom didalam tabel dapat berisi nilai NULL (kosong). Jika anda ingin memastikan bahwa suatu kolom harus diisi nilai , maka kolom tersebut harus didefinisikan dengan NOT NULL .Beberapa DBMS mewajibkan kita untuk menggunakan NOT NULL pada kolom yang akan dijadikan sebagai primery key.
----------------------------------------------------------------------------------------------------------------------------------
 Mysql  >  CREATE TABLE Produk (
Id CHAR (4) NOT NULL ,
nama VARCHAR (25) ,
harga DECIMAL ,
deskripsi TINY TEXT
);
Query Ok , 0 rows affected (0.00  sec)
Mysql >
---------------------------------------------------------------------------------------------------------------------------------
Melalui perintah SQL diatas, kolom id pada tabel produk tidak boleh bernilai NULL. Dengan kata lain , kolom id dari setiap baris data yang ada harus diisi.

Menambah Constraint
Constraint (batasan/aturan tertentu) dapat didefinisikan pada saat pembuatan tabel bisa juga menyusul , yaitu dengan menggunakan Statemen ALTER TABLE. Bentuk umumnya adalah sbt :
Mendefinisikan primary key :

CONSTRAINT Nama Constraint PRIMARY KEY  (Nama kolom)

Mendefinisikan foreign key :

CONSTRAINT Nama Constraintn FOREIGN KEY  (Nama kolom)
 REFERENCES NamaTabelReferensi (Namareferensi)

Berikut ini adalah contoh pendefinisian primery key pada tabel produk :
----------------------------------------------------------------------------------------------------------------------------------
 Mysql  >  CREATE TABLE Produk (
Id CHAR (4) NOT NULL ,
nama VARCHAR (25) ,
harga DECIMAL ,
deskripsi TINYTEXT
CONSTRAINT  pk_produk PRIMARY KEY  (id)
);
Query Ok , 0 rows affected (0.00  sec)
Mysql >
---------------------------------------------------------------------------------------------------------------------------------
Jika pendefinisian primery key dilakukan setelah pembuatan tabel , maka kita dapat menggunakan perintah berikut.

Mysql > ALTER TABLE produk
ADD CONSTRAINT  pk_produk PRIMARY KEY  (id);
Query Ok , 0 rows affected (0.05  sec)
Records  : 0 Duplicates : 0 warnings : 0
Mysql >