mysql数据库----数据类型

一、数值类型

1、整型

整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT

我们完全没必要为整数类型指定显示宽度,使用默认的就可以了

默认的显示宽度,都是在最大值的基础上加1

2、浮点型

 浮点型:FLOAT DOUBLE

定点数:DECIMAL

类型 定义 精确度
FLOAT
单精度浮点数(非准确小数值),m是数字总个数,d是小数点后个数。
m最大值为255,d最大值为30
随着小数的增多,精度变得不准确
DOUBLE
双精度浮点数(非准确小数值),m是数字总个数,d是小数点后个数。
m最大值为255,d最大值为30
随着小数的增多,精度比float要高,但也会变得不准确
DECIMAL
准确的小数值,m是数字总个数(负号不算),d是小数点后个数。
m最大值为65,d最大值为30。
随着小数的增多,精度始终准确 
对于精确数值计算时需要用此类型

二、字符串类型

1、char类型

char类型:定长,简单粗暴,浪费空间,存取速度快
    字符长度范围:0-255(一个中文是一个字符,是utf8编码的3个字节)
    存储:
        存储char类型的值时,会往右填充空格来满足长度
        例如:指定长度为10,存>10个字符则报错,存<10个字符则用空格填充直到凑够10个字符存储

    检索:
        在检索或者说查询时,查出的结果会自动删除尾部的空格,除非我们打开pad_char_to_full_length SQL模式(SET sql_mode = 'PAD_CHAR_TO_FULL_LENGTH';)
2、varchar类型

varchar类型:变长,精准,节省空间,存取速度慢 字符长度范围:0-65535(如果大于21845会提示用其他类型 。mysql行最大限制为65535字节,字符编码为utf-8:https://dev.mysql.com/doc/refman/5.7/en/column-count-limit.html) 存储: varchar类型存储数据的真实内容,不会用空格填充,如果'ab ',尾部的空格也会被存起来 检索: 尾部有空格会保存下来,在检索或者说查询时,也会正常显示包含空格在内的内容
 

三、日期类型

 四、约束条件

MySQL关键字 含义
NULL 数据列可包含NULL值
NOT NULL 数据列不允许包含NULL值
DEFAULT 默认值
PRIMARY KEY 主键
AUTO_INCREMENT 自动递增,适用于整数类型
UNSIGNED 无符号

FOREIGN KEY (FK)

 标识该字段为该表的外键

UNIQUE

标识该字段为唯一的

猜你喜欢

转载自www.cnblogs.com/sjx6688/p/10055734.html