在node中使用mysql
总体思路

1. 安装mysql包
npm i mysql --save
建一个数据库的配置文件
const mysql = require("mysql") const connection = mysql.createConnection({ host: 'localhost', user: 'MysqlNode', password: '020311', database: 'MysqlNode' }) module.exports = connection
每个参数的含义
host
主机地址 (默认:localhost)
user
用户名
password
密码
port
端口号 (默认:3306)
database
数据库名
charset
连接字符集(默认:'UTF8_GENERAL_CI',注意字符集的字母都要大写)
localAddress
此IP用于TCP连接(可选)
socketPath
连接到unix域路径,当使用 host 和 port 时会被忽略
timezone
时区(默认:'local')
connectTimeout
连接超时(默认:不限制;单位:毫秒)
stringifyObjects
是否序列化对象
typeCast
是否将列值转化为本地JavaScript类型值 (默认:true)
queryFormat
自定义query语句格式化方法
supportBigNumbers
数据库支持bigint或decimal类型列时,需要设此option为true (默认:false)
bigNumberStrings
supportBigNumbers和bigNumberStrings启用 强制bigint或decimal列以JavaScript字符串类型返回(默认:false)
dateStrings
强制timestamp,datetime,data类型以字符串类型返回,而不是JavaScript Date类型(默认:false)
debug
开启调试(默认:false)
multipleStatements
是否许一个query中有多个MySQL语句 (默认:false)
flags
用于修改连接标志
ssl
使用ssl参数(与crypto.createCredenitals参数格式一至)或一个包含ssl配置文件名称的字符串,目前只捆绑Amazon RDS的配置文件
2. 连接数据库
在app.js入口文件中进行数据库的连接
const mysql_conn = require(path.join(__dirname, "database/configure.js")) //加载数据库配置信息 mysql_conn.connect(function(err, result) { if (err) { console.log("数据库连接失败!") } console.log("数据库连接成功!") })
3.封装对应的SQL语句数据处理函数
const path = require("path") const mysql_conn = require(path.join(__dirname, "../configure.js")) exports.findAll = function(callback) { let sql = 'SELECT * FROM websites '; mysql_conn.query(sql, function(err, result) { if (err) { return callback(err) } return callback(null, result) }) }
4.在路由文件中直接使用对应的函数
const express = require("express") const path = require("path") const test_mysql = require(path.join(__dirname, "../database/include/test_mysql.js")) const router = express.Router() router.get("/test", function(req, rep, next) { test_mysql.findAll(function(err, result) { if (err) { return next(err) } rep.status(200).send(result) }) }) module.exports = router
:warning:路由的引入需要在数据库链接之后
Last updated
Was this helpful?