初步使用Node连接Mysql数据库


Posted in Javascript onMarch 03, 2016

使用Node做Web页面开发,基本上是连接非关系型数据库mongodb,而这里我还是先尝试连接了一下mysql数据库,因为相对于mysql来说mongodb过于生疏,想着快速出来页面,所以选择相对熟悉一些的mysql。

1. 安装mysql

下载MySQL :MySQL Downloads,并进行安装。安装完,会引导你对数据库进行配置,设置root密码以及创建普通用户以及密码。

2. 安装Node-mysql

通过npm安装mysql的软件包,通过它方便快速调用函数连接mysql数据库。进入项目文件夹,执行npm install mysql --save就行了。

安装完,在项目文件夹的node_modules目录下会生成mysql的目录。

3. 查看readme文档

进入mysql目录中,查看README文档,这步很重要,不要到处百度Google搜索怎么用,因为由于版本的不一样,也许你得到的答案并不能使你成功连接数据库。毕竟Node发展如此之快。

如果你认真读了README文档,接下来的步骤就不用再看了,避免由于版本不一致而误导你。

4. 连接mysql数据库

进入项目文档,新建TestMysql.js示例,编写如下代码:

var mysql   = require('mysql');
var connection = mysql.createConnection({
 host   : 'localhost',
 user   : 'me',
 password : 'secret',
 database : 'my_db'
});

connection.connect();

connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {
 if (err) throw err;

 console.log('The solution is: ', rows[0].solution);
});

connection.end();

连接基本参数

  • host 主机名,localhost代表本地
  • user Mysql用户
  • password 密码
  • database 连接的数据库

client.connect()连接数据库

client.query()执行SQL语句
client.end()关闭连接。
然后通过node TestMysql.js执行程序,确保你在执行之前已经启动了Mysql服务。

5. 增删改查

使用数据库无外乎增删改查,下面示例可能会对你有些帮助。

var mysql   = require('mysql');
var connection = mysql.createConnection({
 host   : 'localhost',
 user   : 'me',
 password : 'secret',
 database : 'my_db'
});

connection.connect();

// 增加记录
client.query('insert into test (username ,password) values ("lupeng" , "123456")');

// 删除记录
client.query('delete from test where username = "lupeng"');

// 修改记录
client.query('update test set username = "pengloo53" where username = "lupeng"');

// 查询记录
client.query("select * from test" , function selectTable(err, rows, fields){
 if (err){
  throw err;
 }
 if (rows){
  for(var i = 0 ; i < rows.length ; i++){
   console.log("%d\t%s\t%s", rows[i].id,rows[i].username,rows[i].password);
  }
 }
});

connection.end();

到此,Mysql数据库的初步连接就告一段落了,接下来就可以在Node项目中自行发挥了。

希望大家继续关注。

Javascript 相关文章推荐
JQuery中的ready函数冲突的解决方法
May 17 Javascript
详谈 Jquery Ajax异步处理Json数据.
Sep 09 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
Jul 14 Javascript
js的回调函数详解
Jan 05 Javascript
jquery的checkbox,radio,select等方法小结
Aug 30 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
Oct 30 Javascript
jQuery Validate插件自定义验证规则的方法
Dec 27 Javascript
pace.js和NProgress.js两个加载进度插件的一点小总结
Jan 31 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
Mar 14 Javascript
探索JavaScript中私有成员的相关知识
Jun 13 Javascript
JS正则表达式常见函数与用法小结
Apr 13 Javascript
Openlayers学习之加载鹰眼控件
Sep 28 Javascript
初步使用bootstrap快速创建页面
Mar 03 #Javascript
JS动态增删表格行的方法
Mar 03 #Javascript
微信jssdk在iframe页面失效问题的解决措施
Mar 03 #Javascript
基于javascript html5实现多文件上传
Mar 03 #Javascript
编写高质量JavaScript代码的基本要点
Mar 02 #Javascript
JS获取当前脚本文件的绝对路径
Mar 02 #Javascript
Webpack 实现 AngularJS 的延迟加载
Mar 02 #Javascript
You might like
php 中英文语言转换类代码
2011/08/11 PHP
Apache下禁止php文件被直接访问的解决方案
2013/04/25 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
2017/06/17 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
2020/11/10 PHP
JQuery的ajax基础上的超强GridView展示
2009/09/18 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
jQuery+CSS3实现树叶飘落特效
2015/02/01 Javascript
javascript实现复选框超过限制即弹出警告框的方法
2015/02/25 Javascript
jQuery实现简洁的导航菜单效果
2015/11/23 Javascript
原生Javascript和jQuery做轮播图简单例子
2016/10/11 Javascript
JS填写银行卡号每隔4位数字加一个空格
2016/12/19 Javascript
jQuery实现一个简单的轮播图
2017/02/19 Javascript
基于node.js的fs核心模块读写文件操作(实例讲解)
2017/09/10 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
JS中Promise函数then的奥秘探究
2018/07/30 Javascript
jQuery层叠选择器用法实例分析
2019/06/28 jQuery
vue2.0项目集成Cesium的实现方法
2019/07/30 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
jquery html添加元素/删除元素操作实例详解
2020/05/20 jQuery
解决vue路由name同名,路由重复的问题
2020/08/05 Javascript
分享Python开发中要注意的十个小贴士
2016/08/30 Python
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
Python3.5文件修改操作实例分析
2019/05/01 Python
python保存log日志,实现用log日志画图
2019/12/24 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
2020/04/02 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
汇智创新科技发展有限公司
2015/12/06 面试题
什么是网络协议
2016/04/07 面试题
大学生农村教师实习自我鉴定
2013/09/21 职场文书
学校后勤人员职责
2013/12/27 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android