数据库分类
文件型:简单 - access、sqlite
关系型:Mysql、Oracle
分布式:MongoDB
NoSQL : memcache、redis、MongoDB
数据库管理工具
mysql 管理工具: navicat、phpmyadmin
同一个项目,很有可能要借助多种数据库,来完成任务
mysql数据库基础设置
- 库格式(编码)设置 :
utf8_general_ci //一般使用
big5_chinese_ci //国内,偏旁部首排序
- 表 设置
表名称,列数
- 字段设置
A_I (auto_increment) 勾选,针对某一个字段,自动增加
索引设置:
PRIMARY (主键:不重复,性能高)
UNIQUE (不重复)
常用类型设置:
1.整型
2.文本类型
VARCHAR 32 位 (VARCHAR 区域别 CHAR 是在范围内可变长度)
text 2GB
3.数字类型: INT
mysql、co-mysql
co-mysql 作用,将mysql中异步回调形式,令其可以使用async await形式
安装:
npm install mysql co-mysql -D
使用:
const http = require('http');
const mysql = require('mysql');
const co = require('co-mysql');
const Koa = require('koa');
let conn = mysql.createPool({
connectionLimit:10, //连接数,默认10个
host:'localhost',
user:'root',
password:'',
database:'数据 库名'
port:3306 //默认服务器端口
});
let db = co(conn); //异步连接
let App = new Koa();
App.listen(8080);
App.context.db = db; //可以在任意模块中使用 ctx.db操作数据库
App.use(async (ctx,next)=>{
try{
//依靠co-mysql可以使用async await的书写形式
let data = await ctx.db.query('SELECT * FROM 表名');
next();
}catch(e){
console.log('error',e);
}
});
App.use(async (ctx,next)=>{
//传统回调书写的形式
db.query('SELECT * FROM 表名',(err,data)=>{
if(err){
console.log(err);
}else{
console.log(data);
}
});
});
网友评论