初步使用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.ui.dialog 增加“自动记住关闭时的位置”的功能
Nov 24 Javascript
Jquery中dialog属性小记
Sep 03 Javascript
原生js 秒表实现代码
Jul 24 Javascript
JS 按钮点击触发(兼容IE、火狐)
Aug 07 Javascript
javascript与jquery中跳出循环的区别总结
Nov 04 Javascript
扒一扒JavaScript 预解释
Jan 28 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
May 20 Javascript
使用puppeteer破解极验的滑动验证码
Feb 24 Javascript
在vue项目中引入highcharts图表的方法(详解)
Mar 05 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
Dec 21 Javascript
微信小程序开发技巧汇总
Jul 15 Javascript
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
Sep 11 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&amp;&amp;mysql)六
2006/10/09 PHP
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/29 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
2011/04/12 PHP
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
2012/01/16 PHP
php批量上传的实现代码
2013/06/09 PHP
php实现贪吃蛇小游戏
2016/07/26 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
2018/09/26 PHP
Laravel服务容器绑定的几种方法总结
2020/06/14 PHP
JavaScript 异步调用框架 (Part 6 - 实例 &amp; 模式)
2009/08/04 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
JS 两个字符串时间的天数差计算
2013/08/25 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
JS实现灵巧的下拉导航效果代码
2015/08/25 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
2015/11/09 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
微信小程序 保留小数(toFixed)详细介绍
2016/11/16 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
[01:04:20]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.29
2020/12/02 DOTA
Python采集腾讯新闻实例
2014/07/10 Python
python开发之文件操作用法实例
2015/11/13 Python
python将txt文档每行内容循环插入数据库的方法
2018/12/28 Python
Gtech官方网站:地毯清洁器、吸尘器及园艺设备
2018/05/23 全球购物
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
什么是Smart Navigation?
2016/07/03 面试题
清明节扫墓活动方案
2014/03/02 职场文书
总经理人事任命书
2014/06/05 职场文书
雷峰塔导游词
2015/02/09 职场文书
大学生旷课检讨书1000字
2015/02/19 职场文书
同步小康驻村工作简报
2015/07/20 职场文书
酒店员工管理制度
2015/08/05 职场文书
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python