Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Có thể thực hiện sao chép hàng loạt trong mysql không

Bạn có thể chèn nhiều hàng bằng cách sử dụng một câu lệnh SQL như sau:

INSERT INTO myTable (col1, col2, col3) VALUES ('myval1', 'myval2', 'myval3'), ('myotherval1', 'myotherval2', 'myotherval3'), ('anotherval1', 'anotherval2', 'anotherval3');

Cập nhật:

MarkR đã đúng trong nhận xét của anh ấy - nếu bạn đang thu thập dữ liệu từ một người dùng hoặc bạn đang biên dịch thông tin, bạn có thể tạo truy vấn động bằng những thứ như:

StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("INSERT INTO myTable (col1, col2, col3) VALUES ");
for(int i=0;i<myDataCollection.Count;i++) {
  stringBuilder.Append("(" + myDataCollection[i].Col1 + ", " + myDataCollection[i].Col2 + ", " + myDataCollection[i].Col3 + ")");
  if (i<myDataCollection.Count-1) {
    stringBuilder.Append(", ");
  } else {
    stringBuilder.Append(";");
  }
}

string insertStatement = stringBuilder.ToString();

Hai điểm quan trọng cần lưu ý:

  1. Nếu bạn đang chấp nhận thông tin đầu vào từ người dùng, điều này rất quan trọng để khử trùng tất cả các đầu vào của người dùng, nếu không người dùng độc hại có thể sửa đổi / xóa / bỏ toàn bộ cơ sở dữ liệu của bạn. Để biết thêm thông tin, hãy google "Thuốc tiêm SQL".
  2. Tôi đang sử dụng lớp StringBuilder, thay vì sử dụng một chuỗi nguyên thủy và chỉ đơn giản là thêm vào (ví dụ:string s ="Insert ..."; s + ="blah blah blah") vì StringBuilder nhanh hơn trong việc nối thêm, bởi vì nó không được coi là một mảng và do đó không cần phải thay đổi kích thước khi bạn thêm vào nó.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO ::PARAM_INT có thừa không?

  2. cách tạo báo cáo giữa hai ngày bằng cách sử dụng datepicker, ajax, php, mysql.?

  3. Cách kết nối với MySQL bằng Node.js

  4. Làm thế nào để Tránh Khóa thời gian chờ vượt quá ngoại lệ.?

  5. Làm thế nào để hiển thị hàng dưới dạng cột trong MySQL?