本教程详细介绍了如何利用Node.js和相关模块实现与MySQL数据库的交互,包括数据的新增、删除、更新及查询等基本操作。
在Node.js环境中与MySQL数据库进行交互是常见的后端开发任务。本段落将详细讲解如何使用Node.js的`mysql`模块来实现数据库的基本增删改查(CRUD)操作。
要开始操作MySQL数据库,首先需要通过npm安装`mysql`模块:
```bash
npm install mysql
```
安装完成后,可以导入该模块并创建与数据库的连接。以下是一个基本示例:
```javascript
var mysql = require(mysql);
var connection = mysql.createConnection({
host: 192.168.0.108,
user: root,
password: 123456,
database: test1,
port: 3306
});
connection.connect();
```
在这个例子中,我们连接到位于`192.168.0.108`的MySQL服务器,使用用户`root`和密码`123456`,选择数据库名为`test1`, 并指定默认端口为3306。
**插入数据**:
在数据库中添加新记录可以利用`connection.query()`方法。假设我们有一个users表,其结构如下:
```sql
CREATE TABLE `users` (
`name` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`mail` varchar(255) NOT NULL,
PRIMARY KEY (`name`)
);
```
插入一条新用户记录的代码如下:
```javascript
var usr = {name: zhangsan, password: pwdzhangsan, mail: zhangsan@gmail.com};
connection.query(INSERT INTO users SET ?, usr, function(err, result) {
if (err) throw err;
console.log(Inserted ZhangSan);
console.log(result);
});
```
这里的`?`是占位符,用于插入对象的键值。
**更新数据**:
要修改已存在的记录同样使用`connection.query()`方法。例如,更新名为ZhangSan用户的密码:
```javascript
connection.query(UPDATE users SET password=ddd WHERE name=zhangsan, function(err, result) {
if (err) throw err;
console.log(Updated ZhangSans password to ddd);
});
```
**删除数据**:
要从数据库中移除记录,同样使用`connection.query()`方法。例如,删除名为ZhangSan的用户:
```javascript
connection.query(DELETE FROM users WHERE name=zhangsan, function(err, result) {
if (err) throw err;
console.log(Deleted ZhangSan);
});
```
**查询数据**:
从数据库中获取所有或特定条件的数据可以使用`SELECT`语句。例如,选择所有的用户记录:
```javascript
connection.query(SELECT * FROM users, function(err, rows, fields) {
if (err) throw err;
console.log(Selected after deleted);
for(var i = 0; usr = rows[i++];)
console.log(`User name=${usr.name}, password=${usr.password}`);
});
```
在完成所有操作后,别忘了关闭数据库连接以释放资源:
```javascript
connection.end();
```
以上就是使用Node.js的`mysql`模块进行MySQL数据库基本CRUD操作的方法。对于更多关于该模块的信息和高级特性(如连接池、事务处理等),可以参考官方文档。
通过这些资料,你可以进一步了解如何更好地满足实际项目的需求。