node连接数据库(express+mysql)
操作是在ubuntu系统的下环境,简单记录一下过程。
首先用apt-get安装数据库,键入命令 sudo apt-get install mysql-server , 一路回车,然后在一个界面设置一下数据库root的密码就好了
在数据库里面我们需要创建一些东西。键入 mysql -uroot -p××××× 来进入sql控制台。
1.先创建数据集 create database databasename ;
2.use database databasename ;
3.建表(这里创建一个很简单的,只有自增id,用户名和密码)
create table user_info (
id int(11) not null auto_increment,
username varchar(30) not null,
password varchar(30) not null,
primary key ( id )
)ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
4.插入一条数据 insert into user_info values(1,'mtjss2','123456') ;
下面是node的部分
创建一个文件夹,比如叫myapp,在里面npm init之后就会也node_modules的依赖文件夹
用 npm install --save 安装如下依赖
1.express
2.mysql
3.body-parser(用来解析post参数)
由于express好像没有自己的数据库封装,所以一般会新建models文件夹,然后写数据库的逻辑,如果只是想简单测试可以直接写在app.js中
这里举例在models下有一个user.js的逻辑封装类,暂时只有一个通过username获取用户信息的方法,其他可以以后加
   var mysql = require('mysql') ;
   //connection config
   var connection = mysql.createConnection({
       host : 'localhost' ,
       user : 'root' ,
       password : '123456' ,
       database : 'my_box'
  });
  function User(user){
      this.username = user.username ;
      this.password = user.password ;
  }
  User.getUserbyUsername = function(username,callback){
      var selectSql = 'select * from user_info where username = ?' ;
     connection.query(selectSql,[username],function(err,res){
      ¦   if(err){
      ¦   ¦   console.log('getUserbyUsername err:' + err) ;
      ¦   ¦   return ;
      ¦   }
      ¦   console.log('Get name success') ;
      ¦   callback(err,res) ;
      }) ;
  } ;
  module.exports = User ;
再贴一下app.js暂时没写路由,就是对/和/reg方法的处理
   var mysql = require('mysql') ;
   //connection config
   var connection = mysql.createConnection({
       host : 'localhost' ,
       user : 'root' ,
       password : '123456' ,
       database : 'my_box'
   });
  function User(user){
      this.username = user.username ;
      this.password = user.password ;
  }
  User.getUserbyUsername = function(username,callback){
      var selectSql = 'select * from user_info where username = ?' ;
      connection.query(selectSql,[username],function(err,res){
      ¦   if(err){
      ¦   ¦   console.log('getUserbyUsername err:' + err) ;
      ¦   ¦   return ;
      ¦   }
      ¦   console.log('Get name success') ;
      ¦   callback(err,res) ;
      }) ;
  } ;
  module.exports = User ;
index.html这个主页面在views文件夹下,没什么代码,不过也贴一下
<!DOCTYPE html>
<html>
<head>
<title>my box</title>
</head>
<body>
<form action="/reg" method="post">
<input type="text" name="username"/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
这样用 node app.js 启动以后在浏览器里访问 localhost:3000就行了,在input里输入数据库中的用户名可以的得到那条数据。
node连接数据库(express+mysql)的更多相关文章
- node+pm2+express+mysql+sequelize来搭建网站和写接口
		
前面的话:在这里已经提到了安装node的方法,node是自带npm的.我在技术中会用es6去编写,然后下面会分别介绍node.pm2.express.mysql.sequelize.有少部分是摘抄大佬 ...
 - Vue+node.js+express+mysql实例---对图书信息进行管理
		
一个简单的 CURD 实例 ---对图书信息进行管理 目录 1 开发环境 1.1 前端开发环境 1.2 后端开发环境 2 数据库设计和创建 2.1 数据库和表设计 2.2 book 表设计 2.3 s ...
 - nodejs+express+mysql实现restful风格的增删改查示例
		
首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...
 - 使用 NodeJS+Express+MySQL 实现简单的增删改查
		
关于node.js暂时记录如下,以后有时间一定学习 文章来自简书,作者:sprint,2016-07 使用 Node.js + Express+MySQL 实现简单的增删改查 https://www. ...
 - 进入全屏 nodejs+express+mysql实现restful风格的增删改查示例
		
首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...
 - 应用node+express+mysql  实现简单的增删改查
		
记录下来备忘 1.准备好webstrom编辑器,编辑器调整字体大小等在file->settings->editor下设置 注册码 来源网上: 2017.2.27更新 选择“license ...
 - vue+express+mysql +node项目搭建
		
项目搭建前需要先安装node环境及mysql数据库. 1.利用vue-cli脚手架创建一个vue项目 a.全局安装 npm install -g vue-cli b.初始化项目 vue init we ...
 - Node.js Express连接mysql完整的登陆注册系统(windows)
		
windows学习环境: node 版本: v0.10.35 express版本:4.10.0 mysql版本:5.6.21-log 第一部分:安装node .Express(win8系统 需要&qu ...
 - Node.js连接Mysql,并把连接集成进Express中间件中
		
引言 在node.js连接mysql的过程,我们通常有两种连接方法,普通连接和连接池. 这两种方法较为常见,当我们使用express框架时还会选择使用中间express-myconnection,可以 ...
 - 前端使用node.js+express+mockjs+mysql实现简单服务端,2种方式模拟数据返回
		
今天,我教大家来搭建一个简单服务端 参考文章: https://www.jianshu.com/p/cb89d9ac635e https://www.cnblogs.com/jj-notes/p/66 ...
 
随机推荐
- elasticsearch6 学习之基础CURD
			
环境:elasticsearch6.1.2 kibana6.1.2 基础概念: 1._index元数据 (1)代表一个document存放在哪个index中(2)类似的数据放在一个索引 ...
 - Delphi下使用指针的简单总结
			
由于最近公司太忙,好久没有更新我的BLOG了.原来想着写写关于HOOK驱动的文章,可是最后想想好久已经没有做驱动的东西了,怕写出来有错误,于是作罢.开发游戏也有一段时间了,发现使用DELPHI来开发网 ...
 - windows下面安装redis
			
一.下载windows版本的Redis 链接:https://pan.baidu.com/s/1i6X2klv 密码:j4pi 二.安装Redis 这里下载的是Redis-x64-3.2.100版本, ...
 - 【明哥报错簿】tomcat 安装时出现 Failed to install Tomcat7 service
			
安装tomcat时提示 Failed to install Tomcat7 service 应该是卸载时直接删除目录导致的. Failed to install Tomcat7 service Che ...
 - 【数据库_Mysql】MySQL—修改表时给表添加联合主键约束
			
添加语法如下: “ALTER TABLE table_name ADD CONSTRAINT pk_table_name PRIMARY KEY(列名1,列名2):” [示例1]假设订房信息表(O ...
 - [cogs1065]绿豆蛙的归宿
			
1065. [Nescafe19] 绿豆蛙的归宿 [题目描述] 给出一个有向无环的连通图,起点为1终点为N,每条边都有一个长度.绿豆蛙从起点出发,走向终点.到达每一个顶点时,如果有K条离开该点的道路, ...
 - [BZOJ3172]单词
			
3172: [Tjoi2013]单词 Time Limit: 10 Sec Memory Limit: 512 MB Description 某人读论文,一篇论文是由许多单词组成.但他发现一个单词会 ...
 - CF623D birthday 贪心 概率期望
			
题意:n个人,玩抓人游戏,每抓住一个人都要猜这个人是谁.对于每一局,第i个人有$p_{i}$的概率被抓到.游戏结束当且仅当每个人都在某局中被抓到并且猜中自己的名字,求一个合适的策略来使得期望游戏局数最 ...
 - CF932E Team Work——第二类斯特林数
			
题解 n太大,而k比较小,可以O(k^2)做 想方设法争取把有关n的循环变成O(1)的式子 考虑用公式: 来替换i^k 原始的组合数C(n,i)一项,考虑能否和后面的系数分离开来,直接变成2^n处理. ...
 - 【BZOJ 4449】[Neerc2015]Distance on Triangulation 多边形分治结构
			
这题好神啊……正解方向是分治,据我所知的分治方法有:I.离线后直接对多边形以及所有的询问进行分治 II.建立多边形的分治结构(对于三角形来说类似线段树,对于对角线来说类似平衡树),然后每次在这个分治结 ...