沃梦达 / IT编程 / 数据库 / 正文

nodejs操作mysql实现增删改查的实例

下面是详细的讲解“Node.js操作MySQL实现增删改查的实例”的完整攻略。

下面是详细的讲解“Node.js操作MySQL实现增删改查的实例”的完整攻略。

1.安装必要的模块

要使用Node.js操作MySQL,需要安装node.js的mysql模块。可以使用npm安装:

npm install mysql

2.连接MySQL数据库

在连接MySQL之前,需要先安装并启动MySQL数据库,同时还需要在MySQL中创建数据库和数据表。以下是创建数据库和数据表的示例SQL语句:

CREATE DATABASE nodejsdb;
USE nodejsdb;
CREATE TABLE user(
id INT(11) AUTO_INCREMENT,
name VARCHAR(50),
age INT(11),
PRIMARY KEY(id)
);

接着可以使用以下代码连接MySQL数据库:

const mysql = require('mysql');
const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: '密码',
  database: 'nodejsdb'
});

connection.connect((error) => {
  if (error) throw error;
  console.log('已成功连接到MySQL数据库!');
});

3.实现增加(INSERT)操作

以下是插入一条数据的示例代码:

const user = { name: '张三', age: 20 };
connection.query('INSERT INTO user SET ?', user, (error, results, fields) => {
  if (error) throw error;
  console.log('已成功插入一条数据。');
  console.log('插入的数据编号为:', results.insertId);
});

4.实现查询(SELECT)操作

以下是查询数据的示例代码:

connection.query('SELECT * FROM user', (error, results, fields) => {
  if (error) throw error;
  console.log('查询到的数据如下:');
  console.log(results);
});

5.实现删除(DELETE)操作

以下是删除数据的示例代码:

const id = 1;
connection.query('DELETE FROM user WHERE id = ?', id, (error, results, fields) => {
  if (error) throw error;
  console.log(results.affectedRows + ' 条数据已成功删除。');
});

6.实现更新(UPDATE)操作

以下是更新数据的示例代码:

const id = 2;
const user = { name: '李四', age: 25 };
connection.query('UPDATE user SET ? WHERE id = ?', [user, id], (error, results, fields) => {
  if (error) throw error;
  console.log(results.affectedRows + ' 条数据已成功更新。');
});

示例说明

下面给出两个示例,分别演示了如何从MySQL中查询并展示数据以及如何插入新的数据。

示例一:查询并展示数据

下面是一个简单的 Node.js 程序,它查询一个表中所有的数据,并将查询结果转换成HTML格式展示在网页上:

const http = require('http');
const mysql = require('mysql');

const connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '密码',
  database : 'testdb'
});

connection.connect((err) => {
  if (err) throw err;
  console.log('已成功连接到MySQL数据库!');
});

http.createServer((request, response) => {
  response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
  connection.query('SELECT * FROM user', (error, results, fields) => {
    if (error) throw error;
    let html = '<html><head><title>用户列表</title></head><body><table>';
    html += '<tr><th>编号</th><th>姓名</th><th>年龄</th></tr>';
    for (const user of results) {
      html += `<tr><td>${user.id}</td><td>${user.name}</td><td>${user.age}</td></tr>`;
    }
    html += '</table></body></html>';
    response.write(html);
    response.end();
  });
}).listen(8080);

console.log('服务器已经启动,监听 8080 端口。');

从浏览器访问 http://localhost:8080/ 即可看到查询结果。

示例二:插入新的数据

下面是一个简单的 Node.js 程序,它会向一个表中插入一条新的数据:

const mysql = require('mysql');

const connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '密码',
  database : 'testdb'
});

connection.connect((err) => {
  if (err) throw err;
  console.log('已成功连接到MySQL数据库!');
});

const user = { name: '王五', age: 30 };
connection.query('INSERT INTO user SET ?', user, (error, results, fields) => {
  if (error) throw error;
  console.log('已成功插入一条数据。');
  console.log('插入的数据编号为:', results.insertId);
});

connection.end();

运行该程序即可插入一条新的数据到user表中。在命令行终端中执行 node insert.js 即可。

本文标题为:nodejs操作mysql实现增删改查的实例