zoukankan      html  css  js  c++  java
  • 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、数据库的最后设计结果一定是效率和可扩展性的折中,偏向任何一方都是欠妥的

  • 相关阅读:
    桶排序
    linux下如何修改进程优先级?
    在旋转排序数组之后的数组中找到目标值的位置(很多遍 ,总是晕)
    PHP生成随机数函数rand(min,max)
    使用PHP编写发红包程序
    maven的lifecycle
    mysq中char,varchar,text的区别
    contrller层的编码设设计流程以及详细配置
    mybatis的dao层和service层的编码设计的配置
    Next_day()函数的用法
  • 原文地址:https://www.cnblogs.com/xieyuan/p/3787364.html
Copyright © 2011-2022 走看看