字段的数据类型
命名规则
- 字段必须以字母开头
- 长度不能超过30个字符
- 不能使用sql保留字,如where,order。
- 只能使用az,AZ,0-9,$,_等。
- oracle习惯全大写,mysql习惯全小写。
- 多个单词用下划线分割。
-
字符
- char:长度固定,最大为2000字符。
- varchar:可变长字符,最大为4000字符。
- text(大量文字)
UTF-8编码下一个汉字占三个字节。
-
数字
- tinyint:int整数类型。
- float,double: 小数类型。
- numberic(5,2),decimal(5,2):表示小数,五位数,保留两位小数。
- numberic,decimal:表示精准的整数数字。
-
日期
- date:包含年月日
- time:包含时分秒
- datetime:包含年月日时分秒
- timestamp:时间戳。
字段约束
-
主键约束primary key
create table user( id int(10) primary key, name varchar(20) );
-
外键约束foreign key- 将自己的表数据和外表一个表数据绑定。
create table class{ id int(10) primary key, name varchar(20), forgeign key(id) references student(class_id) };
- 外键可以很高程度上保持数据的一致性。
- 使用外键后,数据操纵的效率将会大大的降低,在海量数据中,使用外键将会成倍的消耗时间。所以数据的一致性应该由业务逻辑层去保持。
-
自增长auto_increment
create table user( id int(10) primary key auto_increment, name varchar(20) );
-
非空约束not null
create table user( id int(10) not null, name varchar(20) );
主键一定非空
-
唯一约束unique
create table user( id int(10) unique, name varchar(20) );
主键一定唯一
-
默认参数约束default
create table