首页 » 数据库 » MySQL » MySQL库表数据属性规范

MySQL库表数据属性规范

2019年7月1日 噼里啪啦酱 MySQL

建表规范

建表规范:
1. 表名小写
2. 不能是数字开头
3. 注意字符集和存储引擎
4. 表名和业务有关
5. 选择合适的数据类型
6. 每个列都要有注释
7. 每个列设置为非空,无法保证非空,用0来填充。

常用数据类型

类型 类型 用途及范围
整数类型 tinyint 最小整数 -128 ~ 127,常用于年龄,小整数值
int 整数 -2^31 ~ 2^31 十位以下的数字,大整数值
浮点数 float 单精度浮点数
double 双精度浮点数
枚举 enum 由一组固定的合法值组成的枚举(男女性别等)
时间类型 date 日期值:YYYY-MM-DD
time 时间值或持续时间:HH:MM:SS
year 年份值:YYYY
datetime (1000-01-01~9999-12-31)显示: 年-月-日 时:分:秒
timestamp (1970-01-01~2038-01-01)
字符串类型 char 定字符类型
varchar 可变字符串
text 长文本数据

数据属性、列属性

# primary key:主键约束
设置为主键的列,此列的值必须非空且唯一,主键在一个表中只能有一个,但是可以有多个列一起构成。

# not null:非空约束
列值不能为空,也是表设计的规范,尽可能将所有的列设置为非空。可以设置默认值为0

# unique key:唯一键
列值不能重复,单独唯一的

# key:索引
可以在某列上建立索引,来优化查询,一般是根据需要后添加

# unsigned:无符号
针对数字列,非负数。

# default:默认值
列中,没有录入值时,会自动使用default的值填充

# auto_increment:自增长
针对数字列,顺序的自动填充数据(默认是从1开始,将来可以设定起始点和偏移量)
自增(此列必须是:primary key或者unique key)

# comment:注释

建表格式

# 语法格式:
create table stu(
列1  属性(数据类型、约束、其他属性) ,
列2  属性,
列3  属性
)

# 例子:
mysql>CREATE TABLE student1 (
    ->sno VARCHAR(20) NOT NULL PRIMARY KEY COMMENT '学号',
    ->sname VARCHAR(20) NOT NULL COMMENT '学生姓名',
    ->sage TINYINT UNSIGNED NOT NULL COMMENT '学生年龄',
    ->ssex enum ('1', '0') NOT NULL DEFAULT '1' COMMENT '学生性别(1是男,0是女)默认为男',
    ->sbirthday datetime NULL COMMENT '学生生日',
    ->class VARCHAR  NOT NULL COMMENT '学生班级' 
    ->);

表属性

# 存储引擎:
InnoDB(默认的)

# 字符集和排序规则:
utf8---中文占3个字符       
utf8mb4---中文占4个字符

后续再补充




说点什么
好耶,沙发还空着ヾ(≧▽≦*)o
Loading...
Prev Post Next Post