MySQL INSERT INTO Query: Cara menambahkan Baris di Tabel (Contoh)
⚡ Ringkasan Cerdas
MySQL Perintah INSERT INTO menambahkan baris baru ke dalam tabel, baik dengan menyebutkan kolom target secara eksplisit atau dengan memberikan nilai untuk setiap kolom. Penggunaan tanda kutip yang benar pada string, angka, dan tanggal menentukan apakah data yang tersimpan akan tetap utuh.

Apa itu MASUKKAN KE DALAM?
MASUKKAN KE DALAM Digunakan untuk menyimpan data dalam tabel. Perintah INSERT membuat baris baru dalam tabel untuk menyimpan data. Data biasanya disediakan oleh program aplikasi yang berjalan di atas basis data.
Sintaks dasar
Mari kita lihat sintaks dasar INSERT INTO MySQL perintah:
INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);
SINI
- INSERT INTO `table_name` adalah perintah yang memberitahu MySQL server untuk menambahkan baris baru ke dalam tabel bernama `nama_tabel.`
- (column_1,column_2,…) menentukan kolom yang akan diperbarui di kolom baru MySQL baris
- VALUES (value_1,value_2,…) menentukan nilai yang akan ditambahkan ke baris baru
Saat memberikan nilai data yang akan dimasukkan ke tabel baru, hal-hal berikut harus dipertimbangkan:
- Tipe data string – semua nilai string harus diapit tanda kutip tunggal.
- Tipe data numerik – semua nilai numerik harus diberikan secara langsung tanpa mengapitnya dalam tanda kutip tunggal atau ganda.
- Tipe data tanggal – mengapit nilai tanggal dalam tanda petik tunggal dengan format 'YYYY-MM-DD'.
Menyisipkan Beberapa Baris Sekaligus
Satu pernyataan INSERT dapat memuat beberapa baris. Pisahkan setiap kumpulan nilai dengan koma. Satu pernyataan lebih cepat daripada banyak pernyataan, karena indeks diperbarui hanya sekali.
INSERT INTO `categories`(`category_name`,`remarks`) VALUES ('Documentary', 'Factual films'), ('Musical', 'Song driven films');
MySQL Contoh Kueri INSERT INTO
Misalkan kita memiliki daftar anggota perpustakaan baru berikut yang perlu ditambahkan ke basis data.
| Nama lengkap | Tanggal lahir | jenis kelamin | Alamat fisik | Alamat pos | Nomor kontak | |
|---|---|---|---|---|---|---|
| Leonard Hofstadter | Pria | jambul kayu | 0845738767 | |||
| Sheldon Cooper | Pria | jambul kayu | 0976736763 | |||
| Rajesh Koothrappali | Pria | jambul kayu | 0938867763 | |||
| Leslie Winkle | 14/02/1984 | Pria | jambul kayu | 0987636553 | ||
| Howard Wolowitz | 24/08/1981 | Pria | Taman Selatan | PO Box 4563 | 0987786553 | lwolowitz@email.saya |
Mari kita masukkan data satu baris demi satu baris, dimulai dengan Leonard Hofstadter. Kita akan memperlakukan nomor kontak sebagai tipe data numerik dan tidak mengapit angka tersebut dalam tanda kutip tunggal.
INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Leonard Hofstadter','Male','Woodcrest',0845738767);
Menjalankan skrip di atas akan menghilangkan angka 0 dari nomor kontak Leonard, karena nilainya diperlakukan sebagai angka dan angka nol di depan tidak signifikan.
Untuk menghindari masalah tersebut, nilai harus diapit oleh tanda kutip tunggal seperti yang ditunjukkan di bawah ini.
INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Sheldon Cooper','Male','Woodcrest', '0976736763');
⚠️ Kiat: Simpan nomor telepon, kode pos, dan pengidentifikasi serupa dalam kolom teks seperti VARCHAR. Kolom numerik tidak dapat menyimpan angka nol di depan.
Mengubah Urutan Kolom
Mengubah urutan kolom tidak berpengaruh pada kueri INSERT di MySQL, selama nilai yang benar telah dipetakan ke kolom yang benar. Kueri di bawah ini menunjukkan hal tersebut.
INSERT INTO `members` (`contact_number`,`gender`,`full_names`,`physical_address`) VALUES ('0938867763','Male','Rajesh Koothrappali','Woodcrest');
Kueri di atas melewatkan kolom tanggal lahir. Secara default, MySQL Menyisipkan nilai NULL ke dalam kolom yang dihilangkan dari kueri INSERT.
Sekarang mari kita masukkan data untuk Leslie, yang tanggal lahirnya sudah diisi. Nilai tanggal harus diapit tanda kutip tunggal dengan format 'YYYY-MM-DD'.
INSERT INTO `members` (`full_names`,`date_of_birth`,`gender`,`physical_address`,`contact_number`) VALUES ('Leslie Winkle','1984-02-14','Male','Woodcrest', '0987636553');
Menghilangkan Daftar Kolom
Semua kueri di atas menyebutkan nama kolom dan memetakannya ke nilai. Jika kita memberikan nilai untuk SEMUA kolom dalam tabel, daftar kolom dapat dihilangkan dari MySQL masukkan kueri.
INSERT INTO `members` VALUES (9,'Howard Wolowitz','Male','1981-08-24', 'SouthPark','P.O. Box 4563', '0987786553', 'lwolowitz@email.me');
Sekarang mari kita gunakan PILIH pernyataan untuk melihat semua baris dalam tabel anggota.
SELECT * FROM `members`;
| Nomor keanggotaan | nama lengkap | jenis kelamin | tanggal lahir | alamat fisik | alamat pos_ | nomor_kontak | |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | Perempuan | 21-07-1980 | Plot Jalan Pertama No 4 | Tas Pribadi | 0759 253 542 | janetjones@yagoo.cm |
| 2 | Janet Smith Jones | Perempuan | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
| 3 | Robert Phil | Pria | 12-07-1989 | Jalan ke-3 34 | NULL | 12345 | rm@tstreet.com |
| 4 | Gloria Williams | Perempuan | 14-02-1984 | Jalan ke-2 23 | NULL | NULL | NULL |
| 5 | Leonard Hofstadter | Pria | NULL | jambul kayu | NULL | 845738767 | NULL |
| 6 | Sheldon Cooper | Pria | NULL | jambul kayu | NULL | 0976736763 | NULL |
| 7 | Rajesh Koothrappali | Pria | NULL | jambul kayu | NULL | 0938867763 | NULL |
| 8 | Leslie Winkle | Pria | 14-02-1984 | jambul kayu | NULL | 0987636553 | NULL |
| 9 | Howard Wolowitz | Pria | 24-08-1981 | Taman Selatan | PO Box 4563 | 0987786553 | lwolowitz@email.saya |
Perhatikan bahwa nomor kontak Leonard Hofstadter telah menghilangkan angka nol di depannya, persis seperti yang diprediksi. Angka yang dikutip tetap mempertahankan angka nol di depannya.
Memasukkan ke dalam Tabel dari Tabel lain
Perintah INSERT juga dapat digunakan untuk memasukkan data ke dalam suatu tabel dari tabel lain. Sintaks dasarnya seperti yang ditunjukkan di bawah ini.
INSERT INTO table_1 SELECT * FROM table_2;
Sekarang kita akan membuat tabel contoh untuk kategori film, yang disebut categories_archive. Skrip di bawah ini membuat tabel.
CREATE TABLE `categories_archive` ( `category_id` int(11) AUTO_INCREMENT, `category_name` varchar(150) DEFAULT NULL, `remarks` varchar(500) DEFAULT NULL, PRIMARY KEY (`category_id`))
Jalankan skrip di atas untuk membuat tabel. Sekarang mari kita masukkan semua baris dari tabel kategori ke dalam tabel arsip kategori.
INSERT INTO `categories_archive` SELECT * FROM `categories`;
Struktur tabel harus sama agar skrip tersebut berfungsi. Skrip yang lebih andal memetakan nama kolom dalam tabel tujuan ke nama kolom dalam tabel yang berisi data, seperti yang ditunjukkan di bawah ini.
INSERT INTO `categories_archive`(category_id,category_name,remarks) SELECT category_id,category_name,remarks FROM `categories`;
Menjalankan kueri SELECT di bawah ini memberikan hasil sebagai berikut.
SELECT * FROM `categories_archive`;
| kategori_id | category_name | komentar |
|---|---|---|
| 1 | Komedi | Film dengan humor |
| 2 | Romantis | Cerita Cinta |
| 3 | Epik | Cerita film kuno |
| 4 | Kengerian | NULL |
| 5 | Fiksi Ilmiah | NULL |
| 6 | Thriller | NULL |
| 7 | Tindakan | NULL |
| 8 | Komedi romantis | NULL |
| 9 | kartun | NULL |
| 10 | kartun | NULL |
Contoh PHP: Masukkan ke dalam MySQL tabel
Fungsi mysqli_query digunakan untuk mengeksekusi SQL Perintah ini menjalankan kueri dari PHP. Perintah ini menjalankan pernyataan Insert, Select, Update, dan Delete, dan memiliki sintaks sebagai berikut.
mysqli_query($db_handle,$query);
SINI,
- “mysqli_query(…)” adalah fungsi yang mengeksekusi query SQL.
- “$query” adalah kueri SQL yang akan dieksekusi.
- “$db_handle” adalah tautan koneksi server yang dikembalikan oleh mysqli_connect.
Example
$servername = "localhost"; $username = "alex"; $password = "yPXuPT"; $dbname = "afmznf"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "INSERT INTO addkeyworddata(link, keyword) VALUES ('https://www.guru99.com/','1000')"; if (mysqli_query($conn, $sql)) { echo "New record created successfully" . '<br>'; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); }
