Node+Express+MySql实现简单增删改查和登录
var express = require('express');
var mysql = require('mysql');
var app = express();
var bodyParser = require('body-parser');
//链接数据库
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '123456',
database: 'school'
});
connection.connect();
// 创建 application/x-www-form-urlencoded 编码解析(post方法)
var urlencodedParser = bodyParser.urlencoded({ extended: false })
//设置跨域访问
app.all('*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("Content-Type", "application/json;charset=utf-8");
next();
});
//登录
app.post('/login',urlencodedParser, function (req, res) {
var username = req.body.username;
var password = req.body.password;
var sql = `select * from login where username = '${username}' and password = '${password}'`;
connection.query(sql, function (err, result) {
console.log(result)
if (err || result.length == 0) {
res.status(200),
res.json("登陆失败")
} else {
res.status(200),
res.json("登陆成功")
}
});
})
//查询
app.get('/query', function (req, res) {
var sql = 'select * from student';
connection.query(sql, function (err, result) {
if (err) {
console.log('err:', err.message);
}
console.log(result);
res.status(200),
res.json(result)
});
});
//修改
app.get('/change', function (req, res) {
var SNO = req.query.SNO;
var SNAME = req.query.SNAME;
var SDEPT = req.query.SDEPT;
var sql = `update student set SNAME = '${SNAME}',SDEPT = '${SDEPT}' where SNO = '${SNO}'`;
connection.query(sql, function (err, result) {
if (err) {
console.log('err:', err.message);
}
console.log(result);
res.status(200),
res.json("修改成功")
});
})
//添加
app.get('/add', function (req, res) {
console.log(req.query)
var SNO = req.query.SNO;
var SNAME = req.query.SNAME;
var SDEPT = req.query.SDEPT;
var sql = `insert into student values ('${SNO}','${SNAME}','${SDEPT}')`;
connection.query(sql, function (err, result) {
if (err) {
console.log('err:', err.message);
}
console.log(result);
res.status(200),
res.json("添加成功")
});
})
//删除
app.get('/delete', function (req, res) {
console.log(req.query)
var SNO = req.query.SNO;
var sql = `delete from student where SNO='${SNO}'`;
connection.query(sql, function (err, result) {
if (err) {
console.log('err:', err.message);
}
console.log(result);
res.status(200),
res.json("删除成功")
});
})
// connection.end();
//配置服务端口
var server = app.listen(8080, function () {
var host = server.address().address;
var port = server.address().port;
console.log('http://', host, port);
})
github:https://github.com/Rossy11/no...
Node+Express+MySql实现简单增删改查和登录的更多相关文章
- Node 连接Mysql并进行增删改查
NPM: NPM的全称是Node Package Manager,类似于ruby的gem,Python的PyPL.setuptools,PHP的pear,是Nodejs中的包管理器.Nodejs自身提 ...
- 学生信息管理系统--基于jsp技术和MySQL的简单增删改查
web实现增删改查的方式有很多啊,对于初学者来说当然是要先了解各部分的传值的方式.本篇博客从jsp技术的最基础方面进行说明. 一.什么是jsp技术 首先,我们要了解什么是jsp技术. jsp技术是基于 ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- 国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作
专题目录 国产化之路-统信UOS操作系统安装 国产化之路-国产操作系统安装.net core 3.1 sdk 国产化之路-安装WEB服务器 国产化之路-安装达梦DM8数据库 国产化之路-统信UOS + ...
- Mybatis实现简单增删改查
Mybatis的简单应用 学习内容: 需求 环境准备 代码 总结: 学习内容: 需求 使用Mybatis实现简单增删改查(以下是在IDEA中实现的,其他开发工具中,代码一样) jar 包下载:http ...
- ado.net的简单数据库操作(三)——简单增删改查的实际应用
果然,在犯困的时候就该写写博客,写博客就不困了,哈哈! 上篇我记录了自己的SqlHelper的开发过程,今天记录一下如何使用这个sqlhelper书写一个具有简单增删改查的小实例啦. 实例描述:在数据 ...
- Redis:五种数据类型的简单增删改查
Redis简单增删改查例子 例一:字符串的增删改查 #增加一个key为ay_key的值 127.0.0.1:6379> set ay_key "ay" OK #查询ay_ke ...
- shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)
shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...
- 手撸Mysql原生语句--增删改查
mysql数据库的增删改查有以下的几种的情况, 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER SHOW 2.DML语句 数据库操纵语言: ...
随机推荐
- BZOJ 3162: 独钓寒江雪 树的同构 + 组合 + 计数
Description Input Output 求一棵树编号序列不同的方案数: 令 $f[u],g[u]$ 分别表示 $u$ 选/不选 的方案数. 则 $f[u]=\prod_{v\in son ...
- BZOJ 3545: [ONTAK2010]Peaks 启发式合并 + 离线 + Splay
Description 在Bytemountains有N座山峰,每座山峰有他的高度h_i.有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问询 ...
- [业务监控系统]MEDIVH架构设计和接入方案
Medivh监控系统- 系统介绍 本系统旨在提供业务监控实时数据和历史数据以及报表.阈值报警.同比增长分析等一体化的历史业务数据解决方案. 技术选型 sdk部门有C#版和java版,api和websi ...
- create-react-app 构建的项目使用 mobx (说到底就是为了使用装饰器语法对 babel 做些配置
在 create-react-app 命令行构建的 React 项目中使用 Mobx 会出现如下警告: Support for the experimental syntax 'decorators- ...
- 通过PPA存储库在UBUNTU或LINUX MINT中安装ORACLE JAVA 8 [JDK8]
http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html sudo add-apt-repository ...
- logstash之Input插件
1:stdin标准输入和stdout标准输出 首先执行命令: bin/logstash -e 'input { stdin { } } output { stdout { codec => ...
- 简单记录一下vue生命周期及 父组件和子组件生命周期钩子执行顺序
首先,vue生命周期可以用下图来简单理解 当然这也是官方文档的图片,详细的vue周期详解请参考这里 然而当同时存在父子组件的时候生命周期钩子是如何执行的呢? 请看下文: 加载渲染过程父beforeCr ...
- 使用Vue前端框架实现知乎日报app
这是:主页代码 <template> <view class="content"> <view class="uni-list"& ...
- 图的普里姆(Prim)算法求最小生成树
关于图的最小生成树算法------普里姆算法 首先我们先初始化一张图: 设置两个数据结构来分别代表我们需要存储的数据: lowcost[i]:表示以i为终点的边的最小权值,当lowcost[i]=0说 ...
- Oracle JET 使用RequireJS第三方工具或库引入
在 Oracle JET 应用程序中使用 RequireJS 添加第三方工具或库. 步骤: 1.如果使用工具框架脚手架,需要一下操作. a.使用 npm 安装你需要的库. npm install my ...