尽管现如今 NoSQL 渐行其道,越来越流行,但是 SQL 数据库依旧是绝大多数应用的选择。
Node.js 丰富的生态系统中,有许多模块都是为 SQL 数据库设计开发的。通过 node-mysql,我们可以书写自己的 SQL 查询语句来操作数据库。
npm install mysql
首先创建到数据库的连接。使用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);
});
});