Penjelasan sederhana
INSERT INTO menambahkan baris baru ke tabel, seperti mengetik data di baris kosong paling bawah sebuah sheet.
Kamu menyebutkan kolom mana yang diisi, lalu nilainya di bagian VALUES dengan urutan yang sama. Beberapa baris bisa dimasukkan sekaligus dengan memisahkannya memakai koma.
Sintaks
INSERT INTO nama_tabel (kolom1, kolom2)
VALUES (nilai1, nilai2),
(nilai1, nilai2);
| Bagian | Keterangan |
|---|---|
(kolom1, kolom2) | Kolom yang diisi. Kolom lain diisi DEFAULT atau NULL. |
VALUES | Data barunya, urutannya sesuai daftar kolom. Beberapa baris dipisah koma. |
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 INSERT INTO
Data contoh: departemen
Tabel departemen
| id | nama_dept | lokasi |
|---|---|---|
| 1 | Keuangan | Jakarta |
| 2 | Marketing | Jakarta |
| 3 | IT | Bandung |
| 4 | Legal | Surabaya |
INSERT INTO departemen (id, nama_dept, lokasi)
VALUES (5, 'HRD', 'Jakarta'),
(6, 'Operasional', 'Medan');
Isi tabel setelah dijalankan (SELECT * FROM departemen;)
| id | nama_dept | lokasi |
|---|---|---|
| 1 | Keuangan | Jakarta |
| 2 | Marketing | Jakarta |
| 3 | IT | Bandung |
| 4 | Legal | Surabaya |
| 5 | HRD | Jakarta |
| 6 | Operasional | Medan |
Dua departemen baru masuk di bagian bawah tabel.
Cara kerjanya, langkah demi langkah
INSERT INTO departemen (id, nama_dept, lokasi): kolom yang akan diisi disebutkan.VALUES (5, 'HRD', 'Jakarta'), (6, 'Operasional', 'Medan'): dua baris baru disiapkan.- Kedua baris disimpan di tabel. Saat isinya ditampilkan, tabel departemen sekarang berisi 6 baris.
Dipakai untuk apa di kantor?
- Menyimpan data pendaftar dari formulir.
- Memindahkan data hasil olahan ke tabel laporan.
Kesalahan yang sering terjadi
- Urutan nilai tidak sesuai urutan kolom, misalnya nama tertukar dengan lokasi.
- Memasukkan id yang sudah dipakai. Database menolak karena kolom
PRIMARY KEYharus unik. - Tidak menulis daftar kolom. Query bisa rusak kalau suatu hari tabelnya ditambah kolom baru.
UPDATE