OAuthor2.0初步了解和MySQL回顾
OAuth2.0
初识OAuth2.0,个人理解:因为起初的各种第三方登录会直接获取到第三方平台的个人账户密码,获取到三方平台的全部权限,这样对用户来说是极其不安全的,信息完全透明化,用户不可以自定义,没有撤销操作,要想撤销授权只能修改密码,但是修改了密码之后,全部平台的授权都会失效,在此环境下,OAuthor诞生了。
在用户与服务商中间插入了一个角色,三方平台的管理,服务商想要申请三方平台的免密登录资格,必须向三方平台提供相应的资质才能够拥有资格,三方平台会返回给服务商一个唯一标识码,标识码用于告知三方平台使用者的身份。用户可以自定义服务商能够获取的权限,授权只保存token,每个token又是独立的,用户可以单个撤销服务商的权限。
下午过了一下mysql的一些命令,mysql还需要继续深入学习
MySQL
连接数据库,命令行操作
mysql -uroot -proot
--所有的语句都要以分好结尾
show databases; --查看全部数据库
show tables; --查看库中所有的表
use school; --进入指定的库
describe student;--显示表中所有的信息
create database test01;--创建一个数据库,数据库名前面可加
[if not exists]->如果不存在
create table student;--创建一个表,数据库名前面可加
[if not exists]->如果不存在,表名后面可以加
drop database test01;-- 移除数据库,[if exists]->如果存在
exit;--退出连接
------------------------------------------
建表
create table if not exists student1 (
`id` int(4) not null auto_increment comment '学号',
`name` varchar(100) default '匿名' not null comment '姓名',
`age` int(3) not null comment '年龄',
`sex` varchar(2) default'男' comment '性别',
`pwd` int(16) not null default '123456' comment '密码',
`birthad` varchar(10) default null comment '出生日期',
`address` varchar(100) default null comment '家庭住址',
`email` varchar(20) default null comment '邮件',
primary key (`id`)
)engine=innodb default charset='utf8'
-- 也可以只创建一张空表
create table if not null student
-- not null 设置为不为空
-- auto_increment 设置字段自增长
-- comment 给字段加上注释
-- default 字段设置默认显示
-- primary key (id) 设置id为主键
-- --------------------------------------------
格式
create table [if not exists] 表名(
`字段名` 数据类型() [属性] [索引][注释],
`字段名` 数据类型() [属性] [索引][注释],
`字段名` 数据类型() [属性] [索引][注释]
......
`字段名` 数据类型() [属性] [索引][注释]
)[表类型][字符集设置]
show create database school -- 查看创建数据库的语句
show create table student1 -- 查看创建表的语句
desc studnet1 -- 显示表的结构
数据库的数据类型
数值
- tinyint 十分小的数据 1个字节
- small 较小的数据 2个字节
- mediumint 中间的数据 3个字节
- int 标准的数据 4个字节
- bigint 较大的数据 8个字节
- float 单精度浮点数 4个字节
- double 双精度浮点数 8个字节
- decimal 字符串型浮点数 金融计算,一般都是用decimal
字符串
- char 字符串大小固定 0~255
- varchar 可变字符串 0~65535 常用的,对应String
- tinytext 微型文本 2^8-1
- text 文本 2^16-1
日期
- date YYYY-MM-DD 日期
- time HH:mm:ss 时间
- datetime YYYY-MM-DD:HH:mm:ss
- timestamp 时间戳 1970.1.1到现在的毫秒数
- year 年份表示
null 空值
数据库的字段属性
Unsigned:勾选之后改字段的值不能为负数
zerofill:0填充的,假如说该字段设置为int类型长度为3,你输入的值是5,默认给你填充为5---->005
自增:自动在上一条数据的基础上+1,通常用来设置唯一的主键
非空:null and not null
默认:用于给字段设置默认值
数据库表的字段定义规范
id 主键
version 用来定义乐观锁的
is_delete 伪删除
gmt_create 创建时间
gmt_update 更新时间
关于数据库引擎的区别
/*
Innodb 默认使用
Myisam
*/
| Myisam | Innodb | |
|---|---|---|
| 事务支持 | 不支持 | 支持 |
| 数据行锁定 | 不支持 | 支持 |
| 外键约束 | 不支持 | 支持 |
| 全文索引 | 支持 | 不支持 |
| 表空间大小 | 较小 | 较大,约2倍 |
常规使用操作:
-
MYISAM 节约空间,速度较快
-
INNODB 安全性高,事务的处理,多表多用户操作
在物理空间存在的位置
所有的数据库文件都存放在data目录下
本质还是文件的存储!
MySQL引擎在屋里文件上的区别
- InnoDB 在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件
- MYISAM 对应文件
- *.frm -表结构的定义文件
- *.myd 数据文件(data)
- *.MYI 索引文件(index)
设置数据库表的字符集编码
charset=utf8
不设置是mysql默认的。不支持中文
修改表
-- 修改表名
-- 公式: alter table 表名 rename as 新表名
alter table student1 rename as student2 -- 修改表student1的表名为student2
-- 增加表的字段
-- 公式: alter table 表名 add 字段名 属性
alter table student1 add age int(11)
-- 修改表的字段(重命名,修改表的约束)
-- 修改约束 公式:alter table 表名 modify 字段名 属性
alter table student1 modify age varchar(11)
-- 重命名 公式:alter table 表名 change 字段名 新字段名 [属性]
alter table student1 change age age1 int(1)
-- 删除表的字段
-- 公式:alter table 表名 drop 字段名
alter table student1 drop age1
删除表
-- 公式:alter table [if exists] 表名
alter table student1

浙公网安备 33010602011771号