MySQL INSERT INTO Pertanyaan: Cara menambahkan Baris dalam Jadual (Contoh)

Isi kandungan:

Anonim

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.