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:自动递增。在主键中可以用这个属性。
至此,转载请注明出处。