Node.js 连接 MySQL

2020-06-17 05:29:53易采站长站整理

Node.js 连接 MySQL

本章节我们将为大家介绍如何使用 Node.js 来连接 MySQL,并对数据库进行操作。

如果你还没有 MySQL 的基本知识,可以参考我们的教程:MySQL 教程。

本教程使用到的 Websites 表 SQL 文件:websites.sql。

安装驱动

本教程使用了淘宝定制的 cnpm 命令进行安装:


$ cnpm install mysql

连接数据库

在以下实例中根据你的实际配置修改数据库用户名、及密码及数据库名:

test.js 文件代码:


var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '123456',
database : 'test'
});

connection.connect();

connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});

执行以下命令输出结果为:


$ node test.js
The solution is: 2

数据库连接参数说明:

参数描述
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)