Chèn nhiều hàng MySQL

Nhiều lần các nhà phát triển hỏi rằng có thể chèn nhiều hàng vào một bảng trong một câu lệnh không. Hiện tại, các nhà phát triển phải viết nhiều câu lệnh chèn khi họ chèn các giá trị vào một bảng. Nó không chỉ nhàm chán mà còn tốn thời gian

Hãy cùng xem một số ví dụ thực tế để hiểu rõ hơn về khái niệm này. Chúng tôi sẽ sử dụng cơ sở dữ liệu MySQL để viết tất cả các truy vấn

ví dụ 1

Để tạo một bảng trong cơ sở dữ liệu, trước tiên, chúng ta cần chọn cơ sở dữ liệu mà chúng ta muốn tạo bảng.

Sau đó, chúng tôi sẽ viết một truy vấn để tạo một bảng có tên sinh viên trong cơ sở dữ liệu đã chọn 'dbs'


Chèn nhiều hàng MySQL

Tạo bảng sinh viên thành công

Bây giờ, chúng ta sẽ viết một truy vấn duy nhất để chèn nhiều bản ghi vào bảng sinh viên


Chèn nhiều hàng MySQL

Để xác minh rằng nhiều bản ghi được chèn vào bảng items_tbl, chúng tôi sẽ thực hiện truy vấn CHỌN

Chèn nhiều hàng trong MySQL với sự trợ giúp của “values”. Bạn có thể đặt các giá trị bằng dấu ngoặc đơn được phân tách bằng dấu phẩy. Cú pháp như sau để chèn nhiều hàng trong MySQL

insert into yourTableName(yourColumnName1,yourColumnName2,..............yourColumnNameN) values(value1,value2,...valueN),(value1,value2,...valueN),(value1,value2,...valueN),...........((value1,value2,...valueN);

Bây giờ, trước tiên chúng ta hãy tạo một bảng trong MySQL -

mysql> create table InsertMultipleRowsDemo
   -> (
   -> Id int,
   -> Name varchar(200),
   -> Age int
   -> );
Query OK, 0 rows affected (0.45 sec)

Áp dụng cú pháp trên để chèn nhiều hàng. Truy vấn như sau -

mysql> insert into InsertMultipleRowsDemo(Id,Name,Age) values(1,'John',23),(2,'Carol',24),(3,'Johnson',21),(4,'Smith',20),(5,'David',26);
Query OK, 5 rows affected (0.31 sec)
Records: 5 Duplicates: 0 Warnings: 0

Hiển thị tất cả các bản ghi với sự trợ giúp của câu lệnh chọn. Truy vấn như sau -

mysql> select *from InsertMultipleRowsDemo;

Sau đây là đầu ra -

+------+---------+------+
| Id   | Name    | Age  |
+------+---------+------+
| 1    | John    | 23   |
| 2    | Carol   | 24   |
| 3    | Johnson | 21   |
| 4    | Smith   | 20   |
| 5    | David   | 26   |
+------+---------+------+
5 rows in set (0.00 sec)

Chèn nhiều bản ghi vào MySQL bằng MySQLi và PDO

Nhiều câu lệnh SQL phải được thực thi với hàm mysqli_multi_query()

Các ví dụ sau đây thêm ba bản ghi mới vào bảng "MyGuests"

Ví dụ (Hướng đối tượng MySQLi)

$servername = "máy chủ cục bộ";
$username = "tên người dùng";
$password = "mật khẩu";
$dbname = "myDB";

// Tạo kết nối
$conn = new mysqli($servername, $username, $password, $dbname);
// Kiểm tra kết nối
if ($conn->connect_error) {
die("Kết nối thất bại. ". $conn->connect_error);
}

$sql = "CHÈN VÀO MyGuests (tên, họ, email)
GIÁ TRỊ ('John', 'Doe', 'john@example. com');";
$sql. = "CHÈN VÀO MyGuests (tên, họ, email)
GIÁ TRỊ ('Mary', 'Moe', 'mary@example. com');";
$sql. = "CHÈN VÀO MyGuests (tên, họ, email)
GIÁ TRỊ ('Julie', 'Dooley', 'julie@example. com')";

if ($conn->multi_query($sql) === TRUE) {
echo "Tạo bản ghi mới thành công";
} khác {
tiếng vang "Lỗi. ". $sql. "
". $conn->lỗi;
}

$conn->đóng();
?>


Lưu ý rằng mỗi câu lệnh SQL phải được phân tách bằng dấu chấm phẩy



Ví dụ (Thủ tục MySQLi)

$servername = "máy chủ cục bộ";
$username = "tên người dùng";
$password = "mật khẩu";
$dbname = "myDB";

// Tạo kết nối
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Kiểm tra kết nối
nếu (. $conn) {
die("Kết nối thất bại. ". mysqli_connect_error());
}

$sql = "CHÈN VÀO MyGuests (tên, họ, email)
GIÁ TRỊ ('John', 'Doe', 'john@example. com');";
$sql. = "CHÈN VÀO MyGuests (tên, họ, email)
GIÁ TRỊ ('Mary', 'Moe', 'mary@example. com');";
$sql. = "CHÈN VÀO MyGuests (tên, họ, email)
GIÁ TRỊ ('Julie', 'Dooley', 'julie@example. com')";

nếu (mysqli_multi_query($conn, $sql)) {
echo "Tạo bản ghi mới thành công";
} khác {
tiếng vang "Lỗi. ". $sql. "
". mysqli_error($conn);
}

mysqli_close($conn);
?>


Cách PDO hơi khác một chút

Ví dụ (PDO)

$servername = "máy chủ cục bộ";
$username = "tên người dùng";
$password = "mật khẩu";
$dbname = "myDBPDO";

cố gắng {
$conn = PDO mới("mysql. máy chủ=$servername;dbname=$dbname", $username, $password);
// đặt chế độ lỗi PDO thành ngoại lệ
$conn->setAttribute(PDO. ATTR_ERRMODE, PDO. ERRMODE_EXCEPTION);

// bắt đầu giao dịch
$conn->startTransaction();
// các câu lệnh SQL của chúng ta
$conn->exec("CHÈN VÀO MyGuests (tên, họ, email)
GIÁ TRỊ ('John', 'Doe', 'john@example. com')");
$conn->exec("CHÈN VÀO MyGuests (tên, họ, email)
GIÁ TRỊ ('Mary', 'Moe', 'mary@example. com')");
$conn->exec("CHÈN VÀO MyGuests (tên, họ, email)
GIÁ TRỊ ('Julie', 'Dooley', 'julie@example. com')");

// cam kết giao dịch
$conn->cam kết();
echo "Tạo bản ghi mới thành công";
} bắt(PDOException $e) {
// khôi phục giao dịch nếu có gì đó không thành công
$conn->rollback();
tiếng vang "Lỗi. ". $e->getMessage();
}

$conn = null;
?>


Làm cách nào để thêm nhiều hàng cùng một lúc trong MySQL?

MySQL Chèn nhiều hàng .
Đầu tiên, chỉ định tên của bảng mà bạn muốn chèn sau từ khóa INSERT INTO
Thứ hai, chỉ định danh sách cột được phân tách bằng dấu phẩy bên trong dấu ngoặc đơn sau tên bảng
Thứ ba, chỉ định danh sách dữ liệu hàng được phân tách bằng dấu phẩy trong mệnh đề GIÁ TRỊ. Mỗi phần tử của danh sách đại diện cho một hàng

Bạn có thể chèn nhiều hàng trong SQL cùng một lúc không?

Truy vấn INSERT-SELECT-UNION để chèn nhiều bản ghi . Truy vấn SQL UNION giúp chọn tất cả dữ liệu đã được bao quanh bởi truy vấn SELECT thông qua câu lệnh INSERT.

Làm cách nào tôi có thể chèn hơn 1000 hàng vào MySQL?

Bạn có thể dễ dàng thay đổi giới hạn này bằng cách truy cập MySQL Workbench >> Chỉnh sửa >> Tùy chọn >> tab Truy vấn SQL. Ở đây, bạn sẽ có tùy chọn Giới hạn hàng. Bạn có thể đặt giá trị này thành giá trị rất cao hoặc bỏ chọn tùy chọn này . Khi bạn bỏ chọn tùy chọn đó, nó sẽ truy xuất tất cả các hàng từ một truy vấn (tương đương với không giới hạn).

Làm cách nào để chèn 100 hàng trong SQL?

Để cộng các hàng, người dùng cần sử dụng câu lệnh chèn. .
cú pháp
Ví dụ – Một bảng có tên sinh viên phải được chèn các giá trị vào đó. Nó phải được thực hiện như sau
Đầu ra –
Đầu ra –
chèn nhiều hàng. Một bảng có thể lưu trữ tối đa 1000 hàng trong một câu lệnh chèn. .
cú pháp
Ví dụ – Xét một học sinh ngồi bàn. .
Đầu ra –