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 文件。
数据库能连接上了,之后就该数据库初始化,数据结构一些的东西咯~