Tuesday, October 18, 2016

Membuat Tabel Pada MySQL

Membuat tabel
Secara umum, syntax untuk membuat tabel adalah sebagai berikut:
CREATE TABLE nama_tbl (
nama_kolom1 tipe_data(length) [NOT NULL|NULL] [DEFAULT nilai_default] [AUTO_INCREMENT] ,
nama_kolom2 tipe_data(length) [NOT NULL|NULL] [DEFAULT nilai_default] [AUTO_INCREMENT] ,

);

Contoh membuat tabel

mysql> CREATE DATABASE PRAK2;
Query OK, 1 row affected (0.34 sec)
mysql> USE PRAK2;
Database changed
mysql> CREATE TABLE TABLE1(
-> id INT AUTO_INCREMENT,
-> name VARCHAR(30) NOT NULL,
-> salary FLOAT(10,2) DEFAULT 1000000
-> );


mysql> DESCRIBE TABLE1;







3 rows in set (0.00 sec)

Membuat tabel dengan primary key

Primary key adalah nilai yang menjadi pembeda antara satu record data dengan record yang lain.
Membuat tabel dengan primary key ditunjukkan sebagai berikut:
mysql> CREATE TABLE TABLE2(
-> id INT AUTO_INCREMENT PRIMARY KEY,
-> name VARCHAR(30)
-> );
Query OK, 0 rows affected (0.13 sec)
mysql> DESCRIBE TABLE2;






2 rows in set (0.00 sec)

Pada contoh di atas, kolom 'id' diberikan 'AUTO_INCREMENT', artinya kolom ini akan diberikan nilai increment secara automatis. Kolom 'id' diset sebagai PRIMARY KEY.
Dalam satu tabel, hanya boleh ada satu kolom yang diberi status 'AUTO_INCREMENT', dan harus menjadi key. Jika tidak akan muncul pesan error sebagai berikut:
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key

Memberikan nilai UNIQUE

UNIQUE memberikan batasan bahwa nilai dalam sebuah kolom harus distinct (atau tidak ada data yang nilainya sama). Error akan terjadi jika kita menambahkan nilai yang sama dengan data yang sudah ada untuk kolom tersebut.

mysql> CREATE TABLE cars(
-> id INT PRIMARY KEY AUTO_INCREMENT,
-> plate VARCHAR (10),
-> brand VARCHAR (10),
-> UNIQUE (plate)
-> );
Query OK, 0 rows affected (0.16 sec)
mysql> DESC cars;







3 rows in set (0.00 sec)
mysql> INSERT INTO cars VALUES (1, 'AB-1234-CD', 'Toyota');
Query OK, 1 row affected (0.06 sec)
mysql> SELECT * FROM cars;









1 row in set (0.00 sec)
mysql> INSERT INTO cars VALUES (2, 'AB-1234-CD', 'Suzuki');
ERROR 1062 (23000): Duplicate entry 'AB-1234-CD' for key 'plate'

Parameter IF NOT EXISTS

Parameter IF NOT EXISTS digunakan untuk mengecek apakah sebuah tabel dengan nama yang sama sudah ada atau belum sebelum membuat tabel. Penggunaannya dapat dilihat sebagai berikut:

mysql> SHOW TABLES;














3 rows in set (0.00 sec)
mysql> CREATE TABLE IF NOT EXISTS TABLE1(
-> id INT AUTO_INCREMENT,
-> name VARCHAR(30) NOT NULL,
-> salary FLOAT(10,2) DEFAULT 1000000
-> );
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> CREATE TABLE IF NOT EXISTS TABLE4(
-> id INT AUTO_INCREMENT,
-> name VARCHAR(30) NOT NULL,
-> salary FLOAT(10,2) DEFAULT 1000000
-> );
Query OK, 0 rows affected (0.14 sec)
mysql> SHOW TABLES;
















4 rows in set (0.00 sec)
Pada contoh di atas, kita mencoba membuat tabel dengan nama TABEL1 yang sudah ada. Mysql akan memberikan satu buat warning. Namun ketika, kita membuat tabel yang belum ada, maka tabel tersebut akan terbentuk.

No comments:

Post a Comment