Penjelasan sederhana
CREATE TABLE membuat tabel baru, ibarat menyiapkan sheet kosong lengkap dengan judul kolomnya. Bedanya dengan Excel, setiap kolom harus punya tipe data: angka, teks, tanggal, dan sebagainya.
Kamu juga bisa memberi aturan. PRIMARY KEY menandai kolom pengenal unik setiap baris, NOT NULL artinya kolom wajib diisi, dan DEFAULT memberi nilai otomatis kalau tidak diisi.
Sintaks
CREATE TABLE nama_tabel (
kolom1 TIPE [aturan],
kolom2 TIPE [aturan],
...
);
| Bagian | Keterangan |
|---|---|
TIPE | INTEGER, DECIMAL(12,2), VARCHAR(100), DATE, BOOLEAN, dan lain-lain. |
PRIMARY KEY | Kolom pengenal unik tiap baris. |
NOT NULL | Kolom wajib diisi. |
DEFAULT | Nilai otomatis jika tidak diisi. |
Tanda [kurung siku] berarti bagian opsional. Kata kunci SQL tidak membedakan huruf besar-kecil, tapi menulisnya dengan huruf besar membuat query lebih mudah dibaca.
Contoh CREATE TABLE
CREATE TABLE proyek (
id INTEGER PRIMARY KEY,
nama_proyek VARCHAR(100) NOT NULL,
dept_id INTEGER,
anggaran DECIMAL(14,2) DEFAULT 0
);
INSERT INTO proyek (id, nama_proyek, dept_id)
VALUES (1, 'Migrasi Server', 3);
Isi tabel setelah dijalankan (SELECT * FROM proyek;)
| id | nama_proyek | dept_id | anggaran |
|---|---|---|---|
| 1 | Migrasi Server | 3 | 0 |
Tabel proyek dibuat lalu diisi satu baris. Kolom anggaran otomatis bernilai 0 karena DEFAULT.
Cara kerjanya, langkah demi langkah
CREATE TABLE proyek (...): tabel baru bernama proyek dibuat dengan 4 kolom.- id ditandai
PRIMARY KEY, nama_proyek wajib diisi (NOT NULL), dan anggaran otomatis 0 kalau tidak diisi (DEFAULT 0). INSERT INTO proyek ...: satu baris dimasukkan tanpa menyebut anggaran.- Saat isi tabel ditampilkan, kolom anggaran berisi 0 sesuai aturan
DEFAULT.
Dipakai untuk apa di kantor?
- Membuat tabel untuk menyimpan data baru, misalnya data peserta pelatihan.
- Membuat tabel sementara untuk hasil olahan data.
Kesalahan yang sering terjadi
- Memilih tipe data yang kurang tepat, misalnya menyimpan harga sebagai teks. Nanti tidak bisa dijumlahkan.
- Memakai
FLOATuntuk uang. Hasil hitungannya bisa meleset sedikit; pakaiDECIMAL.
INSERT INTO