📜  Node.js MySQL 插入表(1)

📅  最后修改于: 2023-12-03 15:33:09.700000             🧑  作者: Mango

Node.js MySQL 插入表

在 Node.js 中操作 MySQL 数据库是必不可少的。本文将介绍如何使用 Node.js 向 MySQL 数据库中插入数据。本文分以下几个部分:

  1. 准备工作
  2. 连接数据库
  3. 插入数据
  4. 结束连接
准备工作

在开始之前,请确保已经安装 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 数据库中插入数据的介绍。希望对你有所帮助!