一:梗概
#常见的数据类型/*常见的数据类型: 1.数值型: 整型 小数: 定点数 浮点数 2.字符型: 较短的文本:char,varchar 较长的文本:text,blob(较长的二进制数据) 3.日期型*/
二:整型
#一:整型/*分类: tinyint(1个字节)、smallint(2个字节)、mediumint(3个字节)、int\integer(4个字节)、bigint(8个字节)特点: 1.如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigned关键字 2.如果插入的数值超出了整型的范围,会报out of range异常,并且插入临界值 3.如果不设置长度,会有默认长度。 4.长度代表了显示的最大宽度,如果不够会用0填充,但必须搭配zerofill使用!此时也就默认整型无符号。*/#1.如何设置无符号和有符号/*默认是有符号的,如果为有符号,则可以存储负数,如果没符号,则不可以存储负数*/CREATE TABLE tab_int( t1 INT, #默认是有符号的 t2 INT UNSIGNED #unsigned关键字可以将其设置成无符号的);
三:浮点型
#二:小数/*分类: 1.浮点数 float(M,D) double(M,D) 2.定点数 dec(M,D) == decimal(M,D)特点: 1.M:整数部位和小数部位的总个数 2.D:小数部位的个数 3.如果超出范围,则插入临界值 4.M和D可以省略。 如果是decimal,则M默认为10,D默认为0 如果是float和double,则会根据插入的数值的精度来决定精度 5.定点型的精确度较高*//*原则: 所选择的类型越简单越好,能保存数值的类型越小越好(节省空间)*/
四:字符型
#三:字符型/*1.较短的文本: char(M):M代表可以存储的最多“字符”数,范围在0~255 varchar(M):M的范围在0~65535 其他: binary和varbinary用于保存较短的二进制 enum用于保存枚举 set用于保存集合特点: char:固定长度的字符,比较耗费内存空间,效率略高。M可以省略。默认为1 varchar:可变长度的字符,比较节省空间,效率略低。M不可以省略。2.较长的文本: text blob(较长的二进制)(比如插入图片)*/#扩展:枚举类型(ENUM)CREATE TABLE tab_char( c1 ENUM('a','b','c') #只能插入a,b,c。设置性别时可以用枚举);
五:日期型
#四:日期型/*分类: date:只保存日期 datetime:保存日期和时间 timestamp:保存日期和时间 time:只保存时间 year:只保存年份*/
|
字节 |
范围 |
时区影响 |
| datetime |
8 |
1000——9999 |
不受 |
| timestamp |
4 |
1970——2038 |
受 |