17.DDL语言的学习(二)——常见的数据类型

(一)数值型

1.整型

1)Tinyint  1字节

2)Smallint  2字节 

3)Mediumint  3字节

4)Int(interger)  4字节

5)Bigint  8字节

注意:

1)默认设置为有符号。

2)设置无符号:列名 数据类型 unsigned。

3)如果插入的数值超出了整型的范围,会报out of range异常,并且插入临界值。

4)如果不设置长度,会有默认的长度,长度代表了显示的最大宽度。

5)如果不够可以用0在左边填充,但需要搭配zerofill使用:列名 数据类型 zerogill。

6)如果使用了zerofill,数据自动设置为无符号数。

2.浮点型

1)float(M,D)  4字节

2)double(M,D) 8字节

3.定点型

dec(M,D)/decimal(M,D)

注意:

1)M表示整数部分和小数点部分的位数之和,D表示小数点后面的位数,如果超过范围插入临界值。

2)M和D都可以省略,如果是float和double,则会根据插入数值精度来决定精度;如果是decimal,则M默认为10,D默认为0。

3)定点型精确度较高。

4)选用类型原则:所选的类型越简单越好,能保存数值的类型越小越好。

(二)字符型

连接字符:concat(,,,);

1.较短的文本

1)char(M)

代表固定长度的字符,空间较耗费,效率较高。

M代表最多的字符数,可以省略,默认为1。

2)varchar(M)

代表可变长度的字符,空间较节省,效率较低。

M代表最多字符数,不可以省略。

3)其他字符型

binary、varbinary保存二进制。

enum保存枚举值:列名 Enum(字符1,字符2,...)。

set保存集合:列名 set(字符1,字符2,...)。

2.较长的文本

1)text

2)blob(较长的二进制数据)

(三)日期型

1)date

保存年月日。

2)datetime  8字节

保存年月日时分秒,只能反映出插入时的当地时区。

date_format(日期型数据,'%y年%m月%d日')into 字符串类型;

3)timestamp  4字节

保存年月日时分秒,支持的时间范围较小。

和实际时区有关,更能反映实际的日期,受mysql和sqlmode版本的影响很大。

数据库时区time_zone,显示:show variables like 'time_zone';设置:set time_zone=时区;

4)time

5)year

发布了90 篇原创文章 · 获赞 48 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Asher_S/article/details/89523659