nodejs数据库连接

  服务器搭建完了,嘿嘿,可以连接数据库了。

// 引入数据库模块
const mysql = require('mysql');
// 拉取配置项
const config = require('./config');

const connection = mysql.createConnection({
    host: config.host,
    user: config.db_user,
    password: config.db_password,
    port: config.db_port,
    database: config.db_name
});

// 创建一个 connection
connection.connect((err) => {
    if (err) {
        console.log('[query] - :' + err);
        return;
    }
    console.log('[connection connect]  succeed!');
});

/**
 * 使用对应数据库
 * @param { string } db_name 要切换数据库名称
 */
function changeDB(db_name) {
    // 使用对应sql语句
    const sql = 'use ' + db_name;
    connection.query(sql);
    // 直接建立连接,省去手动调用
    createConnection();
}

/**
 * 建立连接
 */
function createConnection() {
    connection.connect((err) => {
        if (err) {
            console.log('[query] - :' + err);
            return;
        }
        console.log('[connection connect]  succeed!');
    });
}

/**
 * 关闭 connection
 */
function closeConnection() {
    connection.end((err) => {
        if (err) {
            return;
        }
        console.log('[connection end] succeed!');
    });
}

/**
 * 查询语句
 * @param { string } tableName 表名
 */
function selectData(tableName) {
    const sql = 'select * from ' + tableName;
    connection.query(sql, (err, rows, fields) => {
        if (err) {
            console.log('[query] - :' + err);
            return;
        }
        console.log('The solution is: ', rows);
    });
}

/**
 * 向表中插入数据
 * @param { string } tableName 表名
 * @param { string } attrChars 表的全部字段名字符串,逗号','分隔
 * @param { string } valueChars 对应字段的值,逗号','分隔
 */
function insertData(tableName, attrChars, valueChars) {
    const sql = 'insert into ' + tableName + '(' + attrChars + ') values(' + valueChars + ')';
    connection.query(sql, (error, result) => {
        if (error) {
            console.log(error.message);
        } else {
            console.log('insert id: ' + result.insertId);
        }
    });
}

/**
 * 从表中删除数据
 * @param { string } tableName 表名
 * @param { string } attr 标志性字段名
 * @param { string } value 对应字段的值
 */
function deleteData(tableName, attr, value) {
    const sql = 'delete from ' + tableName + ' where ' + attr + ' = ' + value;
    connection.query(sql, (error, result) => {
        if (error) {
            console.log(error.message);
        } else {
            console.log('affectedRows: ' + result.affectedRows);
        }
    });
}

/**
 * 更新表中数据
 * @param { string } tableName 表名
 * @param { string } attr 标志性字段名
 * @param { string } attr_value 对应字段的值
 * @param { string } key 对应字段的值
 * @param { string } key_value 对应字段的值
 */
function updateData(tableName, attr, attr_value, key, key_value) {
    const sql = 'update ' + tableName + ' set ' + attr + ' = ' + attr_value + ' where ' + key + ' = ' + key_value;
    connection.query(sql, (error, result) => {
        if (error) {
            console.log(error.message);
        } else {
            console.log('affectedRows: ' + result.affectedRows);
        }
    });
}

  这里方便其他模块调用,都包成了方法,不够后期肯定是要调整的,先这样放着,后期调整~

module.exports = {
    host: '127.0.0.1',      // 地址
    db_name: 'mysql',       // 数据库 - 名称
    db_user: 'root',        // 数据库 - 用户名
    db_password: '000000',  // 数据库 - 密码
    db_port: '3306',        // 数据库 - 端口
};

  config 文件。

  数据库能连接上了,之后就该数据库初始化,数据结构一些的东西咯~

posted @ 2018-10-30 17:29  名字不好起啊  阅读(619)  评论(0编辑  收藏  举报