14. 链接mysql

2022-11-07 15:04:34发布
27

链接mysql前,需要先安装mysql

npm i mysql -S

例子 (连接sql数据库,并且查询use表的所有数据)

const mysql = require('mysql');

const db = mysql.createConnection({
    host: 'localhost', // 数据库的host
    port: 3306, // 数据库的端口
    user: 'root', // 数据库的用户名
    password: '123456', // 数据库的登录密码
    database: '20210405', // 数据库的表名
});

// SQL查询语句
db.query('SELECT * FROM `user`;', (err, data) => {
    if (err) {
        console.log(err);
    } else {
        console.log(JSON.stringify(data));
    }
});


封装sql查询插件

const mysql = require('mysql');

const pool = mysql.createPool({
    host: 'xxx',
    port: 'xxx',
    user: 'xxx',
    password: 'xxx',
    database: 'xxx',
    charset: 'utf8mb4', // 非常重要,不设置这个的话,表情是插不进数据库的
});

// 接收一个sql语句 以及所需的values
// 这里接收第二参数values的原因是可以使用mysql的占位符 '?'
// 比如 (`select * from my_database where id = ?`, [1])
module.exports = function (sql, values) {
    // 返回一个 Promise
    return new Promise((resolve, reject) => {
        pool.getConnection(function (err, connection) {
            if (err) {
                reject(err)
            } else {
                connection.query(sql, values, (err, rows) => {
                    if (err) {
                        reject(err)
                    } else {
                        resolve(rows)
                    }
                    // 结束会话
                    connection.release()
                })
            }
        })
    })
};