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]
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
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 mysql0
Đ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