• MySQL字段类型


    1 字段类型

    字段类型分别为:数值类型、字符串类型、日期时间类型。

    1.1 数值类型

    数值类型分为整数类型和小数类型。整数类型为tinyint、smallint、mediumint、int、bigint。小数类型分为浮点型和定点型,有float、double、decimal。

    1.1.1 tinyint

    迷你整形,系统采用1个字节来保存。最大能表示的值为0-255(2^8 - 1)

    1.1.2 smallint

    小整形,系统采用2个字节来保存。最大能表示的值为0-65535(2^16 – 1)。

    1.1.3 mediumint

    中整形,系统采用3个字节来保存。最大能表示的值为2^24 – 1。

    1.1.4 int

    整形,系统采用4个字节来保存。最大能表示的值为2^32 – 1。

    1.1.5 bigint

    大整形,系统采用8个字节来保存。最大能表示的值为2^64 – 1。

    1.1.6 float

    float又称之为单精度类型,系统采用4个字节来保存。但是能表达的范围要比整形大的多,大概是10^38。单精度浮点,精确到大约为7位。

    1.1.7 double

    double又称之为双精度类型,系统采用8个字节来保存。表示的范围更大,大概是10^308。精度为大约15位。

    1.1.8 decimal

    decimal又称之为定点数,系统自动根据存储的数据来分配存储空间。大概9个数就会分配4个字节来存储,同时小数位和整数位是分开保存的。

    decimal(M, D):M表示总长度,最大值不能超过65,D代表小数部分长度,最长不能超过30。

    1.2 字符串类型

    1.2.1 char

    定长字符,指定长度之后,系统会分配指定的空间用于存储数据。

    基本语法:char(L),L代表字符数(英文和中文一样),L为0-255。

    1.2.2 varchar

    变长字符,指定长度后,系统根据实际存储的数据来计算长度,分配合适的长度(数据没有超出长度)。

    基本语法:varchar(L),L代表字符数,L的理论长度为0-65535。

    因为varchar要记录数据长度,所以每个varchar数据产生后,系统都会在数据后面增加1-2个字节的额外开销,是用来保存数据所占用的空间长度。

    char和varchar的区别:

    char一定会使用指定的空间,而varchar是根据数据来定空间。

    char的数据查询效率比varchar高。varchar是需要通过后面的记录数来计算的。

    1.2.3 text

    普通的字符文本。

    在选择字符存储的时候,如果数据超过255个字符,那么一定选择text存储。

    在选择对应的存储文本的时候,不用刻意去选择text类型,系统会自动根据存储的数据长度来选择合适的文本类型。

    1.2.4 enum

    枚举类型。

    语法:enum(数据值1,数据值2…)

    空间:如果数据值列表在255个以内,那么一个字节就够,如果超过255但是小于65535,那么系统采用两个字节保存。

    1.2.5 set

    集合:是一种将多个数据选项可以同时保存的数据类型,本质是将指定的项按照对应的二进制位来进行控制:1表示该选项被选中,0表示该选项没有被选中。

    语法:set(‘值1’,’值2’,’值3’…)

    系统为set提供了多个字节进行保存,但是系统会自动计算来选择具体的存储单元

    1个字节:set只能有8个选项

    2个字节:set只能有16个选项

    3个字节:set只能表示24个选项

    8个字节:set可以表示64个选项

    Set和enum一样,最终存储到数据字段中的依然是数字而不是真实的字符串

    1.3 日期时间类型

    1.3.1 date

    日期类型,系统采用3个字节来保存,对应的格式为YYYY-mm-dd,能表示的范围是1000-01-01到9999-12-12。初始值为0000-00-00

    1.3.2 time

    时间类型,能够表示某个指定的时间,系统采用3个字节来保存。对应的格式为HH:ii:ss,但是MysQL中time能表示的范围要大的多,能表示-838:59:59-838:59:59。用处是描述时间段。

    1.3.3 datetime

    日期时间类型,就是将前面的date和time合并起来,表示的时间,使用8个字节来保存。

    格式为:YYYY-mm-dd HH:ii:ss,能表示的区间为1000-01-01 00:00:00到9999-12-12 23:59:59,其值可以为0值:0000-00-00 00:00:00

    1.3.4 timestamp

    时间戳类型,表示从格林威治时间开始。

    格式为:YYYY-mm-dd HH:ii:ss。其值表示的区间为:1970-01-01 00:00:00 到 2038-01-19 03:14:07

    1.3.5 year

    年类型,采用1个字节来保存。能表示1900-2155。

  • 相关阅读:
    如何删除一个CSDN上自己上传的资源
    ubuntu 安装 boost
    C#-提取网页中的超链接
    数组地址详解
    约瑟夫环-源码
    树的基础概念(二)
    二叉树的主要操作
    二叉树的简介及链式结构实现
    树的基础概念
    栈实现数的进制转换
  • 原文地址:https://www.cnblogs.com/falling-maple/p/9431074.html
Copyright © 2020-2023  润新知