node.js数据库操作
node 中使用mysql
const http = require('http');
const mysql = require('mysql');
const url = require('url');
const fs = require('fs'); //1.连接到数据库
let db = mysql.createConnection({
host:'localhost',
user: 'root',
password:'',
database:''
}); //连接池【解决并发问题】
/*let db = mysql.createPool({
connerctionLimit: 10,//默认就是10
host:'localhost',
user: 'root',
password:'',
database:''
});*/ //查询
db.query('SELECT * FORM user_Table',(err,data)=>{
if(err){
console.log('错了');
}else{
console.log(data);
}
}); //2.配合http
http.createServer((req,res)=>{
const {pathname,query} = url.parse(req.url,true); if(pathname === '/reg'){
//参数是否正确
let {username,password} = query;
if(!username || !password) {
res.write('用户和密码不能为空');
res.end();
}else if(username.length>32){
res.write('用户名不能大于32位');
res.end();
}else if(password.length>32){
res.write('密码不能大于32位');
res.end();
}else{
db.query(`SELECT ID FROM user_table WHERE username='${username}'`,(err,data)=>{
if(err){
res.write('数据库有错');
res.end();
}else if(data.length>0){
res.write('用户名已存在');
res.end();
}else{
db.query(`SELECT INFO user_table (username,password) VALUES('${username}','${password}')`,err=>{
if(err){
res.write('数据库有错');
res.end();
}else {
res.write('注册成功');
res.end();
}
})
}
})
} //检查用户名是否存在 }else if(pathname === '/login'){ }else{
fs.readFile('www'+pathname,(err,buffer)=>{
if(err){
res.writeHeader(404);
res.write('no found');
}else{
res.write(buffer);
}
res.end();
})
}
}) 3.异步模块(co-mysql)
const co = require('co-mysql');
let conn = mysql.createPool({
host:'localhost',
user: 'root',
password:'',
database:''
}); let db = co(conn); http.createServer(async (req,res)=>{
const {pathname,query} = url.parse(req.url,true); if(pathname === '/reg'){
//参数是否正确
let {username,password} = query;
if(!username || !password) {
res.write('用户和密码不能为空');
res.end();
}else if(username.length>32){
res.write('用户名不能大于32位');
res.end();
}else if(password.length>32){
res.write('密码不能大于32位');
res.end();
}else{
try{
let data = await db.query(`SELECT ID FROM user_table WHERE username='${username}'`);
if(data.length>0){
res.write('用户名已存在');
}else{
await db.query(`SELECT INFO user_table (username,password) VALUES('${username}','${password}')`);
res.write('注册成功');
}
}catch(err){
res.write('数据库有错');
}
res.end();
} //检查用户名是否存在 }else if(pathname === '/login'){ }else{
fs.readFile('www'+pathname,(err,buffer)=>{
if(err){
res.writeHeader(404);
res.write('no found');
}else{
res.write(buffer);
}
res.end();
})
}
})
node.js数据库操作的更多相关文章
- node.js高效操作mongodb
node.js高效操作mongodb Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为Jav ...
- Node.js 数据库实时监控库 node-dbmon
node-dbmon 是一个 Node.js 数据库实时监控库,如果你希望在数据库表数据更改后,或者是文件修改后能更新 GUI,那么这个库正好适合你. https://github.com/strap ...
- Node.js之操作文件系统(一)
Node.js之操作文件系统(一) 1. 同步方法与异步方法 在Node.js中,使用fs模块来实现所有有关文件及目录的创建.写入及删除操作.,在fs模块中,所有对文件及目录的操作都可以使用同步与异步 ...
- Node.js之操作文件系统(二)
Node.js之操作文件系统(二) 1.创建与读取目录 1.1 创建目录 在fs模块中,可以使用mkdir方法创建目录,该方法的使用方法如下: fs.mkdir(path,[mode],callbca ...
- 在Node.js中操作文件系统(一)
在Node.js中操作文件系统 在Node.js中,使用fs模块来实现所有有关文件及目录的创建,写入及删除操作.在fs模块中,所有对文件及目录的操作都可以使用同步与异步这两种方法.比如在执行读文件操作 ...
- Node.js文件操作二
前面的博客 Node.js文件操作一中主要是对文件的读写操作,其实还有文件这块还有一些其他操作. 一.验证文件path是否正确(系统是如下定义的) fs.exists = function(path, ...
- mongoose - 让node.js高效操作mongodb
Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用. ...
- MONGOOSE – 让NODE.JS高效操作MONGODB(转载)
Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用. ...
- Node.js简单操作
在node中是不支持BOM和DOM操作的,所以像alert().document.write...都是不支持的,可以是console.log() 首先我们来输出"hello world&qu ...
随机推荐
- Spark2.x(六十二):(Spark2.4)共享变量 - Broadcast原理分析
之前对Broadcast有分析,但是不够深入<Spark2.3(四十三):Spark Broadcast总结>,本章对其实现过程以及原理进行分析. 带着以下几个问题去写本篇文章: 1)dr ...
- MySQL索引原理(一)
MySQL索引原理 索引目的 索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql.如果没有索引,那么你可能需 ...
- p7zip p7zip -d 7z
- 数码视讯Q7的刷机
Q7的硬件配置 CPU: S905LRAM: MIRA P3P4GF4DMF DDR3 512MB * 2 = 1GBROM: 镁光29F64G08CBABB * 1 = 8GBWIFI: RTL81 ...
- 《自然语言理解(Natural Language Understanding)》(2016-03-17)阅读笔记
原文链接:https://yq.aliyun.com/articles/8301 作者:李永彬 发布时间:2016-03-17 16:37:47 自然语言理解(Natural Language Und ...
- ps 渐进式图片的技巧(支持jpg,gif,png)
https://www.zhangxinxu.com/wordpress/2013/01/progressive-jpeg-image-and-so-on/ CTRL + SHIFT + ALT + ...
- 试图从目录中执行 CGI、ISAPI 或其他可执行程序
首先来看我遇到问题时的情况,直接上图! 从上图的错误提示信息可以看出,是权限不够,被拒绝访问,开始我以为是我的程序的php程序的原因,但是其他站点没事啊,就对这个站点的权限重新分配了下,给了最高权 ...
- 从 SVN 迁移至 Git 并保留所有 commit 记录
yum install -y git-svn 用户映射文件user.txt,等号左边为svn账号,右边为Git用户名和邮箱.注意:svn中有多少用户就要映射多少 test1=test1<1472 ...
- 支付宝小程序开发——如何获取支付宝小程序页面的https链接
前边介绍过通过配置支付宝Scheme协议alipays://来实现h5到小程序的跳转,其实还可以获取小程序页面的https格式链接,虽然支付宝官方并没有直接提供方案,但是通过小程序后台的“码管理”给页 ...
- scrapy爬虫案例:问政平台
问政平台 http://wz.sun0769.com/index.php/question/questionType?type=4 爬取投诉帖子的编号.帖子的url.帖子的标题,和帖子里的内容. it ...