📅  最后修改于: 2023-12-03 15:33:09.700000             🧑  作者: Mango
在 Node.js 中操作 MySQL 数据库是必不可少的。本文将介绍如何使用 Node.js 向 MySQL 数据库中插入数据。本文分以下几个部分:
在开始之前,请确保已经安装 Node.js 和 MySQL。如果还没有安装,请先安装。
本文使用的 MySQL 数据库结构如下:
CREATE TABLE users (
id INT(11) NOT NULL AUTO_INCREMENT,
username VARCHAR(30) NOT NULL,
email VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
在 Node.js 中,需要使用第三方库 mysql
来与 MySQL 数据库进行交互。首先,在项目中安装 mysql
库:
npm install mysql
然后,在代码文件中引入库:
const mysql = require('mysql');
连接数据库:
const connection = mysql.createConnection({
host: 'localhost', // 数据库服务器的地址
user: 'root', // 数据库用户的用户名
password: 'password', // 数据库用户的密码
database: 'mydb', // 数据库名称
});
connection.connect((err) => {
if (err) {
console.error('Error connecting to database: ' + err.stack);
return;
}
console.log('Connected to database.');
});
在 Node.js 中,使用 connection.query()
方法向数据库中插入数据。
const name = 'User1';
const email = 'user1@example.com';
const password = 'password';
const sql = `INSERT INTO users (username, email, password) VALUES ('${name}', '${email}', '${password}');`;
connection.query(sql, (err, results, fields) => {
if (err) throw err;
console.log('Inserted ' + results.affectedRows + ' row(s).');
});
请注意,我们不应该使用上面的方式来插入数据,因为这样容易受到 SQL 注入攻击。上面的代码仅仅是为了演示。生产环境下,请使用 MySQL 支持的占位符方式,具体实现方式可以参考 Node.js MySQL 查询表。
在完成数据库操作后,必须结束连接。
connection.end(() => {
console.log('Connection closed.');
});
完整代码如下:
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost', // 数据库服务器的地址
user: 'root', // 数据库用户的用户名
password: 'password', // 数据库用户的密码
database: 'mydb', // 数据库名称
});
connection.connect((err) => {
if (err) {
console.error('Error connecting to database: ' + err.stack);
return;
}
console.log('Connected to database.');
});
const name = 'User1';
const email = 'user1@example.com';
const password = 'password';
const sql = `INSERT INTO users (username, email, password) VALUES ('${name}', '${email}', '${password}');`;
connection.query(sql, (err, results, fields) => {
if (err) throw err;
console.log('Inserted ' + results.affectedRows + ' row(s).');
});
connection.end(() => {
console.log('Connection closed.');
});
以上就是使用 Node.js 向 MySQL 数据库中插入数据的介绍。希望对你有所帮助!