Disini, kita akan belajar bagaimana membuat table dalam sebuah database MariaDB atau mySQL. Ketika hendak "bikin" table dalam sebuah database, yang kita perlukan sebelumnya adalah pengetahuan tentang tipe data (Data Type) karena setiap table mungkin akan menggunakan tipe data yang berbeda-beda sesuai kebutuhan dan konten yang akan diisi.


Syntax

MariaDB
Syntax
CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    (create_definition,...) [table_options    ]... [partition_options]
CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    [(create_definition,...)] [table_options   ]... [partition_options]
    select_statement
CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
   { LIKE old_table_name | (LIKE old_table_name) }

select_statement:
    [IGNORE | REPLACE] [AS] SELECT ...   (Some legal select statement)

Penjelasan

Untuk membuat table dalam database, kita bisa menggunakan perintah CREATE TABLE diikuti dengan nama table yang kita tentukan, kemudian diikuti dengan definisi kolom (column definitions) sebagai berikut:

MariaDB
Syntax
<column_name> <data_type>
[NOT NULL | NULL]
[DEFAULT <default_value>]
[AUTO_INCREMENT]
[UNIQUE [KEY] | [PRIMARY] KEY]
[COMMENT ' <string>' ]

Definisi kolom ditulis dalam kurung () setelah nama table yang hendak dibuat. seperti: CREATE TABLE namatable(column definitions);

Pada syntax tersebut, didalam tanda <> menunjukkan perintah yang harus kita tulis, sedangkan dalam [] adalah opsional, boleh ditulis ataupun tidak tergantung kebutuhan. Tanda | berarti 'atau' artinya, jika ditulis maka harus pilih salah satu tidak boleh ditulis dua-duanya.


Sebelum membuat table, Anda harus membuat database atau menggunakan database yang ada, karena table dibuat di dalam database. Sebagai contoh saya membuat database dengan nama 'perusahaan', maka gunakan perintah berikut:

MariaDB
CREATE DATABASE perusahaan;

Setelah database dibuat, kemudian kita gunakan database tersebut sebagai pilihan default. untuk menggunakan database kita bisa menjalankan perintah:

MariaDB
USE perusahaan;

Panduan lengkap mengenai cara membuat database, bisa dilihat pada artikel di blog ini yang disajikan secara terpisah.


Contoh Membuat Table

Setelah menggunakan database pilihan, selanjutnya kita ingin membuat table dalam database tersebut. Untuk membuat table, berikut contohnya:

MariaDB
CREATE TABLE karyawan (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
nama_awal VARCHAR(100) ,
nama_akhir VARCHAR(100) ,
tanggal_lahir DATE COMMENT ' tanggal lahir saja tanpa tempat'
) ;

Pada contoh tersebut, pada baris pertama artinya BUAT TABLE dengan nama 'karyawan'. Atau kita bisa menentukkan nama database yang sudah ada, kemudian membuat table baru dalam database tersebut seperti berikut:

MariaDB
CREATE TABLE perusahaan.karyawan (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
nama_awal VARCHAR(100) ,
nama_akhir VARCHAR(100) ,
tanggal_lahir DATE COMMENT ' tanggal lahir saja tanpa tempat'
) ;

Pada contoh tersebut, pada baris pertama artinya BUAT TABLE di dalam database 'perusahaan' dengan nama table 'karyawan'.

Selanjutnya, untuk id, nama_awal, nama_akhir dan tanggal_lahir disebut dengan field atau column. Setelahnya, diikuti dengan tipe data dan definisi tambahan lain sesuai kebutuhan. Untuk nama column, boleh apa saja asal tidak sama dengan yang sudah ditentukan oleh SQL (Reserved), seperti SQL statements, clauses dan functions. Sebenarnya boleh saja, asal menggunakan backtick (`) untuk membedakannya.

Karena setiap kolom dapat berisi baris data yang bermacam-macam, baik teks, angka gambar dan lainnya, maka berlaku tipe data (data type) yang akan menentukan masing-masing kolom tersebut diisi dengan tipe data apa yang sesuai? Tipe data akan dibahas secara terpisah.

Selanjutnya, jika kita ingin membuat table baru dengan nama table 'karyawan_baru' misalnya, kita bisa membuat copy (salinan) dari table 'karyawan' yang sudah dibuat tersebut termasuk definisi, column, index dan options-nya dengan menggunakan klausa LIKE seperti berikut:

MariaDB
CREATE TABLE karyawan_baru LIKE karyawan;

Gunakan IF NOT EXISTS untuk menghindari error dan menggantinya dengan warning (peringatan), seperti:

MariaDB
CREATE TABLE IF NOT EXISTS karyawan;

Gunakan CREATE TEMPORARY TABLE untuk membuat table sementara:

MariaDB
CREATE TEMPORARY TABLE tabeltes (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
nama_awal VARCHAR(50) ,
nama_akhir VARCHAR(50) ,
) ;

Gunakan CREATE OR REPLACE TABLE untuk menghapus table yang sudah ada dan menggantinya dengan table baru dengan nama yang sama. Ini, berlaku sejak MariaDB 10.0.8.

MariaDB
CREATE OR REPLACE TABLE karyawan (
nama varchar(50)
) ;

Kode tersebut, sama dengan:

MariaDB
DROP TABLE IF EXISTS karyawan;
CREATE TABLE karyawan (
nama varchar(50)
) ;

Reference: