zoukankan      html  css  js  c++  java
  • 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 文件。

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

  • 相关阅读:
    MacOS如何正确配置Idea自带Maven插件的环境变量?(亲测)
    通过Canvas实现画板
    插入排序
    选择排序
    冒泡排序法
    进制
    JDBC(宠物管理系统)
    银行ATM存取款机系统MySQL数据库
    高级查询(二)
    高级查询
  • 原文地址:https://www.cnblogs.com/guofan/p/9878172.html
Copyright © 2011-2022 走看看