内容正文:
第2章 数据表操作
本单元教学目标
了解数据表的功能作用
认识数据库构建语句
掌握数据表的构建过程及操作
掌握数据表的各种约束条件
MySQL自带库节点(1)
information_schema
MySQL系统库
存储数据库的元数据信息
如数据库,表的名称,列的数据类型或者访问权限
performance_schema
MySQL系统库
记录MySQL 服务进程对资源的消耗、进程等待等信息
mysql
MySQL系统库
记录数据库服务器运行时所需要的系统信息
如数据文件夹、字符集、约束检查、系统用户等
MySQL自带库节点(2)
sakila
MySQL数据库的样例节点
供参考如何进行数据库、数据表设计,以及提供视图、存储过程开发
world
MySQL数据库的样例节点
比“sakila”简单得多,只有四张数据表
帮助操作人员快速在本地建立MySQL数据库节点环境
test
MySQL的测试库
可在此库任意创建自己所需要的数据表以及其它各类型实体
如视图、存储过程、触发器等
数据库创建
数据库节点创建语法:
CREATE DATABASE 数据库节点名称
CREATE DATABASE HELLO
创建了一个名称为“HELLO”的库节点
CREATE DATABASE DEMO
创建了一个名称为“DEMO”的库节点
CREATE DATABASE ABC
创建了一个名称为“ABC”的库节点
数据库查询
数据库节点查询语句
SHOW DATABASES
数据库删除
数据库节点删除语法
DROOP DATABASE 数据库节点名称
DROOP DATABASE HELLO
删除了一个名称为“HELLO”的库节点
DROOP DATABASE DEMO
删除了一个名称为“DEMO”的库节点
DROOP DATABASE ABC
删除了一个名称为“ABC”的库节点
数据表主键
主键(Primary Key)
数据表中非常重要的一个核心元素
用于标识数据表中记录的唯一性
通过主键能在数据表中找到唯一的数据记录
主键由数据表中的一个或多个字段承担
主键举例
在一个学生表中,每学生的学号都是唯一,这个属性就可以作为学生表的主键字段
通过主键值“20000136”可以在表中找到对应标号为①的唯一记录
通过主键值“20000153”可以在表中找到对应标号为②的唯一记录
数据表外键
外键(Foreign Key)
是数据表中另外一个非常重要的核心元素
用于传递数据表之间的关联性
一个数据表的业务字段去关联另一个数据表的唯一性字段就构成主外键引用关系
去引用关联其它数据表的字段则声明为外键
外键举例
如存在一个教师表,其中教工号(teacher_id)字段的值在表中唯一,不重复
学生表中有班主任标识(teacher_id)字段,记录表中每个学生所对应的班主任是哪一位老师
这样学生表与教师表便形成外键关联引用关系
数据类型分类
整数类型
TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT
小数类型
FLOAT、DOUBLE、DECIMAL
字符串类型
CHAR、VARCHAR、TEXT
日期类型
DATE、DATETIME、TIMESTAMP、TIME
其他数据类型
BLOB
创建数据表
数据表存在于数据库节点中
创建数据表之前先创建好相关数据库节点
可以直接在已存在的数据库节点中创建数据表
创建数据表的过程
定义数据列的属性过程
约束数据完整性的过程
进入库节点
进入库节点语法
USE 数据库节点名称
USE DEMO
进入名称为“demo”的库节点
USE HELLO
进入名称为“hello”的库节点
USE ABC
进入名称为“abc”的库节点
数据表创建语法
CREATE TABLE 数据表名称(
字段1 数据类型(长度约束),
字段2 数据类型(长度约束),
…
字段n 数据类型(长度约束)
)
数据表创建|注意事项
SQL语句不区分大小写
每条语句结尾一般用英文状态下的分号“;”表示语句的结束
创建数据表过程中,数据表名称可以任意,但不能使用SQL语句中的关键字
表中每个字段之间用英文状态下的逗号“,”隔开
案例应用
用SQL语句创建一个顾客(customer)数据表
数据表中的相关数据项如下
字段1:顾客标识(id) INT
字段2:顾客姓名(name) VARCHAR(45)
字段3:顾客年龄(age) SMALLINT
字段4:顾客生日(birthday) DATE
字段5:顾客身高(height) FLOAT
字段6:顾客职业(work) VARCHAR(45)
字段7:顾客薪酬(salry) INT
字段8:顾客地址(address) VARCHAR(45)
SQL参考实现
CRE