初步使用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 相关文章推荐
xtree.js 代码
Mar 13 Javascript
理解Javascript_11_constructor实现原理
Oct 18 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
Dec 08 Javascript
原生js实现类似fullpage的单页/全屏滚动
Jan 22 Javascript
详解基于node的前端项目编译时内存溢出问题
Aug 01 Javascript
在微信小程序中渲染HTML内容的方法示例
Sep 28 Javascript
搭建基于express框架运行环境的方法步骤
Nov 15 Javascript
angular4自定义表单控件[(ngModel)]的实现
Nov 23 Javascript
JS实现选项卡效果的代码实例
May 20 Javascript
解决layui动态添加的元素click等事件触发不了的问题
Sep 20 Javascript
解决vue的过渡动画无法正常实现问题
Oct 31 Javascript
JS函数参数的传递与同名参数实例分析
Mar 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
php用数组返回无限分类的列表数据的代码
2010/08/08 PHP
PHP句法规则详解 入门学习
2011/11/09 PHP
php简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
完美利用Yii2微信后台开发的系列总结
2016/07/18 PHP
Firefox window.close()的使用注意事项
2009/04/11 Javascript
Extjs在exlipse中设置自动提示的方法
2010/04/07 Javascript
Javascript Throttle &amp; Debounce应用介绍
2013/03/19 Javascript
javascript中的self和this用法小结
2014/02/08 Javascript
js中for in语句的用法讲解
2015/04/24 Javascript
JS实现超简单的鼠标拖动效果
2015/11/02 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
JavaScript和JQuery获取DIV值的方法示例
2017/03/07 Javascript
给Easyui-Datebox设置隐藏或者不可用的解决方法
2017/05/26 Javascript
Vue实现一个返回顶部backToTop组件
2017/07/25 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
2019/04/17 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
[00:17]DOTA2荣耀之路5:It’s a disastah!
2018/05/28 DOTA
[13:55]Newbee vs Team Spirit
2018/06/07 DOTA
实例讲解Python编程中@property装饰器的用法
2016/06/20 Python
Python2与python3中 for 循环语句基础与实例分析
2017/11/20 Python
Django代码性能优化与Pycharm Profile使用详解
2018/08/26 Python
Keras中的两种模型:Sequential和Model用法
2020/06/27 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
泰国国际航空公司官网:Thai Airways International
2019/12/04 全球购物
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
PHP如何去执行一个SQL语句
2016/03/05 面试题
幼儿园六一儿童节主持节目串词
2014/03/21 职场文书
入党积极分子十八届四中全会思想汇报
2014/10/23 职场文书
幼儿教师个人总结
2015/02/05 职场文书
2015年体育教师个人工作总结
2015/05/12 职场文书
2015年重阳节主持词
2015/07/04 职场文书
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
Spring Boot接口定义和全局异常统一处理
2022/04/20 Java/Android