Chèn vào 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 Show
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' 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 Để 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úng ta có thể sử dụng câu lệnh SQL 7 để chèn một hàng vào bảng. Chúng ta cũng có thể sử dụng nó để chèn nhiều hàngDưới đây là bảy cách để chèn nhiều hàng vào một bảng trong SQL. Hầu hết các ví dụ này sẽ hoạt động trong các RDBMS chính, có thể ngoại trừ Oracle. Nhưng đừng lo, tôi đã bao gồm một ví dụ dành riêng cho Oracle Sử dụng nhiều câu lệnh INSERT INTO Pets (PetId, PetTypeId, OwnerId, PetName, DOB) VALUES (1, 2, 3, 'Fluffy', '2020-11-20'), (2, 3, 3, 'Fetch', '2019-08-16'), (3, 2, 2, 'Scratch', '2018-10-01');7Một cách để chèn nhiều hàng là sử dụng câu lệnh 7 riêng cho mỗi hàng
Ở đây, chúng tôi đã chèn ba hàng vào một bảng có tên là 0. Mỗi hàng có câu lệnh 7 riêngCung cấp Tất cả Dữ liệu trong Điều khoản INSERT INTO Pets (PetId, PetTypeId, OwnerId, PetName, DOB) VALUES (1, 2, 3, 'Fluffy', '2020-11-20'), (2, 3, 3, 'Fetch', '2019-08-16'), (3, 2, 2, 'Scratch', '2018-10-01');2Trong hầu hết các RDBMS chính (ngoại trừ Oracle), chúng ta có thể truyền dữ liệu cho nhiều hàng trong một mệnh đề 2
Ở đây, chúng tôi đã sử dụng một câu lệnh 7 duy nhất, với dữ liệu của mỗi hàng được phân tách bằng dấu phẩyNối các hàng với các câu lệnh INSERT INTO Pets (PetId, PetTypeId, OwnerId, PetName, DOB) VALUES (1, 2, 3, 'Fluffy', '2020-11-20'), (2, 3, 3, 'Fetch', '2019-08-16'), (3, 2, 2, 'Scratch', '2018-10-01');5 và toán tử INSERT INTO Pets (PetId, PetTypeId, OwnerId, PetName, DOB) VALUES (1, 2, 3, 'Fluffy', '2020-11-20'), (2, 3, 3, 'Fetch', '2019-08-16'), (3, 2, 2, 'Scratch', '2018-10-01');6Nếu DBMS của bạn không hỗ trợ phương pháp trên để chèn nhiều hàng trong một câu lệnh 7, hãy thử phương pháp này
Ở đây, chúng tôi đang chọn từng hàng bằng câu lệnh 8, sau đó sử dụng toán tử 6 để nối hàng đó với hàng tiếp theoChèn nhiều hàng trong OracleCác ví dụ về câu lệnh đơn- 7 ở trên sẽ không hoạt động với Cơ sở dữ liệu Oracle (ít nhất, không phải tại thời điểm viết). Chúng tôi vẫn có thể sử dụng nhiều câu lệnh 7 để chèn nhiều hàng trong Oracle, nhưng nếu chúng tôi muốn thực hiện điều đó trong một câu lệnh 7 duy nhất, chúng tôi sẽ cần sử dụng một cú pháp khácĐây là một ví dụ về việc chèn nhiều hàng trong Oracle 0Đây chỉ là một trong ít nhất bốn cách chúng ta có thể chèn nhiều hàng trong Oracle Sử dụng Tuyên bố INSERT INTO Pets ( PetId, PetTypeId, OwnerId, PetName, DOB ) SELECT 1, 2, 3, 'Fluffy', '2020-11-20' UNION ALL SELECT 2, 3, 3, 'Fetch', '2019-08-16' UNION ALL SELECT 3, 2, 2, 'Scratch', '2018-10-01';3Chúng ta có thể sử dụng câu lệnh 4 để chèn kết quả của một truy vấn vào một bảng mới 3Thao tác này tạo một bảng mới có tên là 5 (có cùng định nghĩa với 6) và chèn kết quả truy vấn vào đóTiêu chuẩn SQL yêu cầu dấu ngoặc đơn xung quanh mệnh đề truy vấn phụ, nhưng chúng có thể là tùy chọn trong DBMS của bạn (ví dụ: PostgreSQL) Sử dụng Tuyên bố INSERT INTO Pets ( PetId, PetTypeId, OwnerId, PetName, DOB ) SELECT 1, 2, 3, 'Fluffy', '2020-11-20' UNION ALL SELECT 2, 3, 3, 'Fetch', '2019-08-16' UNION ALL SELECT 3, 2, 2, 'Scratch', '2018-10-01';7Trong các DBMS như SQL Server và PostgreSQL, chúng tôi có tùy chọn sử dụng câu lệnh 7 thay cho câu lệnh 4 9Ví dụ này thực hiện tương tự như ví dụ trước – nó tạo một bảng mới có tên là 5 và chèn nội dung của 6 vào đóMariaDB hỗ trợ cú pháp này, nhưng nó chèn tập kết quả vào một biến. Trong Oracle, nó gán các giá trị đã chọn cho các biến hoặc bộ sưu tập. MySQL và SQLite hoàn toàn không hỗ trợ câu lệnh 7Sử dụng Tuyên bố INSERT INTO Pets (PetId, PetTypeId, OwnerId, PetName, DOB) VALUES (1, 2, 3, 'Fluffy', '2020-11-20'), (2, 3, 3, 'Fetch', '2019-08-16'), (3, 2, 2, 'Scratch', '2018-10-01');03Một cách khác để chèn nhiều hàng vào một bảng từ truy vấn là sử dụng câu lệnh 03 5Tuy nhiên, phương pháp này yêu cầu bảng đã tồn tại. Do đó, trước khi chạy đoạn mã đó, chúng ta cần tạo bảng 5 trước
Bạn có thể chèn vào nhiều hàng trong SQL 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 để chèn nhiều dữ liệu vào một bảng trong MySQL?Chèn nhiều hàng trong MySQL với sự trợ giúp của “giá trị”. Bạn có thể đặt các giá trị trong dấu ngoặc đơn và phân tách bằng dấu phẩy .
Làm cách nào để chèn hàng loạt bản ghi trong MySQL?Cú pháp chèn dữ liệu hàng loạt vào MySQL . Nhập mệnh đề INSERT INTO và tên bảng mà bạn muốn chèn dữ liệu vào Sử dụng mệnh đề GIÁ TRỊ và sau đó ghi dữ liệu của hàng đầu tiên vào trong ngoặc, đóng ngoặc và sau dấu phẩy Làm cách nào để chèn 10000 bản ghi trong MySQL?Điều này sẽ làm điều đó trong một câu lệnh SQL. $sql=" CHÈN VÀO wp_usermeta ('user_id', 'meta_key', 'meta_value') GIÁ TRỊ "; |