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 ...
随机推荐
- File checksum
File checksum https://golang.org/pkg/io/#Copy https://blog.iphpo.com/blog/2017/03/golang-產生檔案的md5-ha ...
- boot2docker
boot2docker 简介 boot2docker是解决非linux系统下运行Docker容器不方便的工具 官方介绍 Boot2Docker是在Windows操作系统上运行Docker的唯一方法,现 ...
- zz 勵志貼,成功是努力加对的方向
5-6年工作经验程序员初进大厂,如何适应工作? 李苦李 李苦李 华为 架构师 318 人赞同了该回答 泻药! 与题主背景非常相似. 本人毕业8年+,普通二本,学历不突出,非计算机专业. 唯一不同的 ...
- anaconda 安装指定源的包
当前知道的有两种方式可以查找: 1.conda search 命令:conda search pkg_name 安装的时候直接:conda install cudatoolkit=版本后 conda ...
- Oracle系列十五 控制用户权限
权限 数据库安全性 --系统安全性 --数据安全性 系统权限: 对于数据库的权限 对象权限: 操作数据库对象的权限 系统权限 超过一百多种有效的权限 数据库管理员具有高级权限以完成管理任务,例如: 创 ...
- 解决python3.7无法使用HTMLTestRunner.py生成html测试报告的问题2019.04
**一:首先下载这个HTMLTestRunner.py文件:链接: https://pan.baidu.com/s/1jQFsMYLM3ysY6shgRF40Kw 提取码: evq2二:把该文件放在p ...
- Android studio:URI is not registered 的解决办法
今天新导入一个android studio的工程,发现在布局文件中报URI is not registerd的错误,布局文件的命名空间变成红色的了. 解决方案: 进入 File->Setting ...
- redis-cli中文乱码
在开发过程中,需要验证redis缓存中的数据,发现redis存储的中文全是乱码,因为默认情况下redis不转义中文.如果在平常开发中想要看到中文内容,可以在使用redis-cli 命令登陆redis服 ...
- bash命令检测Shell脚本中的语法错误和查看详细执行过程
(1).bash命令检测Shell脚本中的语法错误 bash -v [脚本] [root@youxi1 ~]# vim a.sh #/bin/bash sum=$[$1+$2] echoo $sum ...
- springboot 读取配置文件
读取配置文件 在以前的项目中我们主要在 XML 文件中进行框架配置,业务的相关配置会放在属性文件中,然后通过一个属性读取的工具类来读取配置信息. 在 Spring Boot 中我们不再需要使用这种方式 ...