在开发 Web 应用程序时,连接数据库是必不可少的一步。而在 Node.js 的 Web 应用程序中,Express.js 是一个非常流行的 Web 框架。本文将介绍如何使用 Express.js 连接 MySQL 数据库。
安装 MySQL
首先,需要在本地安装 MySQL 数据库。可以从官方网站 https://dev.mysql.com/downloads/mysql/ 下载并安装适合自己操作系统的版本。
安装完成后,需要创建一个数据库和一个表,以便后面的示例代码可以使用。可以使用 MySQL 自带的命令行工具或者图形化工具如 Navicat 等来创建。
安装依赖
在使用 Express.js 连接 MySQL 前,需要安装 mysql 和 express 两个依赖。
可以使用 npm 安装:
npm install mysql express
连接数据库
在 Express.js 中,可以使用 mysql 模块来连接 MySQL 数据库。首先需要引入 mysql 模块:
const mysql = require('mysql');
然后,需要创建一个连接池。连接池可以提高性能并减少资源消耗,因为在连接池中已经创建了一些可用的连接,可以直接使用而不必每次都创建新的连接。
const pool = mysql.createPool({ host: 'localhost', user: 'root', password: 'password', database: 'database_name', connectionLimit: 10 });
在创建连接池时,需要提供数据库的连接信息,包括主机名、用户名、密码、数据库名等。connectionLimit 表示连接池中最大的连接数。
查询数据
连接数据库后,可以使用查询语句来获取数据。以下是一个查询语句的示例:
app.get('/users', (req, res) => { pool.query('SELECT * FROM users', (error, results, fields) => { if (error) throw error; res.send(results); }); });
在这个示例中,使用 GET 方法来获取所有用户的信息。查询语句是 SELECT * FROM users
,表示查询 users 表中的所有数据。查询完成后,通过 res.send() 方法将结果返回给客户端。
插入数据
除了查询数据,还可以使用插入语句来添加数据到数据库中。以下是一个插入语句的示例:
app.post('/users', (req, res) => { const { name, email } = req.body; pool.query('INSERT INTO users (name, email) VALUES (?, ?)', [name, email], (error, results, fields) => { if (error) throw error; res.send(results); }); });
在这个示例中,使用 POST 方法来向数据库中添加一条用户数据。插入语句是 INSERT INTO users (name, email) VALUES (?, ?)
,表示将 name 和 email 两个字段插入到 users 表中。VALUES 后面的两个问号表示要插入的值,分别对应 name 和 email 变量。插入完成后,通过 res.send() 方法将结果返回给客户端。
更新数据
除了插入数据,还可以使用更新语句来修改数据库中的数据。以下是一个更新语句的示例:
app.put('/users/:id', (req, res) => { const { name, email } = req.body; const id = req.params.id; pool.query('UPDATE users SET name = ?, email = ? WHERE id = ?', [name, email, id], (error, results, fields) => { if (error) throw error; res.send(results); }); });
在这个示例中,使用 PUT 方法来更新数据库中的一条用户数据。更新语句是 UPDATE users SET name = ?, email = ? WHERE id = ?
,表示将 name 和 email 两个字段更新到 users 表中,并且只更新 id 等于 req.params.id 的那条数据。更新完成后,通过 res.send() 方法将结果返回给客户端。
删除数据
除了更新数据,还可以使用删除语句来从数据库中删除数据。以下是一个删除语句的示例:
app.delete('/users/:id', (req, res) => { const id = req.params.id; pool.query('DELETE FROM users WHERE id = ?', [id], (error, results, fields) => { if (error) throw error; res.send(results); }); });
在这个示例中,使用 DELETE 方法来删除数据库中的一条用户数据。删除语句是 DELETE FROM users WHERE id = ?
,表示从 users 表中删除 id 等于 req.params.id 的那条数据。删除完成后,通过 res.send() 方法将结果返回给客户端。
总结
本文介绍了如何使用 Express.js 连接 MySQL 数据库,并且提供了查询、插入、更新、删除等常用操作的示例代码。希望本文能够对前端开发人员有所帮助,让大家在开发 Web 应用程序时更加得心应手。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65d1fb6dadd4f0e0ffa8a3de