使用navicat for mysql图形界面操作数据库、使用node.js操作数据库写接口
1、先启动MYSQL服务
2、打开navicat for mysql, 点击链接,输入如下的内容:

3、新建数据表

4、数据库(新建一个db.js)
//数据库链接配置
module.exports = {
mysql: {
host : 'localhost',
user : 'root',
password : '', //你的密码
database : 'test001' //你的数据库
}
}
5、sql函数(新建一个sqlfun.js)
//sql语句
var sqlMap = {
user: {
login: 'select * from admin where username = ?',
add: 'insert into admin (username,userpsw) values (?,?)'
}
}
module.exports = sqlMap;
6、建立api接口
var URL = require('url'); //获取url参数 依赖于url模块 使用前需要使用 require('url')
var express = require('express');
var router = express.Router();
var models = require('../db');//数据库链接信息
var mysql = require('mysql');
var $sql = require('../sqlfun');//sql语句
//链接数据库
var conn = mysql.createConnection(models.mysql);
conn.connect();
router.post('/login', function(req, res){
var sql = $sql.user.login;
var params = req.body;
conn.query(sql, params.username,function(err, result){
if(err){
console.log(err);
return;
}
if(result){
if(result.length !=){
for(var i = ; i < result.length;i++){
// console.log('请求回来!',result[i]);
if(result[i].userpsw == params.userpsw){
res.send({
code: '',
msg: '登录成功'
})
}else{
res.send({
code: '',
msg: '密码错误'
})
}
}
}else{
res.send({
code: '',
msg: '不存在此用户'
})
}
}
})
})
router.post('/addUser',function(req, res){
var sql = $sql.user.add;
var params = req.body;
console.log([params.username, params.userpsw]);
conn.query(sql, [params.username,params.userpsw], function(err, result){
if(err){
console.log(err);
return;
}
res.send({
code: '',
msg: '注册成功'
})
})
})
module.exports = router;
7、测试页面
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form action="http://localhost:3000/admin/login" method="POST">
First Name: <input type="text" name="username"/><br />
Password: <input type="text" name="userpsw"/>
<input type="submit" value="登录"/>
</form> <br /><br /><br />
<form action="http://localhost:3000/admin/addUser" method="POST">
First Name: <input type="text" name="username"/><br />
Password: <input type="text" name="userpsw"/>
<input type="submit" value="注册新用户"/>
</form> </body>
</html>
参考文章:
使用 Node.js + Express 开发服务端
使用navicat for mysql图形界面操作数据库、使用node.js操作数据库写接口的更多相关文章
- node.js操作MySQL数据库
MySQL数据库作为最流行的开源数据库.基本上是每个web开发者必须要掌握的数据库程序之一了. 基本使用 node.js上,最受欢迎的mysql包就是mysql模块. npm install mysq ...
- 学习笔记之--MySQL图形界面软件Navicat Premium的安装
最近因项目开发需要,搁置已久的MySQL再次用到.由于以前都是使用命令行进行操作的,没有图形界面.经同学介绍,安装了一个MySQL的图形界面软件.各种数据库的操作也变得直观方便了很多.现在记录下来,一 ...
- ubuntu16安装mysql图形界面
之前在windows用sqlyog当做图形界面连接mysql,现在在ubuntu上需要连接测试环境的数据库,需要安装mysql图形界面.安装只需要条命令: sudo apt-get update su ...
- 使用node js 操作 Mysql 数据库
使用node js 操作 Mysql 数据库 http://www.nodejs.org/ //node js 数据库操作 MySQL //使用https://github.com/felixge/n ...
- [Node.js]操作mysql
摘要 上篇文章介绍了node.js操作redis的简单实例,这里介绍如何操作mysql. 安装 安装mysql模块 cnpm install mysql 一个例子 新建一个mysql.js的文件,代码 ...
- node.js操作数据库之MongoDB+mongoose篇
前言 node.js的出现,使得用前端语法(javascript)开发后台服务成为可能,越来越多的前端因此因此接触后端,甚至转向全栈发展.后端开发少不了数据库的操作.MongoDB是一个基于分布式文件 ...
- node.js零基础详细教程(7):node.js操作mongodb,及操作方法的封装
第七章 建议学习时间4小时 课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑. ...
- [Node.js与数据库]node-mysql 模块介绍
[Node.js与数据库]node-mysql 模块介绍 转载至:https://itbilu.com/nodejs/npm/NyPG8LhlW.html#multiple-statement-q ...
- Node.js 操作Mongodb
Node.js 操作Mongodb1.简介官网英文文档 https://docs.mongodb.com/manual/ 这里几乎什么都有了MongoDB is open-source docum ...
随机推荐
- 1、 Shiro框架:认证,授权(验权 2. Shiro框架实现权限控制方式:
1. Shiro框架:认证,授权(验权) a) 认证逻辑:applicationCode—>通过工具类获取subject对象,调用login方法参数令牌信息->安全管理器------> ...
- CentOS集群自动同步时间的一种方法
CentOS集群自动同步时间的一种方法 之前有篇日志是手动同步时间的 http://www.ahlinux.com/os/201304/202456.html 之所以这么干,是因为我们实验室的局域网只 ...
- Win10 DHCP和Static IP 切换
创建两个.bat文件,分别命名为static.bat和dhcp.bat static.bat文件写入 netsh interface ip set address "Wi-Fi" ...
- 25.AVG 函数
定义和用法 AVG 函数返回数值列的平均值.NULL 值不包括在计算中. SQL AVG() 语法 SELECT AVG(column_name) FROM table_name SQL AVG() ...
- Smarty3——从配置文件获取的变量
再使用配置变量前要 引入配置变量即:{$config_load file=‘file_path’}$marty3中可以从配置文件中 用 # 号包起来引用配置文件中的变量({#config_var_na ...
- SQLServer跨库查询--分布式查询
出处:http://www.cnblogs.com/doosmile/archive/2012/03/16/2400646.html --用openrowset连接远程SQL或插入数据 --如果只是临 ...
- [.net 多线程]Semaphore信号量
信号量(Semaphore)是一种CLR中的内核同步对象.与标准的排他锁对象(Monitor,Mutex,SpinLock)不同的是,它不是一个排他的锁对象,它与SemaphoreSlim,Reade ...
- IIS将http强转为https(重定向和重写)
最近接到一个需求,客户希望无论是http还是https请求都可以访问,并且http能转换成https.研究了一圈发现iis的重定向和重写都可以实现http强转https,记录一下. 用到的东东: In ...
- ulua
unity窗口 lua -> Gen LuaWrap + Binder 生成Wrap文件 此类脚本是对Unity中常用的组件进行二次包装 Lua运行后 会把Wrap文件加载到Lua运行环境中 使 ...
- WinForm中的多语言处理
配置文件中存储当前语言环境,切换语言时进行修改,启动程序时读取该配置并设置当前线程的Culture 可根据线程的语言环境动态读取不同的资源文件,不同资源文件名用语言环境文本进行区分