node.js操作mysql简单实例


Posted in Javascript onMay 25, 2017

上篇文章介绍了node.js操作redis的简单实例,这里介绍如何操作mysql。

安装

安装mysql模块

cnpm install mysql
node.js操作mysql简单实例

一个例子

新建一个mysql.js的文件,代码如下:

node.js操作mysql简单实例

连接配置

1.host:主机地址 (默认:localhost)
2.user:用户名
3.password:密码
4.port:端口号 (默认:3306)
5.database:数据库名
6.charset:连接字符集(默认:'UTF8_GENERAL_CI',注意字符集的字母都要大写)
7.localAddress:此IP用于TCP连接(可选)
8.socketPath:连接到unix域路径,当使用 host 和 port 时会被忽略
9.timezone:时区(默认:'local')
10.connectTimeout:连接超时(默认:不限制;单位:毫秒)
11.stringifyObjects:是否序列化对象(默认:'false' ;与安全相关https://github.com/felixge/node-mysql/issues/501)
12.typeCast:是否将列值转化为本地JavaScript类型值 (默认:true)
13.queryFormat:自定义query语句格式化方法 https://github.com/felixge/node-mysql#custom-format
14.supportBigNumbers:数据库支持bigint或decimal类型列时,需要设此option为true (默认:false)
15.bigNumberStrings:supportBigNumbers和bigNumberStrings启用 强制bigint或decimal列以JavaScript字符串类型返回(默认:false)
16.dateStrings:强制timestamp,datetime,data类型以字符串类型返回,而不是JavaScript Date类型(默认:false)
17.debug:开启调试(默认:false)
18.multipleStatements:是否许一个query中有多个MySQL语句 (默认:false)
19.flags:用于修改连接标志,更多详情:https://github.com/felixge/node-mysql#connection-flags
20.ssl:使用ssl参数(与crypto.createCredenitals参数格式一至)或一个包含ssl配置文件名称的字符串,目前只捆绑Amazon RDS的配置文件

创建数据表

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for users
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
 `Id` int(11) NOT NULL AUTO_INCREMENT,
 `CreateTime` datetime NOT NULL,
 `Header` varchar(255) DEFAULT NULL,
 `NickName` varchar(255) DEFAULT NULL,
 `Sex` int(11) NOT NULL,
 PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
//引入mysql模块
var mysql = require("mysql");
//创建连接
var connection = mysql.createConnection({
  host: "localhost",
  port: "3306",
  user: "root",
  password: "abcd",
  database: "it_odd_o",
});
//开始连接
connection.connect(function (err) {
  if (err) {
    console.log("[connect] - " + err);
    return;
  } else {
    console.log("connection connect successed!");
  };
});
//执行sql语句
connection.query("select 1+1 as result", function (err, rows, fields) {
  if (err) {
    console.log("[query] - " + err);
  } else {
    console.log("result is " + rows[0].result);
  };
});
//向user表中插入数据
var userAddSql = "insert into users(createTime,header,nickName,sex) value(now(),?,?,1);";
var userAddSql_params = ["1.jpg", "wolfy"];
//执行sql语句
connection.query(userAddSql, userAddSql_params, function (err, result) {
  if (err) {
    console.log("[insert] - " + err);
  } else {
    console.log(result);    
  };
});
//断开连接
connection.end();
结果

node.js操作mysql简单实例

node.js操作mysql简单实例

//改
var userUpdateSql="update users set header=? where id=?;";
var userUpdateSql_params=["2.jpg",2];
connection.query(userUpdateSql, userUpdateSql_params, function (err, result) {
  if (err) {
    console.log("[update] - " + err);
  } else {
    console.log(result);    
  };
});
总结

通过上面的例子我们看到起主要作用还是sql语句以及参数化查询,其他的跟sql语句相似。不再一一举例。

Javascript 相关文章推荐
Jquery实现显示和隐藏的4种简单方式
Aug 28 Javascript
jquery操作对象数组元素方法详解
Nov 26 Javascript
javaScript中push函数用法实例分析
Jun 08 Javascript
JS实现六位字符密码输入器功能
Aug 19 Javascript
node.js缺少mysql模块运行报错的解决方法
Nov 13 Javascript
百度搜索框智能提示案例jsonp
Nov 28 Javascript
JS生成一维码(条形码)功能示例
Jan 19 Javascript
jquery tmpl模板(实例讲解)
Sep 02 jQuery
javascript中的隐式调用
Feb 10 Javascript
JavaScript实现的简单加密解密操作示例
Jun 01 Javascript
webpack优化的深入理解
Dec 10 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
Aug 23 Javascript
基于vue实现swipe分页组件实例
May 25 #Javascript
Javascript 实现匿名递归的实例代码
May 25 #Javascript
Kotlin学习第一步 kotlin语法特性
May 25 #Javascript
jQuery Masonry瀑布流布局神器使用详解
May 25 #jQuery
jQuery模拟实现天猫购物车动画效果实例代码
May 25 #jQuery
jquery.masonry瀑布流效果
May 25 #jQuery
Node.js操作redis实现添加查询功能
May 25 #Javascript
You might like
用PHP将数据导入到Foxmail
2006/10/09 PHP
使用php+Ajax实现唯一校验实现代码[简单应用]
2011/11/29 PHP
php指定函数参数默认值示例代码
2013/12/04 PHP
去除php注释和去除空格函数分享
2014/03/13 PHP
php str_replace替换指定次数的方法详解
2017/05/05 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
2017/05/29 PHP
Ruffy javascript 学习笔记
2009/11/30 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
js实现的光标位置工具函数示例
2016/10/03 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
js css自定义分页效果
2017/02/24 Javascript
Angular通过angular-cli来搭建web前端项目的方法
2017/07/27 Javascript
vue 运用mock数据的示例代码
2017/11/07 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
2018/01/08 jQuery
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
JavaScript实现网页计算器功能
2020/10/29 Javascript
python破解bilibili滑动验证码登录功能
2019/09/11 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
Python引入多个模块及包的概念过程解析
2020/09/21 Python
python中reload重载实例用法
2020/12/15 Python
详解python的xlwings库读写excel操作总结
2021/02/26 Python
.net面试题
2016/09/17 面试题
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
2014年教师培训的自我评价
2014/01/03 职场文书
关于工资低的辞职信
2014/01/14 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
思想道德自我评价2015
2015/03/09 职场文书
python process模块的使用简介
2021/05/14 Python
python内置进制转换函数的操作
2021/06/02 Python
JavaScript严格模式不支持八进制的问题讲解
2021/11/07 Javascript