Nút sẽ không tăng hiệu suất ứng dụng của bạn một cách kỳ diệu. Nó không được thiết kế cho mục đích đó. Có, nếu bạn có cơ sở dữ liệu MySQL hiện có mà bạn cần tương tác, đầy mã kế thừa, nó sẽ hoạt động tốt để chuyển đổi sang Node. Mặt khác, không, sử dụng đi văng/mongo/Redis/riak/Cassandra/etc
Chia sẻ qua
Chia sẻ trên TwitterChia sẻ trên FacebookChia sẻ trên node connect.js
Connected to the MySQL server Dưới đây là các khía cạnh khác nhau của Chèn bảng MySQL của Nodejs Trước khi chuyển sang phần chèn Bảng MySQL của Nodejs, trước tiên bạn cần kết nối với Cơ sở dữ liệu MySQL. Đối với điều này, bạn có thể sử dụng lại cấu hình. js chứa thông tin Cơ sở dữ liệu MySQL. Đây là những gì cấu hình. tập lệnh js trông giống như Điều này cho thấy rằng hàng đã được thêm thành công vào bảng của bạn
Bây giờ, nếu cơ sở dữ liệu todoapps không còn tồn tại trong máy chủ cơ sở dữ liệu của bạn và bạn vẫn cố gắng liên kết với nó, thì đây là thông báo lỗi mà bạn sẽ nhận được. > node connect.js
error: ER_BAD_DB_ERROR: Unknown database 'todoapps'
Tích hợp MySQL của Nodejs. Đóng kết nối cơ sở dữ liệu
Đây là đoạn mã cho cùng. connection.end[function[err] {
if [err] {
return console.log['error:' + err.message];
}
console.log['Close the database connection.'];
}];
________số 8
Đây là đoạn mã mô tả cách bạn có thể tận dụng phương thức destroy[]. Tích hợp MySQL của Nodejs. Kết nối hồ bơi
var pool = mysql.createPool[{
connectionLimit: 7,
host: 'localhost',
user: 'root',
password: '',
database: 'todoapp'
}];
0CREATE DATABASE todoapp;
Đây là đoạn mã cho cùng.
1CREATE DATABASE todoapp;
Một điểm quan trọng cần lưu ý ở đây là nhóm kết nối tạo các kết nối này một cách lười biếng. Chẳng hạn, nếu bạn định cấu hình nhóm kết nối có 7 kết nối nhưng bạn chỉ sử dụng 3 kết nối song song, thì nhóm chỉ tạo 3 kết nối cho bạn. Nếu bạn muốn đóng tất cả các kết nối trong nhóm, bạn có thể sử dụng phương thức end[] của đối tượng nhóm như được đề cập trong lệnh bên dưới.
2CREATE DATABASE todoapp;
Cách tạo bảng MySQL bằng nút. js?
3CREATE DATABASE todoapp;
Đây là đoạn mã cho cùng.
4CREATE DATABASE todoapp;
5CREATE DATABASE todoapp;
Cách chèn dữ liệu vào bảng MySQL bằng nút. js?
6CREATE DATABASE todoapp;
Chèn bảng MySQL của Nodejs. Chèn một hàng dữ liệu vào bảng MySQL
7CREATE DATABASE todoapp;
8CREATE DATABASE todoapp;
9CREATE DATABASE todoapp;
Chèn bảng MySQL của Nodejs. Chèn nhiều hàng trong bảng MySQL
- Bước 1. Bạn có thể sử dụng đoạn mã được đề cập bên dưới để chèn nhiều hàng vào bảng todos của mình
let mysql = require['mysql'];
0- Bước 2. Một điểm cần lưu ý ở đây là bạn chỉ sử dụng một dấu chấm hỏi [?] trong câu lệnh INSERT. Ngoài ra, dữ liệu nhiều hàng là một mảng các mảng.
Bạn cũng có thể lấy số lượng hàng mà bạn đã chèn bằng cách tận dụng thuộc tính 'afferedRows' trong đối tượng kết quả.
Đây là đoạn mã cho cùng.
let mysql = require['mysql'];
1Điều này cho thấy rằng 2 hàng đã được chèn thành công trong bảng MySQL của bạn
Cách truy vấn cơ sở dữ liệu MySQL bằng nút. js?
Dưới đây là các phương pháp khác nhau mà bạn có thể sử dụng để Truy vấn MySQL của Nodejs
- Truy vấn MySQL của Nodejs. Truy vấn SQL đơn giản
- Truy vấn MySQL của Nodejs. Tránh SQL injection
Truy vấn MySQL của Nodejs. Truy vấn SQL đơn giản
- Bước 1. Trong đoạn mã này, bạn sẽ chọn tất cả dữ liệu từ bảng todos trong cơ sở dữ liệu todoapp
let mysql = require['mysql'];
2- Bước 2. Sau khi thực hiện câu lệnh đã nói ở trên, bạn có thể chạy lệnh sau
let mysql = require['mysql'];
3Câu lệnh này sẽ trả về 4 hàng, như mong đợi từ nó
- Bước 3. Bạn thậm chí có thể chuyển dữ liệu vào truy vấn bằng cách thực hiện chương trình sau chỉ chọn những việc cần làm đã hoàn thành
let mysql = require['mysql'];
4- Bước 4. Trong ví dụ này, bạn đã sử dụng dấu chấm hỏi làm giá trị giữ chỗ của trường đã hoàn thành. Khi bạn gọi phương thức query[], bạn đã chuyển một mảng làm đối số thứ hai. Trình giữ chỗ sau đó sẽ được thay thế bằng các giá trị của mảng theo thứ tự như sau
let mysql = require['mysql'];
5Truy vấn này trả về 2 hàng cùng với cột đã hoàn thành và giá trị 1. Giá trị này phản ánh đúng trong Node. js
Truy vấn MySQL của Nodejs. Tránh SQL injection
- Bước 1. Giả sử, nếu bạn muốn truy vấn một việc cần làm trên cơ sở id của nó bắt nguồn từ đối số trong dòng lệnh, bạn có thể thực thi đoạn mã sau
let mysql = require['mysql'];
6- Bước 2. Bây giờ, giả sử nếu bạn muốn chọn việc cần làm với id 1, bạn có thể sử dụng lệnh sau
let mysql = require['mysql'];
7- Bước 3. Tuyên bố thực hiện chính xác. Mặc dù vậy, vẫn còn một vấn đề còn tồn đọng mà người dùng đáng ngờ có thể cố gắng khai thác chương trình bằng cách cung cấp Mã SQL trong đối số.
Để tránh SQL injection này, bạn có thể tận dụng placeholder [?] như minh họa trong ví dụ trước bước này hoặc bạn có thể tận dụng phương thức escape[] của kết nối hoặc đối tượng mysql như sau.
let mysql = require['mysql'];
8Cách sửa đổi bảng MySQL bằng nút. js?
- Bước 1. Bạn có thể sử dụng đoạn mã sau để cập nhật trạng thái của việc cần làm trên cơ sở id được chỉ định
let mysql = require['mysql'];
9- Bước 2. Trong ví dụ này, bạn đã tận dụng các trình giữ chỗ trong câu lệnh CẬP NHẬT. Bây giờ, khi bạn thực thi câu lệnh UPDATE bằng cách gọi phương thức query[] trên đối tượng kết nối, bạn cũng chuyển dữ liệu tới câu lệnh UPDATE dưới dạng một mảng.
Các phần giữ chỗ sẽ được thay thế bằng các giá trị trong mảng dữ liệu theo thứ tự đã chỉ định. Trong trường hợp này, Complete sẽ được đặt thành false và id sẽ được đặt thành 1. Đối số results của hàm gọi lại bao gồm thuộc tính 'afferedRows' mô tả số lượng hàng được cập nhật bởi câu lệnh UPDATE.
- Bước 3. Tuy nhiên trước khi thực hiện chương trình bạn cần kiểm tra hàng có id 1 trong bảng todos như sau
let connection = mysql.createConnection[{
host: 'localhost',
user: 'root',
password: '',
database: 'todoapp'
}];
0- Bước 4. Bây giờ, khi chạy đoạn mã trong bước đầu tiên, bạn sẽ nhận được kết quả sau
let connection = mysql.createConnection[{
host: 'localhost',
user: 'root',
password: '',
database: 'todoapp'
}];
1- Bước 5. Chương trình này mô tả một thông báo cho bạn biết rằng số hàng bị ảnh hưởng là 1. Bạn cũng có thể kiểm tra nó trong cơ sở dữ liệu bằng đoạn mã sau
let connection = mysql.createConnection[{
host: 'localhost',
user: 'root',
password: '',
database: 'todoapp'
}];
2Bạn có thể thấy rõ rằng giá trị trong cột đã hoàn thành đã được hoán đổi thành 0, viết tắt của false bên trong Node. js
Cách xóa dữ liệu khỏi bảng MySQL bằng nút. js?
- Bước 1. Trong lần xóa này. js, bạn sẽ xóa một hàng trong bảng todos trên cơ sở id của hàng
let connection = mysql.createConnection[{
host: 'localhost',
user: 'root',
password: '',
database: 'todoapp'
}];
3- Bước 2. Đối với ví dụ này, bạn đã tận dụng một trình giữ chỗ trong câu lệnh DELETE. Khi bạn gọi phương thức query[] trên đối tượng kết nối để thực hiện câu lệnh, bạn đã gửi dữ liệu tới câu lệnh DELETE làm đối số thứ hai. Trình giữ chỗ sẽ được hoán đổi bởi giá trị đầu vào, vì vậy id sẽ nhận giá trị 1 khi thực hiện truy vấn như sau
let connection = mysql.createConnection[{
host: 'localhost',
user: 'root',
password: '',
database: 'todoapp'
}];
4- Bước 3. Một điểm cần lưu ý ở đây là nếu bạn có nhiều trình giữ chỗ, bạn sẽ phải chuyển một mảng tới truy vấn để gửi dữ liệu tới câu lệnh SQL. Bây giờ, để lấy số lượng hàng đã bị xóa, bạn có thể lấy thuộc tínhaffedRows của đối số results. Tuy nhiên, trước khi thực hiện chương trình, hãy kiểm tra hàng có id 1 trong bảng todos
let connection = mysql.createConnection[{
host: 'localhost',
user: 'root',
password: '',
database: 'todoapp'
}];
5- Bước 4. Trong lệnh đã nói ở trên, số hàng đã xóa là 1. Bạn thậm chí có thể xác minh nó trong cơ sở dữ liệu bằng cách sử dụng câu lệnh CHỌN như hình bên dưới
let connection = mysql.createConnection[{
host: 'localhost',
user: 'root',
password: '',
database: 'todoapp'
}];
6Điều này mô tả rằng hàng có id 1 đã bị xóa khỏi bảng todos
Thưởng. Gọi/Chạy thủ tục lưu trữ MySQL bằng nút. js
- Bước 1. Đối với quá trình này, trước tiên bạn sẽ tạo thủ tục lưu sẵn filterTodo để truy vấn các hàng từ bảng việc cần làm trên cơ sở giá trị thu được từ trường đã hoàn thành như sau
let connection = mysql.createConnection[{
host: 'localhost',
user: 'root',
password: '',
database: 'todoapp'
}];
7- Bước 2. Thủ tục được lưu trữ được tạo ở trên sẽ trả về các hàng trong bảng todos trên cơ sở đối số done. Vì vậy, nếu đối số done là true, câu lệnh sẽ trả về tất cả các todo đã hoàn thành. Nếu đối số done là sai, câu lệnh này sẽ trả về tất cả các việc cần làm chưa hoàn thành
- Bước 3. Kiến thức phổ biến là bạn có thể gọi một thủ tục được lưu trữ trong MySQL bằng cách tận dụng câu lệnh CALL. Chẳng hạn, nếu bạn muốn gọi thủ tục được lưu trữ 'filterTodo', bạn có thể thực hiện đoạn mã sau
let connection = mysql.createConnection[{
host: 'localhost',
user: 'root',
password: '',
database: 'todoapp'
}];
8- Bước 4. Câu lệnh nói trên sẽ trả về tập kết quả sau
let connection = mysql.createConnection[{
host: 'localhost',
user: 'root',
password: '',
database: 'todoapp'
}];
9- Bước 5. Proc được lưu trữ. js được đề cập bên dưới gọi thủ tục được lưu trữ 'filterTodo' và trả lại cho bạn tập kết quả
connection.connect[function[err] {
if [err] {
return console.error['error: ' + err.message];
}
console.log['Connected to the MySQL server.'];
}];
0- Bước 6. Chương trình sử dụng cấu hình. js như đã đề cập trong các bước nêu trên. Trong câu lệnh CALL, bạn tận dụng trình giữ chỗ để di chuyển dữ liệu sang thủ tục được lưu trữ.
Khi bạn gọi phương thức query[] trên đối tượng kết nối, bạn di chuyển giá trị của đối số done thành đối số thứ hai của phương thức query[]. Bây giờ, nếu bạn chạy storedproc. js, đây là kết quả sẽ như thế nào.
connection.connect[function[err] {
if [err] {
return console.error['error: ' + err.message];
}
console.log['Connected to the MySQL server.'];
}];
1Đúng như dự đoán, chương trình mô tả một hàng đơn độc
Sự kết luận
Blog này thảo luận về các bước liên quan đến Tích hợp MySQL JS sau phần giới thiệu ngắn gọn về các lợi ích và tính năng nổi bật của MySQL và Nodejs. Nó cũng bao gồm các chủ đề như xóa, tạo, truy vấn, chạy Bảng MySQL với sự trợ giúp của Nodejs
Trích xuất dữ liệu phức tạp từ một tập hợp nguồn dữ liệu đa dạng để thực hiện phân tích sâu sắc có thể là một thách thức và đây là lúc Hevo tiết kiệm thời gian. Hevo cung cấp một cách nhanh hơn để di chuyển dữ liệu từ Cơ sở dữ liệu hoặc ứng dụng SaaS như MySQL vào Kho dữ liệu của bạn để được hiển thị trong công cụ BI. Hevo hoàn toàn tự động và do đó không yêu cầu bạn viết mã
HÃY THAM QUAN TRANG WEB CỦA CHÚNG TÔI ĐỂ KHÁM PHÁ HEVOBạn muốn thử Hevo?
ĐĂNG KÝ và tận tay trải nghiệm bộ Hevo giàu tính năng. Bạn cũng có thể xem giá cạnh tranh nhất sẽ giúp bạn chọn gói phù hợp cho nhu cầu kinh doanh của mình