Perintah INSERT INTO
📚 Pengenalan Perintah INSERT INTO
Perintah INSERT INTO digunakan untuk menyisipkan data baru ke dalam tabel. Anda dapat menyisipkan data ke semua kolom atau ke kolom tertentu saja.
Sintaks Dasar INSERT INTO
Ada dua cara untuk menggunakan perintah INSERT INTO:
1. Menyisipkan Data ke Semua Kolom
Sintaks untuk menyisipkan data ke semua kolom:
INSERT INTO nama_tabel VALUES (nilai1, nilai2, nilai3, ...);
2. Menyisipkan Data ke Kolom Tertentu
Sintaks untuk menyisipkan data ke kolom tertentu:
INSERT INTO nama_tabel (kolom1, kolom2, kolom3, ...) VALUES (nilai1, nilai2, nilai3, ...);
Contoh Penggunaan INSERT INTO
Misalkan kita memiliki tabel 'pelanggan' dengan struktur berikut:
| Kolom | Tipe Data |
|---|---|
| id | INT (PRIMARY KEY) |
| nama | VARCHAR(50) |
| VARCHAR(100) | |
| kota | VARCHAR(50) |
| usia | INT |
Menyisipkan Data ke Semua Kolom
Untuk menyisipkan data ke semua kolom:
INSERT INTO pelanggan VALUES (1, 'John Doe', 'john@example.com', 'Jakarta', 30);
Menyisipkan Data ke Kolom Tertentu
Untuk menyisipkan data ke kolom tertentu:
INSERT INTO pelanggan (id, nama, email, kota, usia) VALUES (2, 'Jane Smith', 'jane@example.com', 'Bandung', 25);
Menyisipkan Beberapa Baris Data
Anda dapat menyisipkan beberapa baris data sekaligus:
INSERT INTO pelanggan (id, nama, email, kota, usia) VALUES (3, 'Bob Johnson', 'bob@example.com', 'Jakarta', 35), (4, 'Alice Brown', 'alice@example.com', 'Surabaya', 28), (5, 'Charlie Wilson', 'charlie@example.com', 'Medan', 32);
Catatan: Sintaks untuk menyisipkan beberapa baris data sekaligus mungkin sedikit berbeda tergantung pada sistem database yang digunakan.
Menyisipkan Data dari Tabel Lain
Anda juga dapat menyisipkan data dari tabel lain menggunakan perintah SELECT:
INSERT INTO pelanggan_baru (nama, email, kota, usia) SELECT nama, email, kota, usia FROM pelanggan WHERE kota = 'Jakarta';
Aturan dalam INSERT INTO
Beberapa aturan yang perlu diperhatikan saat menggunakan INSERT INTO:
- Jumlah nilai harus sesuai dengan jumlah kolom yang ditentukan
- Tipe data nilai harus sesuai dengan tipe data kolom
- Nilai untuk kolom dengan constraint NOT NULL harus disediakan
- Nilai untuk kolom dengan constraint UNIQUE harus unik
- Nilai untuk kolom dengan constraint PRIMARY KEY harus unik dan tidak NULL
- Nilai string dan tanggal harus diapit dengan tanda kutip tunggal ('')
- Nilai numerik tidak perlu diapit dengan tanda kutip
INSERT dengan Nilai Default
Jika kolom memiliki nilai default, Anda dapat menggunakan DEFAULT untuk menyisipkan nilai default:
INSERT INTO pelanggan (id, nama, email, kota, usia) VALUES (6, 'David Lee', 'david@example.com', 'Yogyakarta', DEFAULT);
INSERT dengan NULL
Anda dapat menyisipkan nilai NULL ke kolom yang memungkinkan NULL:
INSERT INTO pelanggan (id, nama, email, kota, usia) VALUES (7, 'Eva Green', NULL, 'Bali', 29);
INSERT dengan AUTO_INCREMENT
Jika kolom menggunakan AUTO_INCREMENT (atau IDENTITY di SQL Server), Anda tidak perlu menyisipkan nilai untuk kolom tersebut:
-- id akan dihasilkan otomatis
INSERT INTO pelanggan (nama, email, kota, usia)
VALUES ('Frank Miller', 'frank@example.com', 'Makassar', 40);
Coba Sendiri
Anda dapat mencoba kode SQL di atas di editor berikut:
💡 Tips Perintah INSERT INTO
Saat menyisipkan data, selalu gunakan transaksi jika Anda menyisipkan data ke beberapa tabel yang terkait. Ini memastikan bahwa jika ada kesalahan, semua perubahan dapat dibatalkan untuk menjaga integritas data.