MySql(十九)数据类型的介绍

    xiaoxiao2024-11-21  65

    文章目录

    数据类型常见的数据类型整型小数字符型日期型

    数据类型

    常见的数据类型

    数值型:整型、小数(定点数、浮点数)字符型:较短的文本:char、varchar;较长的文本:text、blob(较长的二进制数据)日期型

    整型

    整型类型字节范围tinyint1有符号:-128127;无符号:0255smallint2有符号:-3276832767;无符号:065535mediumint3反正很大,不用记住int4反正很大,不用记住bigint5反正很大,不用记住

    如何设置有符号和无符号(默认是有符号的)

    create table student(

    ​ t1 int, //有符号

    ​ t2 int unsigned //无符号

    );

    如果输入的数据超出对应整型的范围会怎么样

    会报out of range异常,并且插入的是临界值(0或对应整型的最大值)

    如果不设置长度,则代表的是默认的长度;长度代表的是显示数据的最大宽度 ,如果长度不够则在左边用0填充但必须搭配zerofill使用;和存储范围无关

    create table student(

    ​ //如果插入数据409显示为:409

    ​ t1 int(4),

    ​ ///如果插入数据409显示为:00409

    ​ t2 int(5) zerofill

    );

    小数

    浮点型

    float(M,D)

    double(M,D)

    浮点数类型字节范围float4反正很大,不用记住double8反正很大,不用记住

    定点型

    dec(M,D)

    decimal(M,D)

    定点类型字节范围DEC(M,D)M+2最大取值范围和double相同DECIMAL(M,D)M+2由M和K绝定

    浮点型和定点型的特点:

    M:整数部位+小数部位;D:小数部位(超出范围则插入的是临界值)

    eg:

    f1—>float(5,2)f2—>double(5,2)f3—>decimal(5,3)123.12–>123.12123.12–>123.12123.12–>123.12123.125–>123.13123.125–>123.13123.125–>123.13123.1–>123.01123.1–>123.01123.1–>123.011234.12–>999.991234.12–>999.991234.12–>999.9912.12–>012.1212.12–>012.1212.12–>012.12 M和D都可以省略:float和double是根据插入数据的大小来确定精度;decimal中的默认M为10,D默认0定点型的精确度较高,如果要求插入的数值精度较高则建议使用定点型(比如:货币运算)选择数据类型的原则:类型越简单越好,能保存数据的类型越小越好

    字符型

    较短的文本:char 、 varchar

    较长的文本:text、blob

    其他:

    binary和varbinary:保存较短的二进制

    enum:保存枚举

    set:保存集合

    字符串类型特点最多字符数描述及存储需求效率char(M)固定长度的字符M(可以省略,默认为1)M为0~255之间的整数高varchar(M)可变长度的字符M(不可以省略)M为0~65535之间的整数低

    日期型

    日期和时间类型字节最小值最大值date(日期)41000-01-019999-12-31time(时间)3-838:59:59838:59:59datetime(日期+时间)81000-01-01 00:00:009999:12-31 23:59:59year(年)119012155timestamp(日期+时间)4197001010800012038年的某个时刻

    datetime和timestamp的区别

    timestamp支持的时间范围较小;datetime支持的时间范围较大timestamp和实际时区有关,更能反映实际的日期;datetime只能反映出插入时的当地时区timestamp受mysql版本和sqlmode的影响很大
    最新回复(0)