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新建表

vue+node+mySql实现前后端分离

使用navicat for mysql图形界面操作数据库、使用node.js操作数据库写接口的更多相关文章

  1. node.js操作MySQL数据库

    MySQL数据库作为最流行的开源数据库.基本上是每个web开发者必须要掌握的数据库程序之一了. 基本使用 node.js上,最受欢迎的mysql包就是mysql模块. npm install mysq ...

  2. 学习笔记之--MySQL图形界面软件Navicat Premium的安装

    最近因项目开发需要,搁置已久的MySQL再次用到.由于以前都是使用命令行进行操作的,没有图形界面.经同学介绍,安装了一个MySQL的图形界面软件.各种数据库的操作也变得直观方便了很多.现在记录下来,一 ...

  3. ubuntu16安装mysql图形界面

    之前在windows用sqlyog当做图形界面连接mysql,现在在ubuntu上需要连接测试环境的数据库,需要安装mysql图形界面.安装只需要条命令: sudo apt-get update su ...

  4. 使用node js 操作 Mysql 数据库

    使用node js 操作 Mysql 数据库 http://www.nodejs.org/ //node js 数据库操作 MySQL //使用https://github.com/felixge/n ...

  5. [Node.js]操作mysql

    摘要 上篇文章介绍了node.js操作redis的简单实例,这里介绍如何操作mysql. 安装 安装mysql模块 cnpm install mysql 一个例子 新建一个mysql.js的文件,代码 ...

  6. node.js操作数据库之MongoDB+mongoose篇

    前言 node.js的出现,使得用前端语法(javascript)开发后台服务成为可能,越来越多的前端因此因此接触后端,甚至转向全栈发展.后端开发少不了数据库的操作.MongoDB是一个基于分布式文件 ...

  7. node.js零基础详细教程(7):node.js操作mongodb,及操作方法的封装

    第七章 建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑. ...

  8. [Node.js与数据库]node-mysql 模块介绍

    [Node.js与数据库]node-mysql 模块介绍   转载至:https://itbilu.com/nodejs/npm/NyPG8LhlW.html#multiple-statement-q ...

  9. Node.js 操作Mongodb

    Node.js 操作Mongodb1.简介官网英文文档  https://docs.mongodb.com/manual/  这里几乎什么都有了MongoDB is open-source docum ...

随机推荐

  1. Mybatis——缓存机制

    MyBatis 包含一个非常强大的查询缓存特性,它可以非常方便地配置和定制.缓存可以极大的提升查询效率. MyBatis系统中默认定义了两级缓存. 一级缓存和二级缓存. 1.默认情况下,只有一级缓存( ...

  2. Jmeter接口测试-完成任务API

    完成任务 PUT /api/tasks/:task_id 可以完成id为task_id的task,如果动作成功,该接口返回的task的done字段会变成true. 完成任务的api接口测试很简单,因为 ...

  3. php无限级分类

    使用递归方法,遍历子类,对数据进行重新排序,使用level进行无限级分类 /** * 功能:无限级分类 * 参数:$data 类别查询结果集 * 返回值:$arr 排序后的数组 */ public f ...

  4. 希尔伯特空间(Hilbert Space)是什么?

    希尔伯特空间是老希在解决无穷维线性方程组时提出的概念, 原来的线性代数理论都是基于有限维欧几里得空间的, 无法适用, 这迫使老希去思考无穷维欧几里得空间, 也就是无穷序列空间的性质. 大家知道, 在一 ...

  5. ajax data参数

    表单 使用serializeArray获取所有: <form id='addForm' action='UserAdd.action' type='post'> <label for ...

  6. WPF程序开机速度策略

    WPF程序开机速度慢是一个很讨厌的问题.具体分析后,可能有以下问题 1.在主线程中加载图像导致 2.初始化各种UserControl导致 3.加载类库导致

  7. golang subprocess tests

    golang Subprocess tests Sometimes you need to test the behavior of a process, not just a function. f ...

  8. lfs原理

  9. linux下关闭防火墙命令

    今天使用linux虚拟机搭建jenkins,但是在虚拟机内部使用浏览器可以访问jenkins主页,在物理机上却无法访问jenkins主页,查找原因后是因为linux虚拟机没有关闭防火墙,关闭防火墙后, ...

  10. React基础篇(2) -- state&props&refs

    内容简介 state props refs 行内样式及动态类名 state 基本介绍 React 把组件看成是一个状态机(State Machines).通过与用户的交互,实现不同状态,然后渲染 UI ...