初步使用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 相关文章推荐
Add a Picture to a Microsoft Word Document
Jun 15 Javascript
再谈javascript面向对象编程
Mar 18 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
Jan 07 Javascript
浅析JavaScript基本类型与引用类型
May 28 Javascript
jQuery实现瀑布流布局
Dec 12 Javascript
js实现jquery的offset()方法实例
Jan 10 Javascript
跟我学习javascript的隐式强制转换
Nov 16 Javascript
jQuery实现验证年龄简单思路
Feb 24 Javascript
利用javascript如何随机生成一定位数的密码
Sep 22 Javascript
vue--点击当前增加class,其他删除class的方法
Sep 15 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
Feb 28 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
May 10 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/04/06 PHP
php函数之子字符串替换&amp;#65279; str_replace
2011/03/23 PHP
Yii扩展组件编写方法实例分析
2015/06/29 PHP
javascript 清空form表单中某种元素的值
2009/12/26 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
2011/08/08 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
javascript数组去重3种方法的性能测试与比较
2013/03/26 Javascript
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
2013/06/14 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
javasript实现密码的隐藏与显示
2015/05/08 Javascript
JS+DIV实现鼠标划过切换层效果的方法
2015/05/25 Javascript
jQuery下拉美化搜索表单效果代码分享
2015/08/25 Javascript
快速掌握Node.js之Window下配置NodeJs环境
2016/03/21 NodeJs
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
AngularJS入门教程之Scope(作用域)
2016/07/27 Javascript
javascript滚轮事件基础实例讲解(37)
2017/02/14 Javascript
详解ES6之async+await 同步/异步方案
2017/09/19 Javascript
Vue组件间数据传递的方式(3种)
2020/07/13 Javascript
在vue中实现嵌套页面(iframe)
2020/07/30 Javascript
微信小程序实现页面左右滑动
2020/11/16 Javascript
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
Python 字符串定义
2009/09/25 Python
python3利用Dlib19.7实现人脸68个特征点标定
2018/02/26 Python
Python使用add_subplot与subplot画子图操作示例
2018/06/01 Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
2018/12/14 Python
django 微信网页授权登陆的实现
2019/07/30 Python
解决pycharm最左侧Tool Buttons显示不全的问题
2019/12/17 Python
英国翻新电子产品购物网站:Tech Trade
2017/12/25 全球购物
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
企业统计员岗位职责
2013/12/13 职场文书
银行青年文明号事迹材料
2014/05/31 职场文书
创先争优活动心得体会
2014/09/04 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
入党转正介绍人意见
2015/06/03 职场文书
nginx配置虚拟主机的详细步骤
2021/07/21 Servers