首先,为了实现nodejs+mysql实现用户相关的增删改查,我们需要先安装以下两个模块:
- mysql模块:用于连接MySQL数据库,并执行相应的查询、新增、修改、删除操作
- express框架:用于搭建web服务器
具体实现步骤如下:
步骤一:安装必备模块
在命令行窗口(终端)执行以下命令:
npm install mysql express --save
步骤二:创建MySQL数据库
以“user_db”为例,在MySQL命令行窗口执行以下SQL语句:
CREATE DATABASE user_db;
USE user_db;
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`email` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
步骤三:编写NodeJS代码
- 连接MySQL数据库
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'localhost', // MySQL数据库所在的服务器地址
user: 'root', // MySQL数据库的用户名
password: '123456', // MySQL数据库的密码
database: 'user_db' // 要连接的MySQL数据库名
});
connection.connect();
- 在Express框架下,编写API接口
var express = require('express');
var app = express();
// 在Express中使用body-parser中间件
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
// 查询所有用户信息
app.get('/users', function(req, res) {
var sql = 'SELECT * FROM users';
connection.query(sql, function(err, result) {
if (err) {
console.log('[SELECT ERROR]:', err.message);
res.send("查询失败!");
} else {
console.log(result);
res.send(result);
}
});
});
// 根据id查询用户信息
app.get('/users/:id', function(req, res) {
var id = req.params.id;
var sql = 'SELECT * FROM users WHERE id = ' + id;
connection.query(sql, function(err, result) {
if (err) {
console.log('[SELECT ERROR]:', err.message);
res.send("查询失败!");
} else {
console.log(result);
res.send(result);
}
});
});
// 添加用户信息
app.post('/users', function(req, res) {
var name = req.body.name;
var email = req.body.email;
var password = req.body.password;
var sql = 'INSERT INTO users(name, email, password) VALUES(?,?,?)';
var params = [name, email, password];
connection.query(sql, params, function(err, result) {
if (err) {
console.log('[INSERT ERROR]:', err.message);
res.send("添加失败!");
} else {
console.log(result);
res.send("添加成功!");
}
});
});
// 根据id更新用户信息
app.put('/users/:id', function(req, res) {
var id = req.params.id;
var name = req.body.name;
var email = req.body.email;
var password = req.body.password;
var sql = "UPDATE users SET name=?, email=?, password=? WHERE id=?";
var params = [name, email, password, id];
connection.query(sql, params, function(err, result) {
if (err) {
console.log('[UPDATE ERROR]:', err.message);
res.send("更新失败!");
} else {
console.log(result);
res.send("更新成功!");
}
});
});
// 根据id删除用户信息
app.delete('/users/:id', function(req, res) {
var id = req.params.id;
var sql = 'DELETE FROM users WHERE id = ' + id;
connection.query(sql, function(err, result) {
if (err) {
console.log('[DELETE ERROR]:', err.message);
res.send("删除失败!");
} else {
console.log(result);
res.send("删除成功!");
}
});
});
var server = app.listen(8080, function() {
console.log('Node server is running..');
});
步骤四:测试API接口
可以使用Postman工具来测试API接口,以下是两个示例:
- 添加用户:
请求地址:http://localhost:8080/users
请求方法:POST
请求参数(body):
{
"name": "张三",
"email": "zhangsan@outlook.com",
"password": "123456"
}
- 根据id查询用户:
请求地址:http://localhost:8080/users/1
请求方法:GET
请求参数:无
以上就是实现nodejs+mysql实现用户相关的增删改查的详细操作的攻略,希望对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nodejs+mysql实现用户相关的增删改查的详细操作 - Python技术站