NodeJs 数据库操作

准备

要在NodeJs中连接数据库需要去npm中安装操作数据库的模块,以mysql为例,在npm中安装mysql2模块

为何使用mysql2而不是经典的mysql

  • mysql2的性能更好
  • myslq2支持promise操作,自带Promise包装器,可以直接使用async/await语法

基本用法

安装

npm i mysql2

连接数据库

const connection = mysql2.createConnection({
  host: "localhost",
  user: "数据库用户名",
  password: "数据库密码",
  database: "数据库名称",
});

查询

connection.query("SELECT * FROM users",(err, results)=>{
    if(err){
      return console.log(err);
    }
    console.log(results);
});

results包含服务器返回的行

插入

const [rs] = await conn.query(
  'insert into `user` values (0,?,?,?,now())',
  [name, password, email])
const id = rs.insertId // 获取自增ID

插入数据采用了占位符方式

高级特性

连接池

  • 创建连接池

    const pool = mysql.createPool({...})
  • 进程退出时自动关闭连接池

    process.on('exit', async (code) => {
      try { await pool.end() } catch (e) {}
    })
  • 简单使用
    直接用pool.query(...)pool.execute(...)即可,相当于从池中获取一条连接,然后执行查询


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!