Terkadang Anda mungkin perlu memasukkan beberapa baris data di MySQL. MySQL memungkinkan Anda memasukkan banyak baris informasi dengan satu kueri. Pada artikel ini, kita akan melihat cara menyisipkan banyak baris di MySQL
Cara Menyisipkan Beberapa Baris di MySQL
Berikut adalah langkah-langkah untuk menyisipkan banyak baris di MySQL. Ada beberapa cara untuk menyisipkan banyak baris di MySQL. Kami akan melihat masing-masing pendekatan ini satu per satu
Sisipkan banyak baris menggunakan INSERT
Katakanlah Anda memiliki tabel karyawan berikut (id, first_name, last_name)
mysql> create table employees(id int, first_name varchar(255), last_name varchar(255));Berikut adalah sintaks untuk menyisipkan banyak baris menggunakan pernyataan INSERT
INSERT INTO table_name(column1, column2, ...), values(row1_value1, row1_value2,...), (row2_value1, row2_value2,...), ..._Dalam kueri di atas, Anda perlu menyebutkan nama tabel tempat Anda perlu memasukkan nilai. Selanjutnya, Anda perlu memasukkan nilai dari setiap baris yang diapit tanda kurung bulat '()' dengan cara dipisahkan koma
Baca juga. Cara Menyalin Data dari Satu Tabel ke Tabel Lainnya
Berikut adalah kueri SQL untuk menyisipkan beberapa baris informasi di tabel karyawan
mysql> insert into employees(id, first_name, last_name)values(1,'John','Doe'),
(2,'Jane','Doe');
mysql> select * from employees;
+------+------------+-----------+
| id | first_name | last_name |
+------+------------+-----------+
| 1 | John | Doe |
| 2 | Jane | Doe |
+------+------------+-----------+
Baca juga. Cara Memperbarui Kolom berdasarkan Kolom Lain
Sisipkan Beberapa Baris dari SELECT
Anda juga dapat menyisipkan beberapa baris data ke dalam tabel menggunakan hasil kueri SELECT
Berikut adalah sintaks kueri SQL untuk menyalin data dari satu tabel ke tabel lainnya menggunakan pernyataan INSERT INTO
INSERT INTO table1 (column1, column2, ...) select column1, column2, ... from table2Dalam kueri di atas, kami memilih kolom1, kolom2, … dari tabel2 dan memasukkannya ke dalam tabel1
Harap dicatat, kolom yang digunakan dalam pernyataan INSERT INTO dan pernyataan SELECT harus memiliki nama dan urutan yang sama. Jika tidak, Anda akan mendapatkan kesalahan
Berikut adalah kueri SQL untuk menyalin data dari tabel karyawan ke tabel karyawan2
mysql> insert into employees2(id, first_name, last_name) select id, first_name, last_name from employees; mysql> select * from employees2; +------+------------+-----------+ | id | first_name | last_name | +------+------------+-----------+ | 1 | John | Doe | | 2 | Jane | Doe | +------+------------+-----------+_Baca juga. Cara Memperbarui Banyak Kolom di MySQL
Sisipkan Banyak Baris Tanpa Duplikat
Jika Anda ingin secara otomatis menghindari catatan duplikat saat Anda memasukkan beberapa nilai dalam tabel Anda, gunakan kata kunci IGNORE setelah INSERT dalam kueri SQL Anda
Untuk menyisipkan banyak nilai dalam satu kolom, sintaksnya adalah sebagai berikut -
insert into yourTableName values(yourValue1),(yourValue2),..........N;Untuk memahami sintaks di atas, mari kita buat tabel −
mysql> create table DemoTable2022 -> ( -> Department varchar(100) -> ); Query OK, 0 rows affected (0.49 sec)_Masukkan beberapa record ke dalam tabel menggunakan perintah insert −
mysql> insert into DemoTable2022 values('Computer Science'),('Information Technology'), ('Civil'),('Mechanical'),('Electronics'),('Electrical'); Query OK, 6 rows affected (0.46 sec) Records: 6 Duplicates: 0 Warnings: 0Tampilkan semua catatan dari tabel menggunakan pernyataan pilih −
mysql> select *from DemoTable2022;_Ini akan menghasilkan output berikut -
+---------------------------+ | Department | +---------------------------+ | Computer Science | | Information Technology | | Civil | | Mechanical | | Electronics | | Electrical | +---------------------------+ 6 rows in set (0.00 sec)_Ringkasan. dalam tutorial ini, Anda akan belajar cara menggunakan pernyataan MySQL
INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)5 untuk menyisipkan satu atau lebih baris ke dalam tabelPengantar pernyataan MySQL
INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)_5Pernyataan
INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)5INSERT INTO table(c1,c2,...) VALUES (v1,v2,...);
Dalam sintaks ini,
- Pertama, tentukan nama tabel dan daftar kolom yang dipisahkan koma di dalam tanda kurung setelah klausa
INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)9 - Kemudian, letakkan daftar nilai yang dipisahkan koma dari kolom terkait di dalam tanda kurung setelah kata kunci
CREATE TABLE IF NOT EXISTS tasks ( task_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, start_date DATE, due_date DATE, priority TINYINT NOT NULL DEFAULT 3, description TEXT, PRIMARY KEY (task_id) );
Code language: SQL (Structured Query Language) (sql)0
Jumlah kolom dan nilai harus sama. Selain itu, posisi kolom harus sesuai dengan posisi nilainya
Untuk menyisipkan banyak baris ke dalam tabel menggunakan pernyataan
INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)5 tunggal, Anda menggunakan sintaks berikutINSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)Dalam sintaks ini, baris dipisahkan dengan koma di klausa
CREATE TABLE IF NOT EXISTS tasks ( task_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, start_date DATE, due_date DATE, priority TINYINT NOT NULL DEFAULT 3, description TEXT, PRIMARY KEY (task_id) );
Code language: SQL (Structured Query Language) (sql)0MySQL
INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)_5 contohMari buat tabel baru bernama
CREATE TABLE IF NOT EXISTS tasks ( task_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, start_date DATE, due_date DATE, priority TINYINT NOT NULL DEFAULT 3, description TEXT, PRIMARY KEY (task_id) );
Code language: SQL (Structured Query Language) (sql)4 untuk mempraktikkan pernyataanINSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)5CREATE TABLE IF NOT EXISTS tasks ( task_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, start_date DATE, due_date DATE, priority TINYINT NOT NULL DEFAULT 3, description TEXT, PRIMARY KEY (task_id) );
Code language: SQL (Structured Query Language) (sql)1) MySQL
INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)_5 – contoh sederhanaINSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)5Pernyataan berikut menyisipkan baris baru ke dalam tabel
CREATE TABLE IF NOT EXISTS tasks ( task_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, start_date DATE, due_date DATE, priority TINYINT NOT NULL DEFAULT 3, description TEXT, PRIMARY KEY (task_id) );
Code language: SQL (Structured Query Language) (sql)4INSERT INTO tasks(title,priority) VALUES('Learn MySQL INSERT Statement',1);
Code language: SQL (Structured Query Language) (sql)MySQL mengembalikan pesan berikut
1 row(s) affected
Code language: SQL (Structured Query Language) (sql)Ini berarti bahwa satu baris berhasil dimasukkan ke dalam tabel
CREATE TABLE IF NOT EXISTS tasks ( task_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, start_date DATE, due_date DATE, priority TINYINT NOT NULL DEFAULT 3, description TEXT, PRIMARY KEY (task_id) );
Code language: SQL (Structured Query Language) (sql)4Kueri ini mengembalikan data dari tabel
CREATE TABLE IF NOT EXISTS tasks ( task_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, start_date DATE, due_date DATE, priority TINYINT NOT NULL DEFAULT 3, description TEXT, PRIMARY KEY (task_id) );
Code language: SQL (Structured Query Language) (sql)_4SELECT * FROM tasks;
Code language: SQL (Structured Query Language) (sql)Inilah hasilnya
Dalam contoh ini, kami menentukan nilai hanya untuk kolom
INSERT INTO tasks(title,priority) VALUES('Learn MySQL INSERT Statement',1);
Code language: SQL (Structured Query Language) (sql)1 danINSERT INTO tasks(title,priority) VALUES('Learn MySQL INSERT Statement',1);
Kolom
INSERT INTO tasks(title,priority) VALUES('Learn MySQL INSERT Statement',1);
Code language: SQL (Structured Query Language) (sql)_3 adalah kolomINSERT INTO tasks(title,priority) VALUES('Learn MySQL INSERT Statement',1);
Code language: SQL (Structured Query Language) (sql)4 . Ini berarti bahwa MySQL menghasilkan bilangan bulat berurutan setiap kali sebuah baris dimasukkan ke dalam tabelKolom
INSERT INTO tasks(title,priority) VALUES('Learn MySQL INSERT Statement',1);
Code language: SQL (Structured Query Language) (sql)5,INSERT INTO tasks(title,priority) VALUES('Learn MySQL INSERT Statement',1);
Code language: SQL (Structured Query Language) (sql)6, danINSERT INTO tasks(title,priority) VALUES('Learn MySQL INSERT Statement',1);
Code language: SQL (Structured Query Language) (sql)7 menggunakanINSERT INTO tasks(title,priority) VALUES('Learn MySQL INSERT Statement',1);
Code language: SQL (Structured Query Language) (sql)8 sebagai nilai default, oleh karena itu, MySQL menggunakanINSERT INTO tasks(title,priority) VALUES('Learn MySQL INSERT Statement',1);
Code language: SQL (Structured Query Language) (sql)9 untuk menyisipkan ke dalam kolom ini jika Anda tidak menentukan nilainya dalam pernyataanINSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)52) MySQL
INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)_5 – Memasukkan baris menggunakan contoh nilai defaultJika Anda ingin memasukkan nilai default ke dalam kolom, Anda memiliki dua cara
- Abaikan nama kolom dan nilai dalam pernyataan
INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)5 - Tentukan nama kolom dalam klausa
INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)_9 dan gunakan kata kunci1 row(s) affected
Code language: SQL (Structured Query Language) (sql)4 dalam klausaCREATE TABLE IF NOT EXISTS tasks ( task_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, start_date DATE, due_date DATE, priority TINYINT NOT NULL DEFAULT 3, description TEXT, PRIMARY KEY (task_id) );
Code language: SQL (Structured Query Language) (sql)0
Contoh berikut menunjukkan cara kedua
INSERT INTO tasks(title,priority) VALUES('Understanding DEFAULT keyword in INSERT statement',DEFAULT);
Code language: SQL (Structured Query Language) (sql)Dalam contoh ini, kami menentukan kolom
INSERT INTO tasks(title,priority) VALUES('Learn MySQL INSERT Statement',1);
Code language: SQL (Structured Query Language) (sql)_2 dan kata kunci1 row(s) affected
Code language: SQL (Structured Query Language) (sql)4Karena nilai default untuk kolom
INSERT INTO tasks(title,priority) VALUES('Learn MySQL INSERT Statement',1);
Code language: SQL (Structured Query Language) (sql)2 adalah 3 seperti yang dideklarasikan dalam definisi tabelpriority TINYINT NOT NULL DEFAULT 3
Code language: SQL (Structured Query Language) (sql)MySQL menggunakan angka 3 untuk disisipkan ke dalam kolom
INSERT INTO tasks(title,priority) VALUES('Learn MySQL INSERT Statement',1);
Code language: SQL (Structured Query Language) (sql)2Pernyataan berikut mengembalikan isi tabel
CREATE TABLE IF NOT EXISTS tasks ( task_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, start_date DATE, due_date DATE, priority TINYINT NOT NULL DEFAULT 3, description TEXT, PRIMARY KEY (task_id) );
Code language: SQL (Structured Query Language) (sql)4 setelah penyisipanSELECT * FROM tasks;
Code language: SQL (Structured Query Language) (sql)3) MySQL
INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)5 – Memasukkan tanggal ke dalam tabel contohUntuk memasukkan nilai tanggal literal ke dalam kolom, Anda menggunakan format berikut
'YYYY-MM-DD'
Code language: SQL (Structured Query Language) (sql)Dalam format ini
SELECT * FROM tasks;
Code language: SQL (Structured Query Language) (sql)2 mewakili tahun empat digit e. g. , 2018SELECT * FROM tasks;
Code language: SQL (Structured Query Language) (sql)3 melambangkan bulan dua digit e. g. , 01, 02, dan 12SELECT * FROM tasks;
Code language: SQL (Structured Query Language) (sql)4 mewakili hari dua digit e. g. , 01, 02, 30
Pernyataan berikut menyisipkan baris baru ke tabel
CREATE TABLE IF NOT EXISTS tasks ( task_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, start_date DATE, due_date DATE, priority TINYINT NOT NULL DEFAULT 3, description TEXT, PRIMARY KEY (task_id) );
Code language: SQL (Structured Query Language) (sql)4 dengan nilai tanggal mulai dan tanggal jatuh tempoINSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)_0Gambar berikut menunjukkan isi tabel
CREATE TABLE IF NOT EXISTS tasks ( task_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, start_date DATE, due_date DATE, priority TINYINT NOT NULL DEFAULT 3, description TEXT, PRIMARY KEY (task_id) );
Code language: SQL (Structured Query Language) (sql)4 setelah penyisipanDimungkinkan untuk menggunakan ekspresi dalam klausa
CREATE TABLE IF NOT EXISTS tasks ( task_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, start_date DATE, due_date DATE, priority TINYINT NOT NULL DEFAULT 3, description TEXT, PRIMARY KEY (task_id) );
Code language: SQL (Structured Query Language) (sql)0. Misalnya, pernyataan berikut menambahkan tugas baru menggunakan tanggal saat ini untuk kolom tanggal mulai dan tanggal jatuh tempoINSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)_1Dalam contoh ini, kami menggunakan fungsi
SELECT * FROM tasks;
Code language: SQL (Structured Query Language) (sql)8 sebagai nilai untuk kolomINSERT INTO tasks(title,priority) VALUES('Learn MySQL INSERT Statement',1);
Code language: SQL (Structured Query Language) (sql)5 danINSERT INTO tasks(title,priority) VALUES('Learn MySQL INSERT Statement',1);
Code language: SQL (Structured Query Language) (sql)6. Perhatikan bahwa fungsiINSERT INTO tasks(title,priority) VALUES('Understanding DEFAULT keyword in INSERT statement',DEFAULT);
Code language: SQL (Structured Query Language) (sql)1 adalah fungsi tanggal yang mengembalikan tanggal sistem saat iniBerikut adalah isi tabel
CREATE TABLE IF NOT EXISTS tasks ( task_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, start_date DATE, due_date DATE, priority TINYINT NOT NULL DEFAULT 3, description TEXT, PRIMARY KEY (task_id) );
Code language: SQL (Structured Query Language) (sql)_4 setelah disisipkan4) MySQL
INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)_5 – Memasukkan beberapa baris contohPernyataan berikut menyisipkan tiga baris ke dalam tabel
CREATE TABLE IF NOT EXISTS tasks ( task_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, start_date DATE, due_date DATE, priority TINYINT NOT NULL DEFAULT 3, description TEXT, PRIMARY KEY (task_id) );
Code language: SQL (Structured Query Language) (sql)4INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)_2Dalam contoh ini, setiap data baris ditetapkan sebagai daftar nilai dalam klausa
CREATE TABLE IF NOT EXISTS tasks ( task_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, start_date DATE, due_date DATE, priority TINYINT NOT NULL DEFAULT 3, description TEXT, PRIMARY KEY (task_id) );
Code language: SQL (Structured Query Language) (sql)0MySQL mengembalikan pesan berikut
INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)_3Ini berarti ketiga baris telah berhasil dimasukkan tanpa duplikat atau peringatan
SELECT * FROM tasks;
Code language: SQL (Structured Query Language) (sql)Tabel
CREATE TABLE IF NOT EXISTS tasks ( task_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, start_date DATE, due_date DATE, priority TINYINT NOT NULL DEFAULT 3, description TEXT, PRIMARY KEY (task_id) );
Code language: SQL (Structured Query Language) (sql)_4 memiliki data berikutDalam tutorial ini, Anda telah mempelajari cara menggunakan pernyataan MySQL
INSERT INTO table(c1,c2,...) VALUES (v11,v12,...), (v21,v22,...), ... (vnn,vn2,...);
Code language: SQL (Structured Query Language) (sql)5 untuk menambahkan satu atau lebih baris ke dalam tabel