用的是mysql模块
使用方法
1、npm安装模块
用淘宝的镜像cnpm
cnpm install mysql
若提示“cnpm - 解决 “ cnpm : 无法加载文件 C:\Users\xxxx\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息 。。。 ”,可以通过下面链接的方法解决。
https://www.jianshu.com/p/027bdba14a0e
2、引入模块
js文件引入模块
var mysql = require('mysql');
3、建立连接
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '123456',
database : 'test'
});
connection.connect();
参数 | 描述 |
---|---|
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的配置文件 |
4、sql语句
主要是通过.query( ) 方法实现。
//格式1:connection..query(sqlString, callback)
connection.query('这里放sql语句', function (error, results, fields) {
if (error) throw error;
console.log('结果是: ', results);
});
//格式2:connection.query(sqlString, values, callback)
//sqlString是SQL语句,里面可以用问号? 来表示一个参数,会按顺序读取并替换成values数组里面的元素
connection.query('SELECT * FROM `books` WHERE `author` = ?', ['David'], function (error, results, fields) {
if (error) throw error;
console.log('结果是: ', results);
});
//格式3:connection.query(options, callback)
//options是一个对象
connection.query({
sql: 'SELECT * FROM `books` WHERE `author` = ?',
timeout: 40000, // 40s
values: ['David']
}, function (error, results, fields) {
if (error) throw error;
console.log('结果是: ', results);
});
//格式4:connection.query(options,values, callback)
//options是一个对象
connection.query({
sql: 'SELECT * FROM `books` WHERE `author` = ?',
timeout: 40000 // 40s
},
['David'],
function (error, results, fields) {
if (error) throw error;
console.log('结果是: ', results);
});
例子,sql.js文件:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '123456',
database : 'test'
});
connection.connect();
connection.query('SELECT * FROM `user`', function (error, results, fields) {
if (error) throw error;
console.log('结果是: ', results);
});
//[
// RowDataPacket { id: 1, name: 'YJL', sex: 'male' },
// RowDataPacket { id: 2, name: 'XJ', sex: 'female' }
//]