Apa itu INSERT INTO?
INSERT INTO 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 dari perintah INSERT INTO MySQL:
MASUKKAN KE `nama_tabel` (kolom_1, kolom_2,…) NILAI (nilai_1, nilai_2,…);
SINI
- INSERT INTO `table_name` adalah perintah yang memberi tahu server MySQL untuk menambahkan baris baru ke dalam tabel bernama` table_name.`
- (kolom_1, kolom_2,…) menentukan kolom yang akan diperbarui di baris MySQL baru
- VALUES (nilai_1, nilai_2,…) menentukan nilai yang akan ditambahkan ke baris baru
Saat memasukkan nilai data untuk dimasukkan ke dalam tabel baru, 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 menyertakannya dalam tanda kutip tunggal atau ganda.
- Tipe data tanggal - apit nilai tanggal dalam tanda kutip tunggal dalam format 'YYYY-MM-DD'.
Contoh:
Misalkan kita memiliki daftar anggota perpustakaan baru berikut yang perlu ditambahkan ke database.
Nama lengkap | Tanggal lahir | jenis kelamin | Alamat fisik | Alamat pos | Nomor kontak | Alamat email |
---|---|---|---|---|---|---|
Leonard Hofstadter | Pria | Woodcrest | 0845738767 | |||
Sheldon Cooper | Pria | Woodcrest | 0976736763 | |||
Rajesh Koothrappali | Pria | Fairview | 0938867763 | |||
Leslie Winkle | 14/02/1984 | Pria | 0987636553 | |||
Howard Wolowitz | 24/08/1981 | Pria | Taman Selatan | PO Box 4563 | 0987786553 | Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
Mari SISIPKAN data satu per satu. Kami akan mulai dengan Leonard Hofstadter. Kami akan memperlakukan nomor kontak sebagai tipe data numerik dan tidak menyertakan nomor dalam tanda kutip tunggal.
INSERT INTO `members` (` full_names`, `gender`,` physical_address`, `contact_number`) VALUES ('Leonard Hofstadter', 'Male', 'Woodcrest', 0845738767);
Menjalankan skrip di atas menjatuhkan 0 dari nomor kontak Leonard. Ini karena nilainya akan diperlakukan sebagai nilai numerik, dan nol (0) di awal akan dihapus karena tidak signifikan.
Untuk menghindari masalah seperti itu, nilai harus diapit 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 dijatuhkan
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 tanggal kolom 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 menggunakan 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 dalam pernyataan sisipkan MySQL. Jika kami memberikan nilai untuk SEMUA kolom dalam tabel, maka kami dapat menghilangkan kolom dari kueri sisipkan MySQL.
Contoh:-
INSERT INTO `members` VALUES (9, 'Howard Wolowitz', 'Male', '1981-08-24',
'SouthPark', 'PO Box 4563', '0987786553', 'lwolowitz [at] email.me') ;
Sekarang mari kita gunakan pernyataan SELECT untuk melihat semua baris di tabel anggota.
SELECT * FROM `members`;
Nomor keanggotaan | nama lengkap | jenis kelamin | tanggal lahir | alamat fisik | postal_ address | contct_ number | surel |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Perempuan | 21-07-1980 | Plot Jalan Pertama No 4 | Tas Pribadi | 0759 253 542 | Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
2 | Janet Smith Jones | Perempuan | 23-06-1980 | Melrose 123 | BATAL | BATAL | Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
3 | Robert Phil | Pria | 12-07-1989 | Jalan Ketiga 34 | BATAL | 12345 | Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
4 | Gloria Williams | Perempuan | 14-02-1984 | 2nd Street 23 | BATAL | BATAL | BATAL |
5 | Leonard Hofstadter | Pria | BATAL | Woodcrest | BATAL | 845738767 | BATAL |
6 | Sheldon Cooper | Pria | BATAL | Woodcrest | BATAL | 976736763 | BATAL |
7 | Rajesh Koothrappali | Pria | BATAL | Woodcrest | BATAL | 938867763 | BATAL |
8 | Leslie Winkle | Pria | 14-02-1984 | Woodcrest | BATAL | 987636553 | BATAL |
9 | Howard Wolowitz | Pria | 24-08-1981 | Taman Selatan | PO Box 4563 | 987786553 | Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
Perhatikan bahwa nomor kontak Leonard Hofstadter telah menghilangkan nol (0) dari nomor kontak tersebut. Nomor kontak lainnya tidak menghilangkan nol (0) di awal.
Memasukkan ke dalam Tabel dari Tabel lain
Perintah INSERT juga dapat digunakan untuk memasukkan data ke dalam tabel dari tabel lain. Sintaks dasarnya seperti yang ditunjukkan di bawah ini.
MASUKKAN KE tabel_1 PILIH * DARI tabel_2;
Sekarang mari kita lihat contoh praktisnya. Kami akan membuat tabel boneka untuk kategori film untuk tujuan demonstrasi. Kami akan memanggil kategori tabel baru Categories_archive. Skrip yang ditunjukkan di bawah ini membuat tabel.
BUAT TABEL `category_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. Skrip yang ditunjukkan di bawah ini membantu kami mencapai itu.
SISIPKAN KE `category_archive` PILIH * DARI` kategori`;
Menjalankan skrip di atas akan menyisipkan 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 yang memetakan nama kolom di tabel sisipkan ke yang ada di tabel yang berisi data.
Kueri yang ditunjukkan di bawah ini menunjukkan penggunaannya.
MASUKKAN KE `Arsip_Kategori` (kategori_id, nama_kategori, komentar) PILIH nomor_kategori, nama_kategori, komentar DARI` kategori`;
Mengeksekusi query SELECT
PILIH * DARI `arsip_kategori`
memberikan hasil berikut yang ditunjukkan di bawah ini.
category_id | Nama Kategori | Catatan |
---|---|---|
1 | Komedi | Film dengan humor |
2 | Romantis | Cerita Cinta |
3 | Epik | Film cerita acient |
4 | Kengerian | BATAL |
5 | Fiksi ilmiah | BATAL |
6 | Thriller | BATAL |
7 | Tindakan | BATAL |
8 | Komedi romantis | BATAL |
9 | Kartun | BATAL |
10 | Kartun | BATAL |
Contoh PHP: Masukkan ke dalam Tabel MySQL
Fungsi mysqli_query digunakan untuk menjalankan kueri SQL.
Fungsi ini dapat digunakan untuk menjalankan tipe query berikut;
- Memasukkan
- Pilih
- Memperbarui
- menghapus
Ini memiliki sintaks berikut.
mysqli_query($db_handle,$query);
SINI,
"mysqli_query (
…) "Adalah fungsi yang menjalankan kueri SQL."$ query" adalah kueri SQL yang akan dijalankan
"$ link_identifier" bersifat opsional, ini dapat digunakan untuk meneruskan link koneksi server
Contoh
$servername = "localhost";$username = "alex";$password = "yPXuPT";$dbname = "afmznf";// Create connection$conn = mysqli_connect($servername, $username, $password, $dbname);// Check connectionif (!$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".'
';} else {echo "Error: " . $sql. "
" . mysqli_error($conn);}}
Ringkasan
- Perintah INSERT digunakan untuk menambahkan data baru ke dalam tabel. MySql akan menambah baris baru, setelah perintah dijalankan.
- Tanggal dan nilai string harus diapit tanda kutip tunggal.
- Nilai numerik tidak perlu diapit tanda kutip.
- Perintah INSERT juga dapat digunakan untuk memasukkan data dari satu tabel ke tabel lainnya.