内容正文:
MySQL数据库应用开发
单元3 MySQL表创建
任务3.1 MySQL表定义与完整性约束控制
表的基本概念(重点)
数据类型(难点)
运算符
知识点小结
任务3.1 MySQL表定义与完整性约束控制
能力目标
1.掌握表的基本概念;
2.掌握数据类型和运算符。
思政目标
1.培养踏实严谨的工作作风;
2.锻炼团结协作的工作能力。
表的基本概念
表是数据库中存储数据的基本单位,它由一个或多个字段组成,每个字段需要有对应的数据类型。
1.数据库与表之间的关系是数据库是由各种数据表组成的,数据表是数据库中最重要的对象,也是其他对象的基础
2.数据表是用来存储和操作数据的逻辑结构
3.数据表是包含了特定实体类型数据
4.数据表由行(row)和列(column)构成的二维网络,其中列是表数据的描述,行是表数据的实例
5.数据表名称要求唯一,而且不要包含特殊字符
表的基本概念(续)
1.建表原则
(1)应按照一定原则对信息进行分类。
(2)对表进行规范化设计,以消除表中存在的冗余,保证一个表只围绕一个主题,并使表容易维护。
2.数据库表的信息存储分类原则
(1)每个表应该只包含关于一个主题的信息。
(2)表中不应包含重复信息。
任务3.2 MySQL表定义与完整性约束控制
表的基本概念
数据类型
运算符
知识点小结
数据类型
为每张表的每个字段选择合适的数据类型是数据库设计过程中一个重要的步骤。
好处:可以有效地节省数据库的存储空间,包括内存和外存,同时也可以提升数据的计算性能,节省数据的检索时间。
常用的数据类型如下:
数值类型
数字分为整数和小数。
整数:用整数类型表示。
INTEGER、SMALLINT、TINYINT、MEDIUMINT和BIGINT
INT与INTEGER两个整数类型是同名词,可以互换。
小数:
浮点数类型:单精度浮点数FLOAT类型和双精度浮点数DOUBLE类型
定点数类型:DECIMAL类型,DEC和DECIMAL这两个定点数类型是同名词。
数值类型:FLOAT、DOUBLE、DECIMAL
MySQL 浮点型和定点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度,如float(7,4)的可显示为999.9999,MySQL保存值时进行四舍五入,如果插入999.00009,则结果为999.0001。
所属类型:
float数值类型用于表示单精度浮点数值
double数值类型用于表示双精度浮点数值
float和double都是浮点型
decimal是定点型
MySQL类型float double decimal的区别
语法
MySQL 浮点型和定点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度,如float(7,4)的 可显示为-999.9999,MySQL保存值时进行四舍五入,如果插入999.00009,则结果为999.0001。
所属类型:
float数值类型用于表示单精度浮点数值
double数值类型用于表示双精度浮点数值
float和double都是浮点型
decimal是定点型
不指定精度时显示方式:
FLOAT和DOUBLE在不指 定精度时,默认会按照实际的精度来显示,而DECIMAL在不指定精度时,默认整数为10,小数为0。
9
数值类型
建表时数字类型的选择应遵循的原则:
1)选择最小的可用类型,如果改字段的值不会超过127,则使用TINYINT比INT效果好。
2)对于完全都是数字的,即无小数点时,可以选择整数类型,比如年龄。
3)浮点类型用于可能具有的小数部分的数,比如学生成绩。
4)在需要表示金额等货币类型时优先选择DECIMAL数据类型
日期时间类型
MySQL主要支持的日期类型:
(1)DATE表示日期,默认格式为‘YYYY-MM-DD’;
(2)TIME表示时间,默认格式为‘HH:ii:ss’;
(3)YEAR表示年份;
(4)DATATIME与TIMESTAMP是日期和时间的混合类型,默认格式为‘YYYY-MM-DD HH:ii:SS’。
从形式上来说,MySQL日期类型的表示方法与字符串的表示方法相同(使用单引号括起来);
本质上,MySQL日期类型的数据是一个数值类型,可以参与简单的加、减运算。
测试YEAR、TIME、DATE类型
mysql> CREATE TABLE IF NOT EXISTS testyear(
-> birth YEAR
-> );
Query OK, 0 rows affected (0.28 sec)
开始为1901,并查询
mysql>
mysql> INSERT testyear VAL