Bagaimana menambahkan beberapa nilai dalam sebuah tabel di php?

I did a performance check, and I saw, if you push more than one value it can be faster the array push, that the normal $array[] version.

Case 1: $array[] = something;
Case 2: array_push($array, $value);
Case 3: array_push($array, $value1, $value2, $value3 [...]); $values are definied
Case 4: array_push($array, $value1, $value2, $value3 [...]); $values are definied, when $array is not empty
Case 5: Case1 + Case 3
Case 6: Result array contains some value (Case 4)
Case 7: Result array contains same value as the push array (Case 4)
-----------------------------------------------------------------------------------------------------------
~~~~~~~~~~~~ Case 1 ~~~~~~~~~~~~
Times: 0.0310 0.0300 0.0290 0.0340 0.0400 0.0440 0.0480 0.0550 0.0570 0.0570
Min: 0.0290
Max: 0.0570
Avg: 0.0425
~~~~~~~~~~~~ Case 2 ~~~~~~~~~~~~
Times: 0.3890 0.3850 0.3770 0.4110 0.4020 0.3980 0.4020 0.4060 0.4130 0.4200
Min: 0.3770
Max: 0.4200
Avg: 0.4003
~~~~~~~~~~~~ Case 3 ~~~~~~~~~~~~
Times: 0.0200 0.0220 0.0240 0.0340 0.0360 0.0410 0.0460 0.0500 0.0520 0.0520
Min: 0.0200
Max: 0.0520
Avg: 0.0377
~~~~~~~~~~~~ Case 4 ~~~~~~~~~~~~
Times: 0.0200 0.0250 0.0230 0.0260 0.0330 0.0390 0.0460 0.0510 0.0520 0.0520
Min: 0.0200
Max: 0.0520
Avg: 0.0367
~~~~~~~~~~~~ Case 5 ~~~~~~~~~~~~
Times: 0.0260 0.0250 0.0370 0.0360 0.0390 0.0440 0.0510 0.0520 0.0530 0.0560
Min: 0.0250
Max: 0.0560
Avg: 0.0419
~~~~~~~~~~~~ Case 6 ~~~~~~~~~~~~
Times: 0.0340 0.0280 0.0370 0.0410 0.0450 0.0480 0.0560 0.0580 0.0580 0.0570
Min: 0.0280
Max: 0.0580
Avg: 0.0462
~~~~~~~~~~~~ Case 7 ~~~~~~~~~~~~
Times: 0.0290 0.0270 0.0350 0.0410 0.0430 0.0470 0.0540 0.0540 0.0550 0.0550
Min: 0.0270
Max: 0.0550
Avg: 0.044

Tester code:
// Case 1
    $startTime = microtime(true);
    $array = array();
    for ($x = 1; $x <= 100000; $x++)
    {
        $array[] = $x;
    }
    $endTime = microtime(true);

// Case 2
    $startTime = microtime(true);
    $array = array();
    for ($x = 1; $x <= 100000; $x++)
    {
        array_push($array, $x);
    }
    $endTime = microtime(true);

// Case 3
    $result = array();
    $array2 = array(&$result)+$array;
    $startTime = microtime(true);
    call_user_func_array("array_push", $array2);
    $endTime = microtime(true);

// Case 4
    $result = array();
    for ($x = 1; $x <= 100000; $x++)
    {
        $result[] = $x;
    }
    $array2 = array(&$result)+$array;
    $startTime = microtime(true);
    call_user_func_array("array_push", $array2);
    $endTime = microtime(true);

// Case 5
    $result = array();
    $startTime = microtime(true);
    $array = array(&$result);
    for ($x = 1; $x <= 100000; $x++)
    {
        $array[] = $x;
    }
    $endTime = microtime(true);

// Case 6
    $result = array(1,2,3,4,5,6);
    $startTime = microtime(true);
    $array = array(&$result);
    for ($x = 1; $x <= 100000; $x++)
    {
        $array[] = $x;
    }
    $endTime = microtime(true);

// Case 7
    $result = array();
    for ($x = 1; $x <= 100000; $x++)
    {
        $result[] = $x;
    }
    $startTime = microtime(true);
    $array = array(&$result);
    for ($x = 1; $x <= 100000; $x++)
    {
        $array[] = $x;
    }
    $endTime = microtime(true);

Ringkasan. dalam tutorial ini, Anda akan belajar cara menggunakan pernyataan MySQL INSERT tunggal untuk memasukkan beberapa baris ke dalam tabel

MySQL INSERT beberapa baris pernyataan

Untuk menyisipkan banyak baris ke dalam tabel, Anda menggunakan bentuk pernyataan INSERT berikut

INSERT INTO table_name (column_list) VALUES (value_list_1), (value_list_2), ... (value_list_n);

Code language: SQL (Structured Query Language) (sql)

Dalam sintaks ini

  • Pertama, tentukan nama tabel yang ingin Anda sisipkan setelah kata kunci

    SHOW VARIABLES LIKE 'max_allowed_packet';

    Code language: SQL (Structured Query Language) (sql)
    0
  • Kedua, tentukan daftar kolom yang dipisahkan koma di dalam tanda kurung setelah nama tabel
  • Ketiga, tentukan daftar data baris yang dipisahkan koma dalam klausa

    SHOW VARIABLES LIKE 'max_allowed_packet';

    Code language: SQL (Structured Query Language) (sql)
    1. Setiap elemen dari daftar mewakili satu baris. Jumlah nilai di setiap elemen harus sama dengan jumlah kolom di

    SHOW VARIABLES LIKE 'max_allowed_packet';

    Code language: SQL (Structured Query Language) (sql)
    2

MySQL INSERT batas beberapa baris

Secara teori, Anda dapat menyisipkan sejumlah baris menggunakan pernyataan INSERT tunggal. Namun, ketika server MySQL menerima pernyataan INSERT_ yang ukurannya lebih besar dari

SHOW VARIABLES LIKE 'max_allowed_packet';

Code language: SQL (Structured Query Language) (sql)
6, itu akan mengeluarkan kesalahan paket terlalu besar dan memutuskan koneksi

Pernyataan ini menunjukkan nilai saat ini dari variabel

SHOW VARIABLES LIKE 'max_allowed_packet';

Code language: SQL (Structured Query Language) (sql)
6

SHOW VARIABLES LIKE 'max_allowed_packet';

Code language: SQL (Structured Query Language) (sql)
_

Ini adalah output di server database MySQL kami. Perhatikan bahwa nilai di server Anda mungkin berbeda

Bagaimana menambahkan beberapa nilai dalam sebuah tabel di php?
Bagaimana menambahkan beberapa nilai dalam sebuah tabel di php?

Jumlahnya adalah

SHOW VARIABLES LIKE 'max_allowed_packet';

Code language: SQL (Structured Query Language) (sql)
8 kolom adalah jumlah byte

Untuk menetapkan nilai baru untuk variabel

SHOW VARIABLES LIKE 'max_allowed_packet';

Code language: SQL (Structured Query Language) (sql)
_6, Anda menggunakan pernyataan berikut

SET GLOBAL max_allowed_packet=size;

Code language: SQL (Structured Query Language) (sql)
_

di mana

SET GLOBAL max_allowed_packet=size;

Code language: SQL (Structured Query Language) (sql)
0 adalah bilangan bulat yang mewakili jumlah ukuran paket maksimum yang diperbolehkan dalam byte

Perhatikan bahwa

SHOW VARIABLES LIKE 'max_allowed_packet';

Code language: SQL (Structured Query Language) (sql)
_6 tidak berpengaruh pada pernyataan

SET GLOBAL max_allowed_packet=size;

Code language: SQL (Structured Query Language) (sql)
2. Pernyataan

SET GLOBAL max_allowed_packet=size;

Code language: SQL (Structured Query Language) (sql)
3 dapat menyisipkan baris sebanyak yang Anda inginkan

MySQL INSERT beberapa baris contoh

Mari kita ambil contoh penggunaan INSERT beberapa baris pernyataan

Pertama, buat tabel baru bernama

SET GLOBAL max_allowed_packet=size;

Code language: SQL (Structured Query Language) (sql)
_6 untuk demonstrasi

CREATE TABLE projects( project_id INT AUTO_INCREMENT, name VARCHAR(100) NOT NULL, start_date DATE, end_date DATE, PRIMARY KEY(project_id) );

Code language: SQL (Structured Query Language) (sql)

Kedua, gunakan pernyataan INSERT beberapa baris untuk menyisipkan dua baris ke dalam tabel

SET GLOBAL max_allowed_packet=size;

Code language: SQL (Structured Query Language) (sql)
6

INSERT INTO projects(name, start_date, end_date) VALUES ('AI for Marketing','2019-08-01','2019-12-31'), ('ML for Sales','2019-05-15','2019-11-20');

Code language: SQL (Structured Query Language) (sql)

MySQL mengeluarkan pesan berikut

2 row(s) affected

Code language: SQL (Structured Query Language) (sql)

Ini berarti bahwa dua baris berhasil dimasukkan ke dalam tabel

SET GLOBAL max_allowed_packet=size;

Code language: SQL (Structured Query Language) (sql)
6

Perhatikan bahwa ketika Anda memasukkan beberapa baris dan menggunakan fungsi

CREATE TABLE projects( project_id INT AUTO_INCREMENT, name VARCHAR(100) NOT NULL, start_date DATE, end_date DATE, PRIMARY KEY(project_id) );

Code language: SQL (Structured Query Language) (sql)
0 untuk mendapatkan id yang dimasukkan terakhir dari kolom

CREATE TABLE projects( project_id INT AUTO_INCREMENT, name VARCHAR(100) NOT NULL, start_date DATE, end_date DATE, PRIMARY KEY(project_id) );

Code language: SQL (Structured Query Language) (sql)
1, Anda hanya akan mendapatkan id dari baris yang dimasukkan pertama, bukan id dari baris yang dimasukkan terakhir

Ketiga, gunakan pernyataan

CREATE TABLE projects( project_id INT AUTO_INCREMENT, name VARCHAR(100) NOT NULL, start_date DATE, end_date DATE, PRIMARY KEY(project_id) );

Code language: SQL (Structured Query Language) (sql)
_2 berikut untuk memverifikasi sisipan

SELECT * FROM projects;

Code language: SQL (Structured Query Language) (sql)

Gambar ini menunjukkan outputnya

Bagaimana menambahkan beberapa nilai dalam sebuah tabel di php?
Bagaimana menambahkan beberapa nilai dalam sebuah tabel di php?

Dalam tutorial ini, Anda telah mempelajari cara menggunakan pernyataan MySQL INSERT untuk menyisipkan banyak baris ke dalam tabel

Bagaimana cara memasukkan banyak nilai dalam PHP?

PHP MySQL Sisipkan Banyak Catatan .
Contoh (berorientasi Objek MySQLi)
Contoh (Prosedur MySQLi)
Contoh (PDO)

Bagaimana Anda menambahkan beberapa data ke tabel?

permintaan INSERT-SELECT-UNION untuk menyisipkan beberapa catatan . Kueri SQL UNION membantu memilih semua data yang telah dilampirkan oleh kueri SELECT melalui pernyataan INSERT.

Bisakah kita memasukkan beberapa nilai ke tabel sekaligus?

Jawab. Ya, daripada menyisipkan setiap baris dalam pernyataan INSERT yang terpisah, Anda sebenarnya dapat menyisipkan banyak baris dalam satu pernyataan . Untuk melakukannya, Anda dapat mencantumkan nilai untuk setiap baris yang dipisahkan dengan koma, mengikuti klausa VALUES dari pernyataan tersebut.

Bagaimana cara memasukkan banyak nilai dalam satu kolom di MySQL menggunakan PHP?

Sisipkan Beberapa nilai dalam satu Bidang. Untuk Mengambil nilai menggunakan $i=explode(",",$r);