MySQL 数据类型

一、数据类型:

  • 1、整型(xxxint)
  • 2、浮点型(float和double)
  • 3、定点数(decimal)
  • 4、字符串(char,varchar,xxxtext)
  • 5、二进制数据(xxxBlob)
  • 6、日期时间类型

二、数据类型介绍:

1、整型:

 

注:m表示最大的显示宽度。其中,int用的最多(范围几个亿)。(说明:在这里的n个字节是指n个字节所表示的位数范围,不是指字长!比如1字节的位数为28=256。因为其实1个字符至少占1个字节。)

2、浮点型(float和double):

 

注:参数m只影响显示效果,不影响精度,d却不同,会影响到精度。(说明:在这里的n个字节是指n个字节所表示的位数范围,不是指字长!比如1字节的位数为28=256。因为其实1个字符至少占1个字节。)

3、定点数(decimal):

decimal(m,d) 浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。参数m是定点类型数字的最大个数(精度),范围为0~65,d小数点右侧数字的个数,范围为0~30,但不得超过m。定点数的计算能精确到65位数字。

4、字符串(char,varchar,xxxtext):

 

注:char是固定长度,varchar是可变长度(表中有笔误)。如果要存文本,可以用text。

1字节范围:255个字符;2字节范围:65535个字符。(说明:在这里的n个字节是指n个字节所表示的位数范围,不是指字长!比如1字节的位数为28=256。因为其实1个字符至少占1个字节。)

5、二进制数据(xxxBlob):

xxxblob和xxxtext是对应的,不过存储方式不同,xxxtext是以文本方式存储的,如果存储英文的话区会分大小写,而xxxblob是以二进制方式存储的,不区分大小写。xxxblob存储的数据只能整体读出(较慢)。xxxtext可以指定字符集,xxxblob不用指定字符集。

例如,我们要存入一个图片文件,就可以将图片的二进制流存进来。因为只能整体读出,开销较大,读取较慢,所以在实际开发中用的较少。

6、日期时间类型:

 

timestamp(时间戳)比较特殊,如果定义一个字段的类型为timestamp,这个字段的时间会在其他字段修改的时候自动刷新。所以这个数据类型的字段可以存放这条记录最后被修改的时间,而不是真正来的存放时间。

datatime中的时间可以用字符串表示。注意,在数据库中,用单引号表示字符串。  

三、数据类型的属性:

 

在定义数据类型时,可以同时定义一些属性。 

其中,PRIMARY_KEY主键的含义:可以将某一列的字段定义为主键,确保每一行记录都是唯一的。例如将学号定义主键,则每个人有唯一的id。一般用有含义的内容来定义主键不太好。

AUTO_INCREAMENT:自动递增。在主键中可以用这个属性。 

  

  至此,转载请注明出处。

原文地址:https://www.cnblogs.com/wcwnina/p/7204189.html