MySQL数据库学习笔记(二)----MySQL数据类型
文章来源:http://www.cnblogs.com/smyhvae/p/4028040.html
【正文】
上一章节中,我们学习了MySQL软件的安装,既然软件都装好了,现在就正式开始MySQL的基础知识的学习吧,即使是零基础,也要一步一个脚印。恩,首先要学习的就是MySQL的数据类型。
一、数据类型:
- 1、整型(xxxint)
- 2、浮点型(float和double)
- 3、定点数(decimal)
- 4、字符串(char,varchar,xxxtext)
- 5、二进制数据(xxxBlob)
- 6、日期时间类型
二、数据类型介绍:
1、整型:
注:M表示最大的显示宽度。其中,int用的最多。
2、浮点型(float和double):
注:参数m只影响显示效果,不影响精度,d却不同,会影响到精度。
3、定点数(decimal):
decimal(m,d) 定点类型浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。参数m是定点类型数字的最大个数(精度),范围为0~65,d小数点右侧数字的个数,范围为0~30,但不得超过m。对定点数的计算能精确到65位数字。
4、字符串(char,varchar,xxxtext):
注:如果要存文本,可以用text。啊
5、二进制数据(xxxBlob):
XXXBLOB和xxxtext是对应的,不过存储方式不同,xxxTEXT是以文本方式存储的,如果存储英文的话区会分大小写,而xxxBlob是以二进制方式存储的,不区分大小写。xxxBlob存储的数据只能整体读出。xxxTEXT可以指定字符集,xxxblob不用指定字符集。
例如,我们要存入一个图片文件,就可以将图片的二进制流存进来。因为只能整体读出,开销较大,读取较慢,所以在实际开发中用的较少。
6、日期时间类型:
timestamp(时间戳)比较特殊,如果定义一个字段的类型为timestamp,这个字段的时间会在其他字段修改的时候自动刷新。所以这个数据类型的字段可以存放这条记录最后被修改的时间,而不是真正来的存放时间。
datatime中的时间可以用字符串表示。注意,在数据库中,用单引号表示字符串。
三、数据类型的属性:
在定义数据类型时,可以同时定义一些属性。
其中,PRIMARY_KEY主键的含义:在定义数据库时,可以将某一列的字段定义为主键,来唯一代表这个数据库,这样的话,每一行记录都是唯一的。例如将学号定义主键,则每个人有唯一的id。一般用有含义的内容来定义主键不太好。
AUTO_INCREAMENT:自动递增。在主键中可以用这个属性。