• MySQL的数据类型


    一、MySQL的数据类型

    主要包括以下五大类:

    整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT

    浮点数类型:FLOAT、DOUBLE、DECIMAL

    字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB

    日期类型:Date、DateTime、TimeStamp、Time、Year

    其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection等

    二、MYSQL数据类型的长度和范围

    各数据类型及字节长度一览表:

    数据类型

    字节长度

    范围或用法

    Bit

    1

    无符号[0,255],有符号[-128,127],天缘博客备注:BIT和BOOL布尔型都占用1字节

    TinyInt

    1

    整数[0,255]

    SmallInt

    2

    无符号[0,65535],有符号[-32768,32767]

    MediumInt

    3

    无符号[0,2^24-1],有符号[-2^23,2^23-1]]

    Int

    4

    无符号[0,2^32-1],有符号[-2^31,2^31-1]

    BigInt

    8

    无符号[0,2^64-1],有符号[-2^63  ,2^63 -1]

    Float(M,D)

    4

    单精度浮点数。天缘博客提醒这里的D是精度,如果D<=24则为默认的FLOAT,如果D>24则会自动被转换为DOUBLE型。

    Double(M,D)

    8

    双精度浮点。

    Decimal(M,D)

    M+1或M+2

    未打包的浮点数,用法类似于FLOAT和DOUBLE,天缘博客提醒您如果在ASP中使用到Decimal数据类型,直接从数据库读出来的Decimal可能需要先转换成Float或Double类型后再进行运算。

    Date

    3

    以YYYY-MM-DD的格式显示,比如:2009-07-19

    Date  Time

    8

    以YYYY-MM-DD  HH:MM:SS的格式显示,比如:2009-07-19 11:22:30

    TimeStamp

    4

    以YYYY-MM-DD的格式显示,比如:2009-07-19

    Time

    3

    以HH:MM:SS的格式显示。比如:11:22:30

    Year

    1

    以YYYY的格式显示。比如:2009

    Char(M)

    M

    定长字符串。

    VarChar(M)

    M

    变长字符串,要求M<=255

    Binary(M)

    M

    类似Char的二进制存储,特点是插入定长不足补0

    VarBinary(M)

    M

    类似VarChar的变长二进制存储,特点是定长不补0

    Tiny  Text

    Max:255

    大小写不敏感

    Text

    Max:64K

    大小写不敏感

    Medium  Text

    Max:16M

    大小写不敏感

    Long  Text

    Max:4G

    大小写不敏感

    TinyBlob

    Max:255

    大小写敏感

    Blob

    Max:64K

    大小写敏感

    MediumBlob

    Max:16M

    大小写敏感

    LongBlob

    Max:4G

    大小写敏感

    Enum

    1或2

    最大可达65535个不同的枚举值

    Set

    可达8

    最大可达64个不同的值

    Geometry

     

     

    Point

     

     

    LineString

     

     

    Polygon

     

     

    MultiPoint

     

     

    MultiLineString

     

     

    MultiPolygon

     

     

    GeometryCollection

     

     

    三、使用建议

    1、在指定数据类型的时候一般是采用从小原则,比如能用TINY INT的最好就不用INT,能用FLOAT类型的就不用DOUBLE类型,这样会对MYSQL在运行效率上提高很大,尤其是大数据量测试条件下。

    2、不需要把数据表设计的太过复杂,功能模块上区分或许对于后期的维护更为方便,慎重出现大杂烩数据表

    3、数据表和字段的起名字也是一门学问

    4、设计数据表结构之前请先想象一下是你的房间,或许结果会更加合理、高效

    5、数据库的最后设计结果一定是效率和可扩展性的折中,偏向任何一方都是欠妥的

  • 相关阅读:
    [转载]深入理解JavaScript闭包(closure)
    CSS Sprite初探之原理、使用
    动软,我被你迷惑了
    win7系统下CamtasiaStudio无法录上电脑声音只能录麦克风声音的解决办法
    [转载]向高级Javascript程序员阵营迈进:Javascript一些概念研究总结
    [转载]最简单的.NET生成随机数
    [转载]完全理解关键字this
    [转载]什么是高内聚、低耦合
    [转载]CSS背景:css background属性全解析
    [转载]HTML5语音输入(淘宝语音搜索)方法
  • 原文地址:https://www.cnblogs.com/xieyuan/p/3787364.html
Copyright © 2020-2023  润新知