《mysql课件第二章数据库基本操作和数据类型.ppt》由会员分享,可在线阅读,更多相关《mysql课件第二章数据库基本操作和数据类型.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Mysql数据类型数据类型天津理工大学 华信软件学院 田春艳 2011年9月-2012年1月Mysql数据库 田春艳 数据类型n n每种列类型都有几个特性如下:n n其中可以存放什么类型的值。其中可以存放什么类型的值。n n值要占据多少空间,以及该值是否是定长的值要占据多少空间,以及该值是否是定长的(所有值占相同数量的空间)或可变长的(所有值占相同数量的空间)或可变长的(所占空间量依赖于所存储的值)。(所占空间量依赖于所存储的值)。n n该类型的值怎样比较和存储。该类型的值怎样比较和存储。n n此类型是否允许此类型是否允许 NULL NULL 值。值。n n此类型是否可以索引。此类型是否可以索
2、引。Mysql数据库 田春艳 数据类型数据类型数据类型n n数字型数字型数字型数字型n n日期和时间日期和时间n n字符型字符型n n二进制二进制n n如何选择数据类型如何选择数据类型Mysql数据库 田春艳 数据类型整形整形(1)n n整形类型n nTINYINT 1 1-255 TINYINT 1 1-255 n nSMALLINT 2SMALLINT 2n nMEDIUMINT 3MEDIUMINT 3n nINT 4INT 4n nINTEGER 4INTEGER 4n nBIGINT 8BIGINT 8Mysql数据库 田春艳 数据类型整形整形(2)n n显示宽度n n默认宽度默认宽
3、度n nAUTO_INCREMENT AUTO_INCREMENT 自增属性自增属性n n设置显示宽度设置显示宽度 数据真正的宽度数据真正的宽度 n n默认用空格填充默认用空格填充n n在在zerofillzerofill参数配合使用的情况下参数配合使用的情况下 显示的时候补零显示的时候补零Mysql数据库 田春艳 数据类型浮点型和定点型浮点型和定点型n n浮点型浮点型n nfloatfloatn nDoubleDoublen n使用使用 n n数据类型数据类型 float float(7,37,3)n n直接使用直接使用 float float 没指定精度,保存实际精度没指定精度,保存实际精
4、度n n定点型定点型n nDecimalDecimaln n使用使用n n数据类型数据类型 n n直接使用直接使用 decimal decimal 默认保存默认保存1010个整数位,个整数位,0 0个小数位个小数位Mysql数据库 田春艳 数据类型浮点型和定点型浮点型和定点型n n存储方式n n浮点型采用二进制浮点的存储规则,有一定的浮点型采用二进制浮点的存储规则,有一定的误差误差n n定点型采用字符串存储方式,无误差的,无损定点型采用字符串存储方式,无误差的,无损失失n n超出指定精度n n浮点型四舍五入不警告浮点型四舍五入不警告 建议建议 不是特殊情况不不是特殊情况不使用使用n n定点发出
5、警告定点发出警告Mysql数据库 田春艳 数据类型数据类型数据类型n n数字型数字型n n日期和时间日期和时间日期和时间日期和时间n n字符型字符型n n二进制二进制n n如何选择数据类型如何选择数据类型Mysql数据库 田春艳 数据类型时间日期型时间日期型n nyear n ndaten ntimen ndatetimen ntimestampMysql数据库 田春艳 数据类型YAERn n基本资料表示年份,占用一个字节,能够表示范围1901-2155 表示形式YYYYn n赋值注意事项n n插入时插入时20082008和和20082008相同相同 如果超出范围自动转换如果超出范围自动转换0
6、0000000n n两位插入两位插入1-691-69转换为转换为2121世纪,世纪,70-9970-99转换成转换成2020世纪的时世纪的时间间n n如果如果0 0 转换为转换为0000 0000 但是如果但是如果00转换成转换成20002000Mysql数据库 田春艳 数据类型TIMEn n基本资料表示时间,占用3个字节,能够表示范围-838:59:59838:59:59,表示形式HH:MM:SSn n赋值注意事项n nHH:MM:SSHH:MM:SS、HH:MM HH:MM、D HH:MM:SS D HH:MM:SS、D HH:MM D HH:MM、D HH D HH、SSSS、HHMMS
7、SHHMMSSn n00、0 0 转换为转换为00:00:0000:00:00n nCURRENT_TIME CURRENT_TIME 或或 NOW NOW输入当前时间输入当前时间Mysql数据库 田春艳 数据类型DATEn n基本资料基本资料表示时间,占用表示时间,占用4 4个字节,能够表示范围个字节,能够表示范围1000-01-019999-12-31 1000-01-019999-12-31 表示形式表示形式YYYY-MM-DDYYYY-MM-DDn n赋值注意事项赋值注意事项n n YYYY-MM-DDYYYY-MM-DD、YYYYMMDD YYYYMMDD、YYYY/MM/DD YY
8、YY/MM/DD、YYYY.MM.DDYYYY.MM.DD等任何分隔符等任何分隔符n nYY-MM-DDYY-MM-DD、YYMMDD YYMMDD 0069 0069 和和7099 7099 n n0 0 转换为转换为0000:00:000000:00:00n ndatetimedatetime是记录日期最合适的选择是记录日期最合适的选择Mysql数据库 田春艳 数据类型DATETIME(1)n n基本资料表示时间,占用8个字节,能够表示范围1000-01-01 00:00:009999-12-31 23:59:59,表示形式:YYYY-MM-DD HH:MM:SSMysql数据库 田春艳
9、数据类型DATETIME(2)n n赋值注意事项n n YYYY-MM-DD HH:MM:SS YYYY-MM-DD HH:MM:SS YYYYMMDDHHMMSS YYYYMMDDHHMMSS n n任何字符分割任何字符分割 n n YYYY-MM-DD HH:MM:SS-MM-DD HH:MM:SSn n0 0 转换为转换为0000-00-00 00:00:000000-00-00 00:00:00n nNOWNOW输入当前时间输入当前时间Mysql数据库 田春艳 数据类型TIMESTAMPn n与DATETIME相似n n区别n n占4个字节n n范围1970-01-01 08:00:0
10、12038-01-19 11:14:07n n可以按照时区显示Mysql数据库 田春艳 数据类型数据类型数据类型n n数字型数字型n n日期和时间日期和时间n n字符型字符型字符型字符型n n二进制二进制n n如何选择数据类型如何选择数据类型Mysql数据库 田春艳 数据类型字符串类型字符串类型n nchar&varchar n ntextn nenumn nsetMysql数据库 田春艳 数据类型char&varcharn nchar&varchar 都制定最大长度n n基本定义形式n ncharchar(MM)OR varchar OR varchar(MM)n n超出最大长度报错超出最大
11、长度报错n n区别n ncharchar(MM)在定义同时分配)在定义同时分配MM长度长度n nvarchar varchar(MM)按照实际情况分配存储空间)按照实际情况分配存储空间Mysql数据库 田春艳 数据类型TEXTn n只能保存字符型数据n n包括n ntinytexttinytextn ntexttextn nmediumtextmediumtextn nlongtextlongtextn n只有长度和存储空间的不同Mysql数据库 田春艳 数据类型ENUMn n枚举型n n定义的基本形式n n属性名属性名 enum enum(值值1 1,值值2 2,)n n例如:性别例如:性别
12、 euum euum(男男,女女)n n是否为空属性n n默认可以为空默认可以为空n n如设置如设置not null not null 默认选择第一个默认选择第一个Mysql数据库 田春艳 数据类型SETn n定义的基本形式n n属性名属性名 SET SET(值值1 1,值值2 2,)n n例如:爱好例如:爱好 set set(打游戏打游戏,睡觉睡觉,听歌听歌,跳舞跳舞,打球打球)n n与enum区别n n可以多选可以多选Mysql数据库 田春艳 数据类型数据类型数据类型n n数字型数字型n n日期和时间日期和时间n n字符型字符型n n二进制二进制二进制二进制n n如何选择数据类型如何选择数
13、据类型Mysql数据库 田春艳 数据类型二进制二进制n n存储二进制数据,n nbinary&varbinarybinary&varbinaryn nbit bit n nblobblobMysql数据库 田春艳 数据类型Binary&Varbinaryn n和char&varchar相似n nbinarybinary(1010)长度固定为)长度固定为1010n nvarbinaryvarbinary(1010)长度可变)长度可变 最大最大10 10 n n存储实际长度存储实际长度+1+1Mysql数据库 田春艳 数据类型BITn n基本定义形式n n属性名属性名 bit bit(MM)n n
14、M M 是最大的位数是最大的位数n n如如bitbit(4 4)最大能存)最大能存15 15 n n查询时:n nbitbit(字段名(字段名+0+0)n nselect bitselect bit(字段名(字段名+0+0)from from 表名表名Mysql数据库 田春艳 数据类型BLOBn nBLOB是特殊的二进制,用来保存数量很多的二进制数据,如图片、音频等等n n分为n ntinyblobtinyblobn nblobblobn nmediumblobmediumblobn nlongbloblongblobn n只有长度区别Mysql数据库 田春艳 数据类型数据类型数据类型n n数
15、字型数字型n n日期和时间日期和时间n n字符型字符型n n二进制二进制n n如何选择数据类型如何选择数据类型如何选择数据类型如何选择数据类型Mysql数据库 田春艳 数据类型如何选择数据类型(如何选择数据类型(1)n n设计数据库表时,需要考虑选择那种数据类型n n访问速度访问速度n n占用的磁盘空间占用的磁盘空间n n数据要求精度数据要求精度Mysql数据库 田春艳 数据类型如何选择数据类型如何选择数据类型n n整形n n通常我们应该选择尽可能小的数据类型,这样通常我们应该选择尽可能小的数据类型,这样可以节省空间,并且可以更快地进行访问和更可以节省空间,并且可以更快地进行访问和更新。但应该
16、注意需要保存的数据的范围,如果新。但应该注意需要保存的数据的范围,如果选择的类型太小,数据可能会在插入时被截断选择的类型太小,数据可能会在插入时被截断或产生错误,所以一定要选择一个覆盖所有可或产生错误,所以一定要选择一个覆盖所有可能性的数据类型能性的数据类型n n如果保证没有负数,最好加入如果保证没有负数,最好加入unsigedunsiged属性属性Mysql数据库 田春艳 数据类型n n小数n n定点和浮点对精度要求比较高的计算需要选择定点和浮点对精度要求比较高的计算需要选择定点数据类型定点数据类型n n字符型char&varchar n ncharchar长度固定速度快,长度变化不大并且对
17、速长度固定速度快,长度变化不大并且对速度要求高的选择度要求高的选择charcharn nvarcharvarchar节省存储空间,相对速度慢长度变化较节省存储空间,相对速度慢长度变化较大的大的varcharvarcharMysql数据库 田春艳 数据类型如何选择数据类型如何选择数据类型n n时间日期n n在合适的情况下选择最短的在合适的情况下选择最短的n ndatetime×tampdatetime×tampn ntext和blobn ntexttext只能字符只能字符n nblobblob含有图片、音频等的文件含有图片、音频等的文件Mysql数据库 田春艳 数据类型总结总结Q&A!