当前位置: 首页 > 工具软件 > node-mysql > 使用案例 >

node.js——mysql模块

胡修伟
2023-12-01

尽管现如今 NoSQL 渐行其道,越来越流行,但是 SQL 数据库依旧是绝大多数应用的选择。
Node.js 丰富的生态系统中,有许多模块都是为 SQL 数据库设计开发的。通过 node-mysql,我们可以书写自己的 SQL 查询语句来操作数据库。

安装 MySQL 模块

npm install mysql

创建 Connection

首先创建到数据库的连接。使用MySQL数据库中的用户名和密码。

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
});

保持运行,测试是否连接成功

查询数据库

使用SQL语句读取(或写入)MySQL数据库。这也称为“查询”数据库。在上面的示例中创建的连接对象有一种查询数据库的方法:

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("Result: " + result);
  });
});

query方法将sql语句作为参数并返回结果。

增删改查

首先创建 mydb 数据库,执行下面 sql 语句

CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))

连接数据库
创建数据库连接

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

添加数据
使用“INSERT INTO”语句填充MySQL中的表。

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  var sql = "INSERT INTO customers (name, address) VALUES ('Company Inc', 'Highway 37')";
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("1 record inserted");
  });
});

修改数据
可以使用“update”语句更新表中的现有记录

con.connect(function(err) {
  if (err) throw err;
  var sql = "UPDATE customers SET address = 'Canyon 123' WHERE address = 'Highway 37'";
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log(result.affectedRows + " record(s) updated");
  });
});

查询数据
使用“select”语句从MySQL的表中选择数据。

con.connect(function(err) {
  if (err) throw err;
  con.query("SELECT * FROM customers", function (err, result, fields) {
    if (err) throw err;
    console.log(result);
  });
});

删除数据
使用“DELETE FROM”语句从现有表中删除记录

con.connect(function(err) {
  if (err) throw err;
  var sql = "DELETE FROM customers WHERE address = 'Canyon 123'";
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("Number of records deleted: " + result.affectedRows);
  });
});
 类似资料: