用的是mysql模块

使用方法

1、npm安装模块

用淘宝的镜像cnpm

  1. cnpm install mysql

若提示“cnpm - 解决 “ cnpm : 无法加载文件 C:\Users\xxxx\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息 。。。 ”,可以通过下面链接的方法解决。
https://www.jianshu.com/p/027bdba14a0e

2、引入模块

js文件引入模块

  1. var mysql = require('mysql');

3、建立连接

  1. var connection = mysql.createConnection({
  2. host : 'localhost',
  3. user : 'root',
  4. password : '123456',
  5. database : 'test'
  6. });
  7. 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. //格式1:connection..query(sqlString, callback)
  2. connection.query('这里放sql语句', function (error, results, fields) {
  3. if (error) throw error;
  4. console.log('结果是: ', results);
  5. });
  6. //格式2:connection.query(sqlString, values, callback)
  7. //sqlString是SQL语句,里面可以用问号? 来表示一个参数,会按顺序读取并替换成values数组里面的元素
  8. connection.query('SELECT * FROM `books` WHERE `author` = ?', ['David'], function (error, results, fields) {
  9. if (error) throw error;
  10. console.log('结果是: ', results);
  11. });
  12. //格式3:connection.query(options, callback)
  13. //options是一个对象
  14. connection.query({
  15. sql: 'SELECT * FROM `books` WHERE `author` = ?',
  16. timeout: 40000, // 40s
  17. values: ['David']
  18. }, function (error, results, fields) {
  19. if (error) throw error;
  20. console.log('结果是: ', results);
  21. });
  22. //格式4:connection.query(options,values, callback)
  23. //options是一个对象
  24. connection.query({
  25. sql: 'SELECT * FROM `books` WHERE `author` = ?',
  26. timeout: 40000 // 40s
  27. },
  28. ['David'],
  29. function (error, results, fields) {
  30. if (error) throw error;
  31. console.log('结果是: ', results);
  32. });

例子,sql.js文件:

  1. var mysql = require('mysql');
  2. var connection = mysql.createConnection({
  3. host : 'localhost',
  4. user : 'root',
  5. password : '123456',
  6. database : 'test'
  7. });
  8. connection.connect();
  9. connection.query('SELECT * FROM `user`', function (error, results, fields) {
  10. if (error) throw error;
  11. console.log('结果是: ', results);
  12. });
  13. //[
  14. // RowDataPacket { id: 1, name: 'YJL', sex: 'male' },
  15. // RowDataPacket { id: 2, name: 'XJ', sex: 'female' }
  16. //]