数据库

Mysql支持的数据类型

数值类型

MySQL支持所有标准SQL数值数据类型。
这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。
关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。
BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。
作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。

日期和时间类型

在处理日期和时间类型的值时, MySQL带有5个不同的数据类型可供选择。它们可以被分成简单的日期、时间类型,和混合日期、时间类型。
根据要求的精度,子类型在每个分类型中都可以使用,并且MySQL带有内置功能可以把多样化的输入格式变为一一个标准格式。
类型 大小(宇节) 范围 格式 用途
DATE 4 1000-01-019999-12-31 YYYY-MM-DD 日期值
TIME 3 ‘-838:59:59’/‘838:59:59’ HH:MM:SS 时间值/持续时间
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 4 1970-01-01 00:00:00/2037年某时 YYYYMMDD HHMMSS 混合日期和时间值,时间戳

  • DATE、TIME 和TEAR类型
    ​ MySQL用DATE和TEAR类型存储简单的日期值,使用TIME类型存储时间值。这些类型可以描述为字符串或不带分隔符的整数序列。如果描述为字符串,DATE类型的值应该使用连字号作为分隔符分开,而TIME类型的值应该使用冒号作为分隔符分开。
    ​ 需要注意的是,没有冒号分隔符的TIME类型值,将会被MySQL理解为持续的时间,而不是时间戳。
    MySQL还对日期的年份中的两个数字的值,或是SQL语句中为TEAR类型输入的两个数字进行最大限度的通译。因为所有TEAR类型的值必须用4个数字存储。
    MySQL试图将2个数字的年份转换为4个数字的值。把在00-69范围内的值转换到2000-2069范围内。把70-99范围内的值转换到1970-1979之内。
    如果MySQL自动转换后的值并不符合我们的需要,请输入4个数字表示的年份。
  • DATEYIME和TIMESTAMP类型
    除了日期和时间数据类型, MySQL还支持DATEYIME和TIMESTAMP这两种混合类型。它们可以把日期和时间作为单个的值进行存储。
    这两种类型通常用于自动存储包含当前日期和时间的时间戳,并可在需要执行大量数据库事务和需要建立一一个调试和审 查用途的审计跟踪的应用程序中发挥良好作用。
    如果我们对TIMESTAMP类型的字段没有明确赋值,或是被赋与了null值。MySQL会自动使用系统当前的日期和时间来填充它。

宇符串类型

  • MySQL提供了8个基本的字符串类型,分别:CHAR、VARCHAR、BINARY. VARBINARY、BLOB、 TEXT、ENUM各SET等多种字符串类型。
    可以存储的范围从简单的一个字符到巨大的文本块或二进制字符串数据。
    宇符串类型 宇节大小 描述及存储需求
    CHAR 0-255字节 定长字符串
    VARCHAR 0-255字节 变长字符串
    TINYBLOB 0-255字节 不超过255个字符的二进制字符串
    TINYTEXT 0-255字节 短文本字符串
    BLOB 0-65535字节 二 进制形式的长文本数据
    TEXT 0-65535字节 长文本数据
  • TEXT和BLOB类型
    对于字段长度要求超过255个的情况下, MySQL提供了TEXT和BLOB两种类型。根据存储数据的大小,它们都有不同的子类型。这些大型的数据用于存储文本块或图像、声音文件等二进制数据类型。
    TEXT和BLOB类型在分类和比较上存在区别。BLOB 类型区分大小写,而TEXT不区分大小写.大小修饰符不用于各种BLOB和TEXT子类型。
    比指定类型支持的最大范围大的值将被自动截短。
  • CHAR和VARCHAR类型
    CHAR类型用于定长字符串,并且必须在圆括号内用-一个大小修饰符来定义。这个大小修饰符的范围从0-255.比指定长度大的值将被截短,而比指定长度小的值将会用空格作填补。
    CHAR类型可以使用BINARY修饰符。当用于比较运算时,这个修饰符使CHAR以二进制方式参于运算,而不是以传统的区分大小写的方式。
    CHAR类型的一个变体是VARCHAR类型。它是一种可变长度的字符串类型 ,并且也必须带有一个范围在0-255之间的指示器。
    CHAR和VARCHGAR不同之处在于MYSQL数据库处理
    指示器的方式: CHAR把这个大小视为值的大小,不长度不足的情况下就用空格补足。而VARCHAR类型把它视为最大值并且只使用存储字符串实际需要的长度
    (增加一一个额外字节来存储字符串本身的长度)来存储值。所以短于指示器长度的VARCHAR类型不会被空格填补,但长于指示器的值仍然会被截短。
    因为VARCHAR类型可以根据实际内容动态改变存储值的长度,所以在不能确定字段需要多少字符时使用VARCHAR类型可以大大地节约磁盘空间、提高存储效率。
    VARCHAR类型在使用BINARY修饰符时与CHAR类型完全相同。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值