+755 votes
,post bởi (2.6k điểm)

Tóm tắt : trong hướng dẫn này, bạn sẽ học cách cập nhật dữ liệu trong cơ sở dữ liệu MySQL từ ứng dụng node.js.

Để cập nhật dữ liệu từ ứng dụng node.js, bạn làm theo các bước sau:

  1. Kết nối với máy chủ cơ sở dữ liệu MySQL .
  2. Thực thi một UPDATE câu lệnh bằng cách gọi query()phương thức trên một Connectionđối tượng.
  3. Đóng kết nối cơ sở dữ liệu.

Để kết nối với cơ sở dữ liệu MySQL, chúng tôi sẽ sử dụng config.jsmô-đun sau chứa thông tin cần thiết của máy chủ cơ sở dữ liệu MySQL bao gồm máy chủ, người dùng, mật khẩu và cơ sở dữ liệu.

let config = { host : 'localhost', user : 'root', password: '', database: 'todoapp' }; module.exports = config;

Ngôn ngữ mã: JavaScript ( javascript )

Cập nhật dữ liệu ví dụ

Chương trình sau update.jscập nhật trạng thái của một việc cần làm dựa trên một id cụ thể.

let mysql = require('mysql'); let config = require('./config.js'); let connection = mysql.createConnection(config); // update statment let sql = `UPDATE todos SET completed = ? WHERE id = ?`; let data = [false, 1]; // execute the UPDATE statement connection.query(sql, data, (error, results, fields) => { if (error){ return console.error(error.message); } console.log('Rows affected:', results.affectedRows); }); connection.end();

Ngôn ngữ mã: JavaScript ( javascript )

Trong ví dụ này, chúng tôi đã sử dụng phần giữ chỗ (?) trong UPDATEcâu lệnh.

Khi chúng tôi thực thi UPDATEcâu lệnh bằng cách gọi query()phương thức trên đối tượng kết nối, chúng tôi đã chuyển dữ liệu tới UPDATEcâu lệnh dưới dạng một mảng. Các trình giữ chỗ sẽ được thay thế bằng các giá trị trong mảng dữ liệu theo thứ tự. Trong ví dụ này, completedsẽ được đặt thành falsevà idsẽ được đặt thành 1.

Đối số results của hàm gọi lại có thuộc affectedRowstính trả về số hàng được UPDATEcâu lệnh cập nhật.

Trước khi thực hiện chương trình, hãy kiểm tra hàng có id 1 trong todosbảng:

mysql> SELECT * FROM todos WHERE id = 1; +----+-------------------------------+-----------+ | id | title | completed | +----+-------------------------------+-----------+ | 1 | Learn how to insert a new row | 1 | +----+-------------------------------+-----------+ 1 row in set (0.00 sec)

Ngôn ngữ mã: JavaScript ( javascript )

Hãy chạy update.jschương trình.

>node update.js Rows affected: 1

Ngôn ngữ mã: JavaScript ( javascript )

Chương trình trả về thông báo cho biết số hàng bị ảnh hưởng là 1. Ta có thể kiểm tra lại trong cơ sở dữ liệu như sau:

mysql> SELECT * FROM todos WHERE id = 1; +----+-------------------------------+-----------+ | id | title | completed | +----+-------------------------------+-----------+ | 1 | Learn how to insert a new row | 0 | +----+-------------------------------+-----------+ 1 row in set (0.00 sec)

Ngôn ngữ mã: JavaScript ( javascript )

Như bạn có thể thấy, giá trị trong cột hoàn thành đã được cập nhật thành 0, nằm falsetrong node.js

Trong hướng dẫn này, chúng tôi đã chỉ cho bạn cách cập nhật dữ liệu trong MySQL từ ứng dụng node.js.

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
Anti-spam verification:
To avoid this verification in future, please log in or register.
...