Mysql chèn nhiều hàng từ mảng nodejs

Một số trường hợp chúng tôi nhận được yêu cầu chèn dữ liệu hàng loạt vào cơ sở dữ liệu MySQL. Đó là một quá trình đơn giản. Trong hướng dẫn này, chúng ta sẽ tìm hiểu về cách xử lý nhiều hàng hoặc nhiều mảng khi chèn dữ liệu. Dưới đây là các bước hướng dẫn lưu trữ mục tiêu

 

Điều kiện tiên quyết và thiết lập

Nút J. Nó nên được cài đặt trong hệ thống của bạn

Dưới đây là các quy trình để thiết lập dự án,

1. Tạo thư mục dự án (ở đây là “thao tác chèn hàng loạt mysql”)

2. Điều hướng đến thư mục bằng dòng lệnh (cmd)

Mysql chèn nhiều hàng từ mảng nodejs

3. Gõ “npm init” và nhấn enter. Nó sẽ tạo gói. json cho dự án.
[pullquote-right] “gói. json chứa tất cả thông tin siêu dữ liệu cần thiết cho dự án. ” [/pullquote-right]

\mysql-bulkinsert-opration> npm init

4. Cung cấp chi tiết đã hỏi và nhập có. Bây giờ bạn đã sẵn sàng với gói. json

Dưới đây là cấu trúc dự án

Mysql chèn nhiều hàng từ mảng nodejs

Khi chúng tôi đang thực hiện thao tác cơ sở dữ liệu MySql, chúng tôi cần có mô-đun mysql

5. Cài đặt gói mysql npm bằng lệnh bên dưới. Nó sẽ thêm vào gói của bạn. phụ thuộc json là tốt

npm install --save mysql

bưu kiện. json sẽ xuất hiện như bên dưới,

{
  "name": "mysql-bulkinsert-opration",
  "version": "1.0.0",
  "main": "server.js",
  "dependencies": {
    "mysql": "^2.15.0"
  },
  "devDependencies": {},
  "scripts": {
    "start": "node server"
  },
  "author": "",
  "license": "ISC",
  "description": "bulk insert into MySql DB"
}

Kết nối với cơ sở dữ liệu MySql

Ở đây chúng tôi đang sử dụng mô-đun mysql để kết nối với cơ sở dữ liệu. Đoạn mã dưới đây sẽ hướng dẫn kết nối thành công với cơ sở dữ liệu và trả lại thao tác kết nối cho thao tác tiếp theo

Chúng ta cần mô-đun mysql bằng cách sử dụng câu lệnh "require('mysql')". Sau đó, chúng tôi cần cung cấp thông tin như máy chủ, cổng, mật khẩu và cơ sở dữ liệu để tạo đối tượng kết nối. Chúng tôi đang sử dụng phương thức “createPool” của mysql để kết nối liên tục với cơ sở dữ liệu. “getConnection” để thiết lập kết nối tới cơ sở dữ liệu

var mysql = require('mysql');

 //create a connection pool for persitant connection
var connection = mysql.createPool({
    host: 'localhost',
    user: 'root',
    password: '',
    database: 'tda_db',
    debug: false,
});
 
// establish connection to DB
connection.getConnection((err,connect)=>{
    if(err)
    console.log('not able to connect. Error occured while connecting')
    console.log('connection established')
})

//export the connection object
module.exports=connection;

Hoạt động cơ sở dữ liệu

Trong phần này, chúng ta sẽ tạo một bảng tên là “person”. Khi mã chạy, nó sẽ kiểm tra trong cơ sở dữ liệu, nếu bảng tồn tại hay không. Nếu nó không có mặt, nó sẽ tạo ra

Chúng tôi sẽ tạo một mảng các giá trị sẽ được sử dụng làm giá trị giữ chỗ. Bạn có thể đọc thêm về nó bằng cách nhấp vào đây. Dưới đây là định dạng

Nếu bạn đang tìm cách xử lý hàng loạt dữ liệu của mình vào MySQL bằng các thao tác hàng loạt, thì bài đăng này là dành cho bạn. Đây là phần tiếp theo của bài viết trước của tôi, trong đó chúng ta đã học cách cài đặt nút, MySQL, sau đó kết nối và truy vấn cơ sở dữ liệu MYSQL bằng Node. Đối với hướng dẫn này, bạn sẽ cần cài đặt sẵn nút và MySQL trên máy của mình. Vì vậy, hãy bắt đầu với các hoạt động hàng loạt của chúng tôi

Đầu tiên, chúng ta cần kết nối với cơ sở dữ liệu MySQL của mình

const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'user',
password: 'password',
database: 'database name'
});
connection.connect((err) => {
if (err) throw err;
console.log('Connected!');
});

Khi chúng tôi được kết nối với cơ sở dữ liệu của mình, chúng tôi có thể bắt đầu truy vấn nó. Chúng ta đã thấy cách thực hiện các truy vấn đơn giản trên cơ sở dữ liệu của mình trong bài đăng trước, bây giờ hãy chuyển sang thao tác hàng loạt

Để thực hiện các hoạt động hàng loạt, điều đầu tiên chúng ta cần là dữ liệu hàng loạt. Vì vậy, bạn có thể lưu trữ dữ liệu của mình trong tệp CSV, mảng, JSON, từ điển, v.v. Việc chúng ta cần làm là đưa dữ liệu đó xuống dạng mảng. Khi bạn có dữ liệu của mình ở định dạng mảng, bạn chỉ cần tiếp tục với các truy vấn đơn giản của mình nhưng với một chút thay đổi. Chúng ta hãy xem xét một thao tác chèn đơn giản, truy vấn sẽ như thế nào

let sql="INSERT INTO `table_name` (col1,col2,col3) VALUES (value1,value2value3);";
conn.query(sql, (err,rows) => {
if(err) throw err;
console.log(rows);

Để thực hiện truy vấn duy nhất này, tất cả những gì chúng tôi cần là một mảng các mảng sẽ có các mục nhập của bạn

values=[
[value1,value2,value3],
[value1,value2,value3],
[value1,value2,value3]
]

Mỗi mảng trong 'giá trị' của mảng cha sẽ là một hàng trong bảng. Đảm bảo rằng mảng con có cùng số lượng giá trị mà bạn đã đề cập trong phần cột

Ghi chú. Không bao gồm bất kỳ cột nào mà bạn đã đặt giá trị của chúng làm giá trị mặc định hoặc tự động tăng vì nó sẽ được cơ sở dữ liệu SQL xử lý. Ngoài ra, không đề cập đến chúng trong phần cột vì nó sẽ không có giá trị tương ứng trong mảng giá trị

Khi bạn đã tạo mảng gồm các mảng của mình, bạn cần đưa nó vào truy vấn SQL của mình và đây là cách chúng tôi thực hiện

var sql = "INSERT INTO `table_name` (name, email, n) VALUES ?";
conn.query(sql, [values], function(err) {
if (err) throw err;
conn.end();
});

Truy vấn trên sẽ được giải thích như thế này bởi SQL

________số 8

Đó là chính xác những gì chúng tôi muốn

Tương tự, chúng ta có thể thực hiện các thao tác khác như cập nhật hoặc xóa bằng cùng một phương pháp

Nếu muốn xóa nhiều bản ghi, chúng ta sẽ cần một mảng gồm tất cả các khóa chính của mỗi hàng mà chúng ta muốn xóa

keys=[1,2,3,4,5]

Khi chúng ta có mảng, chúng ta làm theo quy trình tương tự

npm install --save mysql
0

Điều này sẽ dẫn đến việc xóa tất cả các hàng có khóa chính phù hợp khỏi bảng

Đó là tất cả cho bài viết này. Tôi hy vọng nó sẽ giúp ích cho tất cả những ai đang gặp khó khăn với NodeJs và MySQL. Vui lòng để lại nhận xét của bạn bên dưới về cách tôi có thể làm cho bài đăng này tốt hơn và đồng thời, vui lòng liên hệ nếu bạn muốn khám phá thêm trong lĩnh vực này. Cảm ơn bạn đã đọc

Làm cách nào để chèn nhiều hàng trong MySQL bằng nút js?

var mysql = require('node-mysql'); . tạo kết nối ({. }); . params"; var giá trị = [ ['demian', 'demian@gmail. com', 1], ['john', 'john@gmail. com', 2], ['mark', 'mark@gmail. com', 3], ['pete', 'pete@gmail. com', 4] ];

Làm cách nào để chèn dữ liệu vào MySQL bằng nodejs?

Câu lệnh INSERT INTO được sử dụng để chèn các bản ghi trong MySQL. .
var mysql = yêu cầu('mysql');
var con = mysql. tạo kết nối ({
chủ nhà. "máy chủ cục bộ",
người dùng. "nguồn gốc",
mật khẩu mở khóa. "12345",
cơ sở dữ liệu. "javatpoint"
lừa đảo. kết nối (chức năng (err) {

Làm cách nào để chèn dữ liệu động trong MySQL bằng nút js?

Cách chèn dữ liệu biểu mẫu vào bảng bằng nút. .
Cài đặt ứng dụng Express
Tạo bảng & cơ sở dữ liệu MySQL
Kết nối nút. js vào cơ sở dữ liệu MySQL
Tạo một biểu mẫu HTML
Tạo các tuyến để chèn dữ liệu
Tải tuyến đường vào tệp gốc
Chạy nút. Ứng dụng js để chèn dữ liệu

Làm cách nào để chèn số lượng lớn vào 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