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 相关文章推荐
JavaScript中去掉数组中的重复值的实现方法
Aug 03 Javascript
js控制表单不能输入空格的小例子
Nov 20 Javascript
javascript批量修改文件编码格式的方法
Jan 27 Javascript
jQuery实现下拉框选择图片功能实例
Aug 08 Javascript
javascript瀑布流式图片懒加载实例
Jun 28 Javascript
jQuery插件版本冲突的处理方法分析
Jan 16 Javascript
jquery dialog获取焦点的方法
Feb 09 Javascript
webpack4.x开发环境配置详解
Aug 04 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
Aug 29 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
Apr 10 Javascript
vue input标签通用指令校验的实现
Nov 05 Javascript
JS的深浅复制详细
Oct 16 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
WINDOWS 2000下使用ISAPI方式安装PHP
2006/09/05 PHP
NOD32 v2.70.32 简体中文封装版 提供下载了
2007/02/27 PHP
PHP 上传文件大小限制
2009/07/05 PHP
php的闭包(Closure)匿名函数详解
2015/02/22 PHP
php输入数据统一类实例
2015/02/23 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
thinkPHP自动验证机制详解
2016/12/05 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
一步一步教你写一个jQuery的插件教程(Plugin)
2009/09/03 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
2014/04/15 Javascript
JavaScript常用验证函数实例汇总
2014/11/25 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
浅谈React Native 中组件的生命周期
2017/09/08 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
2017/11/24 Javascript
nodejs读取并去重excel文件
2018/04/22 NodeJs
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
jQuery Migrate 插件用法实例详解
2019/05/22 jQuery
从Node.js事件触发器到Vue自定义事件的深入讲解
2020/06/26 Javascript
Pycharm学习教程(7)虚拟机VM的配置教程
2017/05/04 Python
python实现微信远程控制电脑
2018/02/22 Python
python使用turtle库绘制时钟
2020/03/25 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
2019/06/21 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
基于Python实现签到脚本过程解析
2019/10/25 Python
如何在mac环境中用python处理protobuf
2019/12/25 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
2020/01/07 Python
python求最大公约数和最小公倍数的简单方法
2020/02/13 Python
详解pandas赋值失败问题解决
2020/11/29 Python
大学生最常用的自我评价
2013/12/07 职场文书
高一化学教学反思
2014/02/05 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书
css3实现背景图片半透明内容不透明的方法示例
2021/04/13 HTML / CSS
 Redis 串行生成顺序编码的方法实现
2022/04/03 Redis