MySQL INSERT INTO Query: Cara menambahkan Baris di Tabel (Contoh)
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 database.
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 menyertakan tanda kutip tunggal atau ganda.
- Tipe data tanggal – mengapit nilai tanggal dalam tanda petik tunggal dengan format 'YYYY-MM-DD'.
Contoh:
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 | Alamat email |
---|---|---|---|---|---|---|
Leonard Hofstadter | Pria | jambul kayu | 0845738767 | |||
Sheldon Cooper | Pria | jambul kayu | 0976736763 | |||
Rajesh Koothrappali | Pria | Fairview | 0938867763 | |||
Leslie Winkle | 14/02/1984 | Pria | 0987636553 | |||
Howard Wolowitz | 24/08/1981 | Pria | South Park | PO Box 4563 | 0987786553 | lwolowitz@email.saya |
Mari INSERT data satu per satu. Kami akan mulai dengan Leonard Hofstadter. Kami akan memperlakukan nomor kontak sebagai tipe data numerik dan tidak mengapit nomor 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 0 dari nomor kontak Leonard. Hal ini karena nilai tersebut akan diperlakukan sebagai nilai numerik, dan angka nol (0) di awal dihilangkan karena tidak signifikan.
Untuk menghindari masalah seperti itu, nilainya 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');
Dalam kasus di atas, nol (0) tidak akan dihilangkan
Mengubah urutan kolom tidak berpengaruh pada kueri INSERT di MySQL selama nilai yang benar telah dipetakan ke kolom yang benar.
Kueri yang ditunjukkan di bawah ini menunjukkan poin di atas.
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 akan memasukkan nilai NULL di kolom yang dihilangkan dalam kueri INSERT.
Sekarang mari kita masukkan catatan untuk Leslie, yang memiliki tanggal lahir. 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');
Semua kueri di atas menentukan kolom dan memetakannya ke nilai di MySQL masukkan pernyataan. Jika kita memberikan nilai untuk SEMUA kolom dalam tabel, maka kita dapat menghilangkan kolom tersebut dari MySQL masukkan kueri.
Contoh:-
INSERT INTO `members` VALUES (9,'Howard Wolowitz','Male','1981-08-24', 'SouthPark','P.O. Box 4563', '0987786553', 'lwolowitz[at]email.me');
Sekarang mari kita gunakan PILIH pernyataan untuk melihat semua baris di 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 nomor kontak Leonard Hofstadter telah menghilangkan angka nol (0) dari nomor kontak. Nomor kontak lainnya belum menghilangkan angka nol (0) di awal.
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 mari kita lihat contoh praktisnya. Kita akan membuat tabel tiruan untuk kategori film untuk tujuan demonstrasi. Kita akan menyebut tabel kategori baru tersebut categories_archive. Skrip yang ditampilkan 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 masukkan semua baris dari tabel kategori ke dalam tabel arsip kategori. Skrip yang ditunjukkan di bawah ini membantu kita untuk mencapainya.
INSERT INTO `categories_archive` SELECT * FROM `categories`;
Menjalankan skrip di atas akan memasukkan semua baris dari tabel kategori ke dalam tabel arsip kategori. Perhatikan bahwa struktur tabel harus sama agar skrip dapat berfungsi. Skrip yang lebih kuat adalah skrip yang memetakan nama kolom dalam tabel sisipan ke nama kolom dalam tabel yang berisi data.
Kueri yang ditunjukkan di bawah ini menunjukkan penggunaannya.
INSERT INTO `categories_archive`(category_id,category_name,remarks) SELECT category_id,category_name,remarks FROM `categories`;
Menjalankan kueri SELECT
SELECT * FROM `categories_archive`
memberikan hasil yang ditunjukkan di bawah ini.
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 pertanyaan.
Fungsi penyisipan ke dalam tabel SQL dapat digunakan untuk mengeksekusi tipe kueri berikut:
- Menyisipkan
- Pilih
- Memperbarui
- hapus
Ia memiliki sintaksis sebagai berikut.
mysqli_query($db_handle,$query);
SINI,
“mysqli_query(…)” adalah fungsi yang mengeksekusi query SQL.
“$query” adalah kueri SQL yang akan dieksekusi
“$link_identifier” bersifat opsional, dapat digunakan untuk meneruskan tautan koneksi server
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); } }
Ringkasan
- Perintah INSERT digunakan untuk menambahkan data baru ke dalam tabel. MySql akan menambahkan baris baru, setelah perintah dijalankan.
- Nilai tanggal dan string harus diapit tanda kutip tunggal.
- Nilai numerik tidak perlu diapit tanda petik.
- Perintah INSERT juga dapat digunakan untuk menyisipkan data dari satu tabel ke tabel lainnya.