引言
在Web开发中,数据库是存储和管理数据的重要工具。Node.js作为一种高效的JavaScript运行环境,结合Express框架,可以快速搭建服务器和API。而MySQL则是广泛使用的关系型数据库。本文将详细介绍如何在Node.js Express框架中连接MySQL数据库,并实现基本的增删改查(CRUD)操作。
准备工作
在开始之前,请确保您已经安装了以下软件:
连接MySQL数据库
1. 安装MySQL连接器
首先,您需要安装一个用于Node.js连接MySQL的库。这里我们使用mysql模块。
npm install mysql
2. 创建数据库连接
在您的Node.js项目中,创建一个新的文件,例如db.js,用于处理数据库连接。
const mysql = require('mysql');
// 创建数据库连接配置
const connection = mysql.createConnection({
host: 'localhost', // 数据库地址
user: 'root', // 数据库用户名
password: 'password', // 数据库密码
database: 'mydatabase' // 数据库名
});
// 连接数据库
connection.connect(err => {
if (err) {
console.error('连接数据库失败:', err);
return;
}
console.log('数据库连接成功');
});
module.exports = connection;
3. 使用连接
在您的Express应用中,您可以导入并使用这个连接。
const express = require('express');
const connection = require('./db');
const app = express();
app.get('/', (req, res) => {
connection.query('SELECT * FROM users', (err, results) => {
if (err) {
console.error('查询失败:', err);
return res.status(500).send('数据库查询失败');
}
res.json(results);
});
});
app.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000');
});
实现CRUD操作
1. 创建(Create)
app.post('/users', (req, res) => {
const { name, email } = req.body;
connection.query('INSERT INTO users (name, email) VALUES (?, ?)', [name, email], (err, results) => {
if (err) {
console.error('插入失败:', err);
return res.status(500).send('数据库插入失败');
}
res.json({ id: results.insertId, name, email });
});
});
2. 读取(Read)
您可以使用之前的GET /路由来读取数据。
3. 更新(Update)
app.put('/users/:id', (req, res) => {
const { name, email } = req.body;
const { id } = req.params;
connection.query('UPDATE users SET name = ?, email = ? WHERE id = ?', [name, email, id], (err, results) => {
if (err) {
console.error('更新失败:', err);
return res.status(500).send('数据库更新失败');
}
res.json({ id, name, email });
});
});
4. 删除(Delete)
app.delete('/users/:id', (req, res) => {
const { id } = req.params;
connection.query('DELETE FROM users WHERE id = ?', [id], (err, results) => {
if (err) {
console.error('删除失败:', err);
return res.status(500).send('数据库删除失败');
}
res.json({ id });
});
});
总结
通过以上步骤,您已经可以在Node.js Express框架中连接MySQL数据库,并实现基本的CRUD操作。当然,这只是数据库操作的一个简单示例。在实际应用中,您可能需要处理更复杂的数据结构和业务逻辑。希望本文能对您有所帮助!
