初步使用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 相关文章推荐
JavaScript 变量命名规则
Sep 23 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
Apr 27 Javascript
改善用户体验的五款jQuery插件分享
May 22 Javascript
js精度溢出解决方案
Dec 02 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
Oct 17 Javascript
Angular在一个页面中使用两个ng-app的方法
Feb 20 Javascript
你有必要知道的10个JavaScript难点
Jul 25 Javascript
基于vue中解决v-for使用报红并出现警告的问题
Mar 03 Javascript
原生JavaScript实现remove()和recover()功能示例
Jul 24 Javascript
详解vue.js下引入百度地图jsApi的两种方法
Jul 27 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
Nov 22 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
May 16 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
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
php调用mysql存储过程
2007/02/14 PHP
php木马攻击防御之道
2008/03/24 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
2020/07/19 PHP
Javascript玩转继承(二)
2014/05/08 Javascript
浅谈JavaScript 标准对象
2016/06/02 Javascript
vue.js入门教程之绑定class和style样式
2016/09/02 Javascript
整理关于Bootstrap过渡动画的慕课笔记
2017/03/29 Javascript
node.js 抓取代理ip实例代码
2017/04/30 Javascript
JavaScript切换搜索引擎的导航网页搜索框实例代码
2017/06/11 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
在vue项目中集成graphql(vue-ApolloClient)
2018/09/08 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
vue el-tree 默认展开第一个节点的实现代码
2020/05/15 Javascript
[34:41]夜魇凡尔赛茶话会 第二期02:你画我猜
2021/03/11 DOTA
Python程序语言快速上手教程
2012/07/18 Python
你真的了解Python的random模块吗?
2017/12/12 Python
OpenCV 边缘检测
2019/07/10 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
2020/07/21 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
英语专业应届生求职信范文
2013/11/15 职场文书
应用心理学个人的求职信
2013/12/08 职场文书
大学本科生的个人自我评价
2013/12/09 职场文书
秋季运动会活动方案
2014/02/05 职场文书
十周年庆典策划方案
2014/06/03 职场文书
电子商务专业应届毕业生求职信
2014/06/21 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
个人事迹材料范文
2014/12/29 职场文书
违纪学生保证书
2015/02/27 职场文书
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS
用Python实现一个打字速度测试工具来测试你的手速
2021/05/28 Python