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.

  • 📥 Sintaks Inti: Perintah INSERT INTO `table_name`(column_1,column_2) VALUES (value_1,value_2) membuat satu baris baru di tabel bernama tersebut.
  • 🔤 Aturan Pengutipan: Nilai berupa string dan tanggal memerlukan tanda kutip tunggal; nilai numerik diberikan tanpa tanda kutip.
  • 0️⃣ Jebakan Nol Utama: Nomor telepon tanpa tanda kutip dibaca sebagai angka, sehingga angka nol di depannya dihilangkan tanpa pemberitahuan.
  • 🔀 Urutan Kolom: Urutan kolom di dalam kueri tidak relevan, asalkan setiap nilai dipetakan ke kolom yang sesuai.
  • ️ Kolom yang dihilangkan: Kolom yang tidak disertakan dalam pernyataan akan menerima nilai NULL, atau nilai default yang telah dideklarasikan.
  • 📑 Dari Meja ke Meja: Perintah INSERT INTO … SELECT menyalin baris antar tabel jika struktur kolomnya selaras.

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 Email
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 email
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);
}

Pertanyaan Umum Demo Slot

MySQL akan menolaknya dengan kesalahan entri duplikat. Gunakan INSERT IGNORE untuk melewati baris tersebut secara diam-diam, atau INSERT … ON DUPLICATE KEY UPDATE untuk memperbarui baris yang sudah ada.

Jalankan SELECT LAST_INSERT_ID() langsung setelah penyisipan, atau panggil mysqli_insert_id($conn) di PHP. Ini akan mengembalikan kunci AUTO_INCREMENT yang dihasilkan untuk baris terbaru pada koneksi Anda sendiri.

Jangan pernah menggabungkan input pengguna ke dalam string kueri. Gunakan prepared statement dengan parameter terikat, sehingga nilai-nilai dikirim secara terpisah dari input pengguna. SQL dan tidak dapat dieksekusi sebagai perintah.

Ya. Asisten AI mengubah spreadsheet atau deskripsi biasa menjadi pernyataan INSERT, dan MySQL Workbench dapat menjalankannya. Periksa urutan kolom dan tanda kutip, karena model mungkin menebak skemanya.

Masukkan terlebih dahulu ke dalam salinan pengembangan. Baris yang dihasilkan AI mungkin merusak kunci asing, melebihi panjang kolom, atau membuat tanggal yang tidak valid. Jalankan batch dalam sebuah transaksi agar dapat di-rollback.

Ringkaslah postingan ini dengan: