Apakah INSERT INTO?
INSERT INTO digunakan untuk menyimpan data dalam jadual. Perintah INSERT membuat baris baru dalam jadual untuk menyimpan data. Data biasanya disediakan oleh program aplikasi yang berjalan di atas pangkalan data.
Sintaks asas
Mari lihat sintaks asas arahan INSERT INTO MySQL:
INSERT INTO `table_name` (column_1, column_2,…) NILAI (nilai_1, nilai_2,…);
SINI
- INSERT INTO `table_name` adalah perintah yang menyuruh pelayan MySQL untuk menambahkan baris baru ke dalam jadual bernama` table_name.`
- (lajur_1, lajur_2,…) menentukan lajur yang akan diperbarui dalam baris MySQL baru
- NILAI (nilai_1, nilai_2,…) menentukan nilai yang akan ditambahkan ke baris baru
Semasa memberikan nilai data yang akan dimasukkan ke dalam jadual baru, hal-hal berikut harus dipertimbangkan:
- Jenis data rentetan - semua nilai rentetan harus disertakan dalam tanda petik tunggal.
- Jenis data berangka - semua nilai numerik harus dibekalkan secara langsung tanpa memasukkannya dalam petikan tunggal atau ganda.
- Jenis data tarikh - sertakan nilai tarikh dalam tanda petik tunggal dalam format 'YYYY-MM-DD'.
Contoh:
Anggaplah kita mempunyai senarai ahli perpustakaan baru berikut yang perlu ditambahkan ke pangkalan data.
Nama penuh | Tarikh lahir | jantina | Alamat fizikal | alamat pos | Nombor telefon | Alamat emel |
---|---|---|---|---|---|---|
Leonard Hofstadter | Lelaki | Woodcrest | 0845738767 | |||
Sheldon Cooper | Lelaki | Woodcrest | 0976736763 | |||
Rajesh Koothrappali | Lelaki | Pandangan Adil | 0938867763 | |||
Leslie Winkle | 14/02/1984 | Lelaki | 0987636553 | |||
Howard Wolowitz | 24/08/1981 | Lelaki | Taman Selatan | Peti Surat 4563 | 0987786553 | Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
Mari MASUK data satu persatu. Kami akan bermula dengan Leonard Hofstadter. Kami akan menganggap nombor hubungan sebagai jenis data berangka dan tidak melampirkan nombor tersebut dalam tanda petik tunggal.
INSERT INTO `Members` (` full_names`, `gender`,` physical_address`, `contact_number`) NILAI ('Leonard Hofstadter', 'Male', 'Woodcrest', 0845738767);
Melaksanakan skrip di atas menjatuhkan 0 dari nombor kenalan Leonard. Ini kerana nilainya akan dianggap sebagai nilai berangka, dan sifar (0) pada awalnya dijatuhkan kerana tidak signifikan.
Untuk mengelakkan masalah seperti itu, nilainya mesti disertakan dalam tanda petik seperti yang ditunjukkan di bawah -
INSERT INTO `Members` (` full_names`, `gender`,` physical_address`, `contact_number`) NILAI ('Sheldon Cooper', 'Male', 'Woodcrest', '0976736763');
Dalam kes di atas, sifar (0) tidak akan dijatuhkan
Mengubah susunan lajur tidak akan mempengaruhi permintaan INSERT di MySQL selagi nilai yang betul telah dipetakan ke lajur yang betul.
Pertanyaan yang ditunjukkan di bawah menunjukkan perkara di atas.
INSERT INTO `Members` (` contact_number`, `gender`,` full_names`, `physical_address`) NILAI ('0938867763', 'Male', 'Rajesh Koothrappali', 'Woodcrest');
Pertanyaan di atas melangkau tarikh lahir. Secara lalai, MySQL akan memasukkan nilai NULL dalam lajur yang dihilangkan dalam pertanyaan INSERT.
Sekarang mari kita masukkan rekod untuk Leslie, yang mempunyai tarikh lahir. Nilai tarikh harus disertakan dalam tanda petik tunggal menggunakan format 'YYYY-MM-DD'.
INSERT INTO `Members` (` full_names`, `date_of_birth`,` gender`, `physical_address`,` contact_number`) NILAI ('Leslie Winkle', '1984-02-14', 'Lelaki', 'Woodcrest', ' 0987636553 ');
Semua pertanyaan di atas menentukan lajur dan memetakannya ke nilai dalam pernyataan sisipan MySQL. Sekiranya kita memberikan nilai untuk SEMUA lajur dalam jadual, maka kita boleh menghilangkan lajur dari pertanyaan sisipan MySQL.
Contoh: -
MASUKKAN KE NILAI anggota (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 dalam jadual ahli.
SELECT * FROM `members`;
nombor keahlian | nama_ penuh | jantina | tarikh lahir | alamat_ fizikal | alamat pos | nombor samb | e-mel |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Perempuan | 21-07-1980 | Petak Jalan Pertama No 4 | Beg Persendirian | 0759 253 542 | Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
2 | Janet Smith Jones | Perempuan | 23-06-1980 | Melrose 123 | BULAN | BULAN | Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
3 | Robert Phil | Lelaki | 12-07-1989 | Jalan ke-3 34 | BULAN | 12345 | Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
4 | Gloria Williams | Perempuan | 14-02-1984 | Jalan ke-2 23 | BULAN | BULAN | BULAN |
5 | Leonard Hofstadter | Lelaki | BULAN | Woodcrest | BULAN | 845738767 | BULAN |
6 | Sheldon Cooper | Lelaki | BULAN | Woodcrest | BULAN | 976736763 | BULAN |
7 | Rajesh Koothrappali | Lelaki | BULAN | Woodcrest | BULAN | 938867763 | BULAN |
8 | Leslie Winkle | Lelaki | 14-02-1984 | Woodcrest | BULAN | 987636553 | BULAN |
9 | Howard Wolowitz | Lelaki | 24-08-1981 | Taman Selatan | Peti Surat 4563 | 987786553 | Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
Perhatikan nombor kenalan untuk Leonard Hofstadter telah menurunkan sifar (0) dari nombor kenalan. Nombor hubungan yang lain tidak menurunkan sifar (0) pada awalnya.
Memasukkan ke dalam Jadual dari Jadual yang lain
Perintah INSERT juga dapat digunakan untuk memasukkan data ke dalam jadual dari jadual lain. Sintaks asasnya adalah seperti di bawah.
MASUK KE DALAM jadual_1 PILIH * DARI jadual_2;
Sekarang mari kita lihat contoh praktikal. Kami akan membuat jadual dummy untuk kategori filem untuk tujuan demonstrasi. Kami akan memanggil jadual kategori baru kategori_arkib. Skrip yang ditunjukkan di bawah membuat jadual.
BUAT JADUAL `profiles_archive` (` category_id` int (11) AUTO_INCREMENT, `category_name` varchar (150) DEFAULT NULL,` comments` varchar (500) DEFAULT NULL, PRIMARY KEY (`category_id`))
Laksanakan skrip di atas untuk membuat jadual.
Sekarang mari masukkan semua baris dari jadual kategori ke dalam jadual arkib kategori. Skrip yang ditunjukkan di bawah ini membantu kita untuk mencapainya.
MASUKKAN KE `kategori_archive` PILIH * DARI` kategori`;
Melaksanakan skrip di atas memasukkan semua baris dari jadual kategori ke dalam jadual arkib kategori. Perhatikan struktur jadual harus sama untuk skrip berfungsi. Skrip yang lebih mantap adalah skrip yang memetakan nama lajur dalam jadual sisipan dengan yang ada di dalam jadual yang mengandungi data.
Pertanyaan yang ditunjukkan di bawah menunjukkan penggunaannya.
INSERT INTO `Categories_archive` (kategori_id, kategori_nama, komen) PILIH kategori_id, kategori_nama, komen DARI` kategori`;
Menjalankan pertanyaan SELECT
PILIH * DARI `Categories_archive`
memberikan keputusan berikut seperti di bawah.
kategori_id | Nama kategori | kenyataan |
---|---|---|
1 | Komedi | Filem dengan humor |
2 | Romantik | Kisah cinta |
3 | Epik | Filem cerita awal |
4 | Seram | BULAN |
5 | Fiksyen sains | BULAN |
6 | Ngeri | BULAN |
7 | Tindakan | BULAN |
8 | Komedi Romantik | BULAN |
9 | Kartun | BULAN |
10 | Kartun | BULAN |
Contoh PHP: Masukkan ke dalam Jadual MySQL
Fungsi mysqli_query digunakan untuk melaksanakan pertanyaan SQL.
Fungsi tersebut dapat digunakan untuk melaksanakan jenis pertanyaan berikut;
- Masukkan
- Pilih
- Kemas kini
- padam
Ia mempunyai sintaks berikut.
mysqli_query($db_handle,$query);
DI SINI,
"mysqli_query (
…) "Adalah fungsi yang melaksanakan pertanyaan SQL."$ query" adalah pertanyaan SQL yang akan dijalankan
"$ link_identifier" adalah pilihan, ia boleh digunakan untuk meneruskan pautan sambungan pelayan
Contohnya
$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 jadual. MySql akan menambahkan baris baru, setelah perintah dijalankan.
- Nilai tarikh dan rentetan harus disertakan dalam tanda petik tunggal.
- Nilai angka tidak perlu disertakan dalam tanda petik.
- Perintah INSERT juga dapat digunakan untuk memasukkan data dari satu jadual ke yang lain.