数据库技术项目式教程(MySQL)课件 任务3.1选取字段数据类型.pptx
选取字段数据类型
任务提出数据类型决定了数据在计算机中的存储格式,代表不同的信息类型。要能根据实际采用的DBMS为各关系中的属性(字段)选取合适数据类型,以保证数据能存储到各关系中并能灵活处理。
任务分析不同的DBMS所支持的数据类型并不完全相同,而且与标准的SQL也有一定差异。为字段选取数据类型须先理解MySQL支持的常用数据类型,然后根据实际需求为各关系字段选取合适数据类型。MySQL支持的常用数据类型有数值型、字符型和日期时间型。
1.数值型数据类型相关知识与技能数值型数据包括整型、浮点数、定点数类型。整型类型:数据类型名称说明存储需求TINYINT很小的整数1字节SMALLINT小的整数2字节MEDIUMINT中等大小的整数3字节INT普通大小的整数4字节BIGINT大整数8字节
浮点数、定点数类型相关知识与技能数据类型名称说明Float单精度浮点类型Double双精度浮点类型Decimal(M,D)定点数类型,表示一共能存M位,其中小数点后占D位,M和D称为精度和标度。FLOAT、DOUBLE存储的是近似值,而DECIMAL则以字符串的形式保存数值,存储的是精确数据。故精确数据只能选择用DECIMAL类型。在MySQL中没有货币类型,所以存放与金钱有关的数据选择使用DECIMAL。
2.字符型数据类型相关知识与技能数据类型名称说明优缺点char(n)固定长度字符串类型。n表示能存放的最多字符数,取值范围为0~255。若存入字符数小于n,则以空格补于其后,查询时再将空格去掉。会自动删除存入字符串的尾部空格。比较浪费空间,但是效率高。适用于电话号码、身份证号等值的长度基本一致的字段。varchar(n)可变长度字符串类型。n表示能存放的最多字符数,取值范围为0~65535。不会删除存入字符串的尾部空格。比较节省空间,但效率比CHAR低。适用于数据长度变化较大的字段。TEXT可存储0~65535字节长文本数据一般用来直接存储一个比较大的文本,比如说一篇文章,一篇新闻等。ENUM(值1,值2,值3…)又称为枚举类型,在创建表时,enum类型的取值范围就以列表的形式指定了enum(可能出现的元素列表)。事先将可能出现的结果都设计好,实际存储的数据必须是列表中的一个元素,如SexENUM(‘男’,’女’)。
3.日期时间型数据类型相关知识与技能数据类型名称格式说明Yearyyyy只存储年份dateyyyy-mm-dd存储年月日timehh:mm:ss存储时分秒datetimeyyyy-mm-ddhh:mm:ss存储年月日时分秒,取值范围是1000-01-0100:00:00到9999-12-3123:59:59Timestampyyyy-mm-ddhh:mm:ss存储年月日时分秒,以UTC(世界标准时间)格式存储。当查询时,转换为本地时区后再显示。取值范围是1970-01-0100:00:01UTC到2038-01-1903:14:07UTC。
任务实施1.为Class表中的字段选取数据类型。字段名数据类型字段说明ClassNoVARCHAR(50)班级编号ClassNameVARCHAR(50)班级名称CollegeVARCHAR(50)所在学院SpecialtyVARCHAR(50)所属专业EnterYearINT入学年份
任务总结字段数据类型的选取非常关键,关系到实际使用中的数据能否存储到数据库表中,所以必须考虑全面,应遵循存储空间够用但不浪费的原则。