mysql 基础
类型
数值
tinyint(m)
小整数,范围 -128~127 0~255
int(m)
整数,范围-2147483648 ~ 2147483647 0 ~ 4294967295
m仅用于显示,对存储范围无限制
bigint(m)
大整数 范围 -9223372036854775808 ~ 9223372036854775807 0 ~ 18446744073709551615
decimal(m,d)
精确的小数值,m是数字总个数,d是小数点后位数,m最大65,d最大30
float(m,d)
不准确的小数值,单精度浮点数,
范围 有符号-3.402823466E+38 to -1.175494351E-38,0 1.175494351E-38 to 3.402823466E+38
无符号 0 1.175494351E-38 to 3.402823466E+38
double(m,d)
双精度浮点数,非准确小数值
范围 有符号 -1.7976931348623157E+308 to -2.2250738585072014E-308 0 2.2250738585072014E-308 to 1.7976931348623157E+308
无符号 0 2.2250738585072014E-308 to 1.7976931348623157E+308
时间
DATE
YYYY-MM-DD
TIME
HH:mm:ss
YEAR
YYYY
DATETIME
YYYY-MM-DD HH:mm:SS
TIMESTAMP
YYYY-MM-DD HH:mm:SS
### 特性:
- 在创建记录和修改现有记录的时候刷新 TIMESTAMPDEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
- 在创建记录时候设置为当前时间,修改时不刷新 TIMESTAMPDEFAULT CURRENT_TIMESTAMP
- 创建记录时设置为0,以后修改时刷新 TIMESTAMPON UPDATE CURRENT_TIMESTAMP
- 创建记录时设置为给定值,修改的时候刷新
TIMESTAMPDEFAULT ‘yyyy-mm-dd hh:mm:ss’ ONUPDATE CURRENT_TIMESTAMP
将updatestamp 设置为null 或者now() 就是更新为当前值 DATE_FORMAT(date1,’%Y-%m-%d %H:%i:%s’)
字符串
char(m)
固定长度的字符串,m最大255
varchar(m)
不固定长度的字符串,m最大255(mysql5.0及以上版本中的最大长度为65535)
text
保存变长的大字符串,最大可到65535 (2**16 -1)
mediumtext
保存字符串,最大2**24-1
longtext
保存字符串,最大2**32-1 或 4gb
enum
枚举类型,最大数量65535 实际最大少于3000个
set
最多成员数量 64 ,插入数据是set设定集合的子集或全集

存储引擎
InnoDB MyISAM MEMORY BOB
美吧数据库创建过程
数据库 —
- 用户表
- 文章表 –> 文章内容大字段表
- 用户关系表(关注,粉丝)
- 评论表
- 系统配置表 (类别)
- 文章操作日志(分享,点赞…)