常用数据类型
数据类型 | 描述说明 |
int 整型 | 整数 即0、1、2...... |
decimal 定点型 | decimal(5,2)表示总共有五位数,其中小数占2位 |
char、varchar 字符串 | char表示固定的字符串,例如char(3),如果填充‘ab’时候会自动填充一个空格‘ ab’,而varchar(3)会存储‘ab’。 |
date、time、datetime 时间 | date:YYYY-MM-DD、time:HH:MM:SS、 datetime:YYYY-MM-DD HH:MM:SS |
定点数据类型(M,D)其中M是数据的总长度,D是小数点后的长度,列入float(6,2)表示数据长度为6,小数点保留2位,所以1234.56就符合 如果插入值精度高于实际精度,系统会自动四舍五入,float和double四舍五入不会报错,decimal会有警告。在mysql中,定点数是以字符串形式存储,因此,其精度比浮点数要求高。而且,浮点数会出现误差,这是浮点数一直存在的缺陷,如果对数据精度要求较高,最好还数选择decimal定点数。
常见约束条件
primary key 主键:对一个表中一条记录的唯一标识,非空,不允许有重复。
not null 非空:不允许写入空值。
unique 唯一键:不允许有重复,在一个表中可以存在多个唯一键,可以为空。
default 默认值:设置默认值的字段,在插入值的时候若没有插入数据,则默认为默认值,若有数据则为插入的数据值。
foreign key 外键:主表中的某一个字段设置为外键,与其他表的主键关联,外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以,在主表插入数据时,具有外键的字段插入的数据,要在从表中的主键出现,否则会报错。