Heim >Datenbank >MySQL-Tutorial >MySQL管理与优化(2)_MySQL

MySQL管理与优化(2)_MySQL

WBOY
WBOYOriginal
2016-06-01 13:11:47839Durchsuche

数据类型

    1. 整数:

    

  • 若实际值超出对应类型范围,则会出现"Out of range"错误;整数类型通常会指定显示宽度,如int(5),不指定默认int(11), 若实际值不满改宽度则会自动前面补0(zerofill)。

    2.浮点数:

   

   3.定点数类型与位类型:

      

  • 定点数在MySQL中以字符串的形式存储,比浮点数更精确,可用于表示货币等高精度数据。
  • 浮点和定点数都可以(M,D)方式来表示,M表示显示M位数字(整数位+小数位),D位位于小数点后面,M和D又称为精度和标度。
  • 定点数默认默认精度为(10, 0), 超过精度会报错;而浮点数则根据实际值来显示。
  • 对于BIT(M)位类型,M取值为1~64,默认为1,表示存放的二进制位数,实际值超过范围,则插入失败。

   4.日期时间类型(MySQL5.0):

   

  • 对于TIMESTAMP, 表中第一个TIMESTAMP类型的字段的默认值为CURRENT_TIMESSTAMP, 且一张表中仅有一个字段默认值可以为CURRENT_TIMESSTAMP。
  • TIMESTAMP会与时区相关,存取都会经过本地时区转换,所以不同时区看到的日期时间会不同。
  • 存储时期时间时,对应的转换规则为:

    

    

    

   5.字符串类型(MySQL5.0)

   

1.CHAR与VARCHAR

  • CHAR长度不可变,范围为0~255, VARCHAR长度可变, 范围为0-65535;
  • 检索数据时,CHAR去除尾部的空格,VARCHAR保留尾部的空格。

2.BINARY与VARBINARY

  • 类似CHAR与VARCHAR, 但BINARY存储二进制字符串,当插入数据不足指定长度时,右边填充'/0'。

3.ENUM

  • ENUM类型的字段,其值范围在创建表时指定,1~255个成员存储1个字节,255~65535个成员存储2个字节,如:

      

4.SET

  • 与ENUM类型,其成员数为1~64,但其插入数据时,可以一次选多个值,有点checkbox的味道。

其他数据类型可以细查MySQL官方文档:

http://dev.mysql.com/doc/refman/5.7/en/data-types.html

不吝指正。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn