下面是关于“node+express框架中连接使用mysql”的完整攻略:
准备工作
在开始连接使用mysql之前需要先安装相关的组件包,具体步骤如下:
- 安装node.js
node.js 是一个 JavaScript 运行环境,你需要先下载和安装它。在 node.js 安装后,可以通过 node -v
命令检测 node.js 是否安装成功。
- 安装mysql
mysql 是一个开源的关系型数据库管理系统,安装它需要先在官网下载并安装相应的版本,并且保证此时 mysql 的服务已经开启了。
- 安装mysql模块
为了在 node.js 中连接和操作 mysql,需要依赖一个 mysql 的 node 模块,你可以通过 npm install mysql --save
命令安装。
- 安装express框架
express是一个node.js的web框架,你可以通过 npm install express --save
命令安装。
- 创建一个node.js应用
安装完上述的组件包后,就可以开始创建我们的 node.js 应用了。创建一个node.js应用的方式可以是通过命令行利用express生成器或自己手写,各有优劣。在这里推荐使用 express 生成器,可以通过 npm install express-generator -g
安装后,通过 express myapp
生成名为 myapp 的 express 应用。
上述为准备工作的主要步骤,完成后我们就可以进行连接使用 mysql 的实际操作了。
连接mysql数据库
连接mysql需要使用的是 mysql 模块中的 createConnection
方法,该方法可以返回一个 connection
对象,最后通过此对象进行操作数据库的增删改查等操作。
在我们的 node.js 应用中,通过如下代码来连接 mysql 数据库:
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'my_db'
});
connection.connect();
其中,host
表示 mysql 数据库所在服务器的地址,user
表示连接 mysql 数据库需要用到的用户名,password
表示连接 mysql 数据库需要用到的密码,database
表示连接 mysql 数据库需要用到的数据库名。
以上代码中, connection.connect()
是连接 mysql 数据库的代码,它返回一个 connection
对象,接下来我们可以通过此对象进行数据库操作了。
对mysql数据库进行操作
下面通过一些示例来介绍如何在 node+express 应用中对 mysql 数据库进行增删改查等操作。
查询数据库数据
下面是查询数据的示例代码,通过 query
方法执行 SQL 查询,最后通过回调函数返回查询结果:
router.get('/users', function(req, res, next) {
connection.query('SELECT * FROM users', function (error, results, fields) {
if (error) throw error;
res.render('users/index', { title: 'Users', users: results });
});
});
在以上代码中,我们通过 connection.query('SELECT * FROM users', ...)
for 执行了查询 sql 语句,并通过如下代码将查询结果渲染到用户页面上:
res.render('users/index', { title: 'Users', users: results });
插入数据
下面是插入数据的示例代码,通过 query
方法执行 SQL 插入数据操作,最后通过回调函数返回插入结果:
router.post('/users', function(req, res, next) {
const { name, email, password } = req.body;
const user = { name, email, password };
connection.query('INSERT INTO users SET ?', user, function (error, results, fields) {
if (error) throw error;
res.redirect('/users');
});
});
在以上代码中,我们通过 connection.query('INSERT INTO users SET ?', user, ...)
for 执行了插入 sql 语句,并通过如下代码将插入结果渲染到用户页面上:
res.redirect('/users');
修改数据
下面是修改数据的示例代码,通过 query
方法执行 SQL 修改数据操作,最后通过回调函数返回修改结果:
router.put('/users/:id', function(req, res, next) {
const { id } = req.params;
const { name, email, password } = req.body;
const user = { name, email, password };
connection.query('UPDATE users SET ? WHERE id = ?', [ user, id ], function (error, results, fields) {
if (error) throw error;
res.redirect('/users');
});
});
在以上代码中,我们通过 connection.query('UPDATE users SET ? WHERE id = ?', ...)
for 执行了修改 sql 语句,并通过如下代码将修改结果渲染到用户页面上:
res.redirect('/users');
删除数据
下面是删除数据的示例代码,通过 query
方法执行 SQL 删除数据操作,最后通过回调函数返回删除结果:
router.delete('/users/:id', function(req, res, next) {
const { id } = req.params;
connection.query('DELETE FROM users WHERE id = ?', [ id ], function (error, results, fields) {
if (error) throw error;
res.json({ status: 200, message: 'User has been deleted' });
});
});
在以上代码中,我们通过 connection.query('DELETE FROM users WHERE id = ?', ...)
for 执行了删除 sql 语句,并通过如下代码将删除结果返回给客户端:
res.json({ status: 200, message: 'User has been deleted' });
这样,我们通过给出的示例代码和对 node+express 连接使用 mysql 的详细说明,相信读者能够很好地理解和掌握此技术了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node+express框架中连接使用mysql(经验总结) - Python技术站