MySQL的常见数据类型

MySQL的常见数据类型

数据类型是什么?

数据类型是列、存储过程的参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。
  有一些数据是要存储为数字的,数字当中有些是要存储为整数、小数、日期型等…;

MySQL常见的数据类型

大致可以分为三类:数值、日期/时间、字符串类型
1.数值类型
分为严格数值类型和近似数值类型和浮点型,严格数值类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)
MySQL的常见数据类型
MySQL的常见数据类型
2.日期和时间类型
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。

每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。

TIMESTAMP类型有专有的自动更新特性,将在后面描述
  MySQL的常见数据类型
  3.字符串类型
  字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。
  CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。
  首先明确,char的长度是不可变的,varchar的长度是可变的;比如现在定义一个char[10]和varchar[10],现在往里边存储’csdn’四个字符,此时char中存储的是’csdn’四个字符外还有六个空格,而varchar则是存储是’csdn’四个字符,这里注意要在char类型中取数据’csdn’的时候,要注意用trim函数去掉末尾的空格,而varchar是不需要的;
  尽管这样吧,char的存储速度还是比varchar快,因为其长度固定,方便程序的存储于查找,这里可以理解成以空间换时间吧(个人感觉);因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率,而varchar是以空间效率为首位的;
  char类型对英文的存储的ASCII码占一个字节,汉子占两个字节;而varchar则是英文和汉字都是两个字节;
  两者的存储数据都非unicode的字符数据;
  BINARY和VARBINARY类类似于CHAR和VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。

有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。
  MySQL的常见数据类型
  MySQL的常见数据类型

总结

本文大体介绍了MySQL的数据类型,以及各数据类型的含义,如果不是专业的DBA,应该了解这些就足以了;

MySQL的常见数据类型
/*************************************************************************
/*************************************************************************
此文章版权方是个人,目的是为自己记录学习历程的同时为大家提供一些参考;如果有不正确的地方,欢迎大家提出!

/*************************************************************************
/*************************************************************************