初步使用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在IE或Firefox下获取鼠标位置的代码
Dec 18 Javascript
js调试系列 初识控制台
Jun 18 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
Dec 08 Javascript
Javascript基础_标记文字的实现方法
Jun 14 Javascript
js实现可输入可选择的select下拉框
Dec 21 Javascript
Javascript同时声明一连串(多个)变量的方法
Jan 23 Javascript
javascript数组拍平方法总结
Jan 20 Javascript
Vue导出页面为PDF格式的实现思路
Jul 31 Javascript
vue 修改 data 数据问题并实时显示的方法
Aug 27 Javascript
vue多层嵌套路由实例分析
Mar 19 Javascript
在vue中使用echars实现上浮与下钻效果
Nov 08 Javascript
vue移动端写的拖拽功能示例代码
Sep 09 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 magic_quotes_gpc的一点认识与分析
2008/08/18 PHP
php 格式化数字的时候注意数字的范围
2010/04/13 PHP
fgetcvs在linux的问题
2012/01/15 PHP
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
PHP魔术引号所带来的安全问题分析
2014/07/15 PHP
基于thinkPHP框架实现留言板的方法
2016/10/17 PHP
Laravel5框架自定义错误页面配置操作示例
2019/04/17 PHP
javascript 无提示关闭窗口脚本
2009/08/17 Javascript
关于Mozilla浏览器不支持innerText的解决办法
2011/01/01 Javascript
js判断60秒以及倒计时示例代码
2014/01/24 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
2015/01/24 Javascript
JS简单模拟触发按钮点击功能的方法
2015/11/30 Javascript
Bootstrap基本样式学习笔记之按钮(4)
2016/12/07 Javascript
JS基于onclick事件实现单个按钮的编辑与保存功能示例
2017/02/13 Javascript
JavaScript学习笔记之惰性函数示例详解
2017/08/27 Javascript
vue多种弹框的弹出形式的示例代码
2017/09/18 Javascript
浅谈Angular路由复用策略
2017/10/04 Javascript
微信小程序如何获取用户信息
2018/01/26 Javascript
vue.js 使用axios实现下载功能的示例
2018/03/05 Javascript
详解vue axios二次封装
2018/07/22 Javascript
详解微信小程序用定时器实现倒计时效果
2019/04/30 Javascript
vue实现动态按钮功能
2019/05/13 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
玩转python爬虫之URLError异常处理
2016/02/17 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
python中常用的数据结构介绍
2021/01/12 Python
关于探究python中sys.argv时遇到的问题详解
2021/02/23 Python
大专计算机个人求职的自我评价
2013/10/21 职场文书
市场专员岗位职责
2014/02/14 职场文书
王金山在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
事业单位个人总结
2015/02/12 职场文书
2016国培研修心得体会
2016/01/08 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
入门学习Go的基本语法
2021/07/07 Golang
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL
详解redis在微服务领域的贡献
2021/10/16 Redis