MySQL数据库原理与应用项目化教程课件-创建与管理数据表.pptx

上传人:醉**** 文档编号:12691901 上传时间:2022-04-25 格式:PPTX 页数:83 大小:2.11MB
返回 下载 相关 举报
MySQL数据库原理与应用项目化教程课件-创建与管理数据表.pptx_第1页
第1页 / 共83页
MySQL数据库原理与应用项目化教程课件-创建与管理数据表.pptx_第2页
第2页 / 共83页
点击查看更多>>
资源描述

《MySQL数据库原理与应用项目化教程课件-创建与管理数据表.pptx》由会员分享,可在线阅读,更多相关《MySQL数据库原理与应用项目化教程课件-创建与管理数据表.pptx(83页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、项目五项目五 数据表数据表的创建与管理的创建与管理项 目 描 述 项目五项目五 数据表的创建与管理数据表的创建与管理 数据表是最重要的数据库对象,用来存放数据。数据表由表结构和表数据二部分内容构成。创建、修改数据表指的是表结构的定义与维护。本项目将采用SQL语句和Navicat工具两种方式,创建和管理“学生成绩管理”数据库的数据表,并对数据表实施数据完整性。学习目标 项目五项目五 数据表的创建与管理数据表的创建与管理知识目标: 识记数据表的基础知识。 识记创建、管理数据表相关语句的语法。 识记实施数据完整性的几种方法。能力目标: 能用SQL语句创建、管理数据表并实施数据完整性。 能用Navic

2、at工具创建、管理数据表并实施数据完整性。目 录CONTENTS任务任务5.1任务任务5.2理解数据表的基础知识创建数据表任务任务5.3管理数据表任务任务5.4实施数据完整性任务任务5.5使用Navicat创建与管理数据表 项目项目五五 数据表的创建与管理数据表的创建与管理 任务5.1理解数据表的基础知识 项目五项目五 数据表的创建与管理数据表的创建与管理 识记MySQL数据表的相关基础知识,包括表名命名规范,常用数据类型等,在此基础上,根据”学生成绩管理”数据库三个数据表要存放的数据,分析一下每个数据表的结构(字段名、数据类型、长度、精度、小数位数及完整性约束条件)。【任务描述】理解数据表的

3、基础知识5.1 项目五项目五 数据表的创建与管理数据表的创建与管理【相关知识】5.1.25.1.1 数据类型 表的命名理解数据表的基础知识5.1 项目五项目五 数据表的创建与管理数据表的创建与管理表的命名规范如下:l 同一个MySQL数据库的数据表不能同名。l 不能使用MySQL保留字为表名。l 表名最大长度为64个字符。l 表名首字母应该为字母,可以使用下划线、数字、字母、#和$符号组成,其中字母可以是26个英文字母或其他语言的字母字符,但不能使用空格和其他特殊字符。l 取有意义的名字,尽量见其名知其义。表的命名5.1.1 项目五项目五 数据表的创建与管理数据表的创建与管理1. 整数类型整数

4、类型用来保存整数。根据取值范围的不同,整数类型可分为5种,分别是TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT。不同整数类型所对应的字节大小和取值范围如表5-1所示。数据类型5.1.2 项目五项目五 数据表的创建与管理数据表的创建与管理2. 浮点数类型和定点数类型数据类型5.1.2在MySQL中,存储的小数需要使用浮点数或定点数来表示。浮点数类型有两种,分别是单精度浮点数类型(FLOAT)和双精度浮点数类型(DOUBLE),定点数类型DECIMAL(m,d)通过后面的参数分别设置其精度和小数位数,m表示数字总位数(不包括小数点和符号位),d表示小数位数。这几个类型所

5、对应的字节大小和取值范围如表5-2所示。 项目五项目五 数据表的创建与管理数据表的创建与管理3. 日期与时间类型数据类型5.1.2为了方便在数据库中存储日期和时间,MySQL提供了表示日期和时间的数据类型,分别是YEAR、DATE、TIME、DATETIME和TIMESTAMP。表5-3给出了日期和时间数据类型所对应的字节数、取值范围和日期格式,YYYY表示年,MM表示月,DD表示日,HH表示小时,MM表示分钟,SS表示秒。 项目五项目五 数据表的创建与管理数据表的创建与管理字符串类型用于存储字符串数据,MySQL支持两类字符串数据:文本字符串和二进制字符串。字符串类型分为CHAR、VARCH

6、AR、TEXT等多种类型,不同数据类型具有不同的特点及用途,具体如表5-4所示。数据类型5.1.24. 字符串类型 项目五项目五 数据表的创建与管理数据表的创建与管理(1) CHAR和VARCHAR类型CHAR(n)是固定长度的字符串,在定义时指定字符串长度n,如果实际插入值的长度不够n,用空格补齐到指定长度n。VARCHAR(n)是可变长度的字符串,n表示插入字符串最大的长度。如果实际插入的字符串长度不够,以实际插入值的长度存储。n表示n个字符,一个汉字当作一个字符计算,占用多少字节与编码有关(2) BLOB和TEXT类型BLOB类型存储的是二进制字符串数据,如声音、视频、图像等。TEXT类

7、型存储的是文本字符串数据,如个人简历、文章内容、评论等。数据类型5.1.2 项目五项目五 数据表的创建与管理数据表的创建与管理(3) ENUM和SET类型ENUM和SET类型都是一个字符串对象。ENUM类型是枚举类型,其值为表创建时在字段定义时枚举的一列值,语法格式:ENUM(值1,值2,值n)。ENUM类型的字段在取值时,只能在指定的枚举列表中取,而且一次只能取一个值。如:ENUM(男,女)。SET类型可以有0或多个值,最多可以有64个,也是在表创建时指定的。语法格式:SET(值1,值2,值n)。与ENUM类型不同的是,ENUM类型的字段只能从定义的多个值中选择一个插入,而SET类型的字段可

8、以从定义的值中选择多个值的组合。数据类型5.1.2 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】1. 学生基本信息表学生基本信息表用来存储每个学生的基本信息,包括学生的学号、姓名、性别、出生日期和家庭地址。理解数据表的基础知识5.1 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】2. 课程基本信息表课程基本信息表可以命名为stucourse,用来存储每门课程的基本信息,包括课程号、课程名、学分和任课教师的姓名。理解数据表的基础知识5.1 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】3. 学生选课成绩表学生选课成绩表可以命名为stumarks,

9、它用来存储每个学生选修每门课程的成绩,包括学生的学号、课程号和成绩三个字段。理解数据表的基础知识5.1 项目项目五五 数据表的创建与管理数据表的创建与管理任务5.2创建数据表 项目五项目五 数据表的创建与管理数据表的创建与管理 使用CREATE TABLE语句创建”学生成绩管理”数据库的三个数据表:学生基本信息表、课程基本信息表、学生选课成绩表。 创建数据表只定义表名以及各字段的字段名、数据类型、长度、精度及小数位数,建表时实施数据完整性(即定义字段取值的约束条件)在后面任务5.4中完成。 【任务描述】创建数据表5.2 项目五项目五 数据表的创建与管理数据表的创建与管理【相关知识】5.2.25

10、.2.1 查看数据表 创建数据表创建数据表5.2 项目五项目五 数据表的创建与管理数据表的创建与管理数据表由表结构和表数据二部分内容构成,创建数据表指的是定义表结构。创建数据表用CREATE TABLE语句,该语句最简单的语法格式如下: CREATE TABLE IF NOT EXISTS 表名 ( 字段名1 数据类型1 ,字段名2 数据类型2 , );说明:l 创建表前一定要用USE命令切换到表所属的数据库,格式:USE 数据库名l IF NOT EXISTS子句的作用是创建之前先判断是否存在同名的表,不存在才创建。l ()里定义各字段名称、数据类型等内容,每个字段定义之间要用逗号隔开,最后

11、一个字段后面没有逗号。创建数据表5.2.1 项目五项目五 数据表的创建与管理数据表的创建与管理查看数据表的语法格式如下所示:1查看当前库下所有数据表 SHOW TABLES;2查看某个数据表的创建信息 SHOW CREATE TABLE 表名;3查看某个数据表的结构 DESCRIBE 表名;说明: RIBE表示RIBE可以省略。查看数据表5.2.2 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】1切换到studb数据库USE studb注意:对studb数据库的数据表进行操作前,要先切换到studb数据库。创建数据表5.2 项目五项目五 数据表的创建与管理数据表的创建与管理【任

12、务实施】2. 查看所有数据表SHOW TABLES;执行上面语句,提示“Empty set”表示当前数据库中没有表。创建数据表5.2图5.1 查看studb库中所有数据表 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】3. 创建学生基本信息表(stuinfo)根据建表语法及表5-5所示的stuinfo表结构,创建stuinfo表的代码如下:CREATE TABLE stuinfo( stuno CHAR(4), stuname CHAR(5), stusex ENUM(男,女), stubirthday DATE, stuaddress VARCHAR(60) );创建数据表5

13、.2 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】结果如图5.2所示,系统提示“Query OK, 0 rows affected”,表示创建成功。创建数据表5.2图5.2 创建stuinfo表 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】4创建课程基本信息表(stucourse)根据建表语法及表5-6所示的stucourse表的结构,创建stucousre表的代码如下:CREATE TABLE stucourse ( cno CHAR(4), cname VARCHAR(20), credit DECIMAL(2,1), cteacher CHAR(5)

14、);创建数据表5.2 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】5创建学生选课成绩表(stumarks)根据建表语法及表5-7所示的stumarks表的结构,创建stumarks表的代码如下:CREATE TABLE stumarks ( stuno CHAR(4), cno CHAR(4) , stuscore DECIMAL(4,1) );创建数据表5.2 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】 6查看studb数据库中所有数据表 SHOW TABLES;执行上面语句,结果显示stuinfo、stucourse、stumarks三个表已在库中,如

15、图5.3所示。创建数据表5.2图5.3 显示studb库中创建的所有表 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】7查看stuinfo表的创建信息SHOW CREATE TABLE stuinfo;创建数据表5.2图5.4 显示stuinfo表的创建信息 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】8查看stuinfo表的结构DESC stuinfo; 执行上面语句,以表格形式显示stuinfo表的结构。创建数据表5.2图5.5 显示stuinfo表的结构 项目项目五五 数据表的创建与管理数据表的创建与管理任务5.3管理数据表 项目五项目五 数据表的创建与

16、管理数据表的创建与管理数据数据 使用SQL语句管理“学生成绩管理”数据库的三个数据表。管理操作包括修改数据表和删除数据表。修改数据表内容包括:修改表名,添加、删除字段,修改字段名、字段数据类型以及字段排列顺序。 修改表用ALTER TABLE语句,删除表用DROP TABLE语句。【任务描述】5.3管理数据表 项目五项目五 数据表的创建与管理数据表的创建与管理【相关知识】5.3.25.3.1 删除数据表 修改数据表5.3管理数据表 项目五项目五 数据表的创建与管理数据表的创建与管理修改数据表用ALTER TABLE语句。修改操作包括:修改表名,修改表结构(添加、删除字段,修改字段名、字段数据类

17、型及字段排列顺序等)。1修改表名ALTER TABLE 旧表名 RENAME TO 新表名;说明:l TO 可以省略。l 修改表名并不修改表结构。修改数据表5.3.1 项目五项目五 数据表的创建与管理数据表的创建与管理2修改表结构添加字段ALTER TABLE 表名 ADD 新字段名 数据类型 FIRST|AFTER已存在字段名;删除字段ALTER TABLE 表名 DROP 字段名;修改字段名ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;说明:修改字段名可以同时修改数据类型,只改字段名,也要写上原来的数据类型。修改数据表5.3.1 项目五项目五 数据表的创建与管

18、理数据表的创建与管理修改字段数据类型ALTER TABLE 表名 MODIFY 字段名 新数据类型;改变字段的排列位置ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST|AFTER 字段名2;说明:l 数据类型指字段1的数据类型,不能省略。修改数据表5.3.1 项目五项目五 数据表的创建与管理数据表的创建与管理删除数据表用DROP TABLE语句。语法格式如下:DROP TABLE IF EXISTS 表1,表2,;说明:l 一次可以删除一个或多个没有被关联的数据表,它们之间用逗号隔开。l IF EXISTS子句用于删除前判断要删除的表是否存在,如果不存在,会给出一个警

19、告信息,否则,如果没有该子句,系统会报错。l 删除数据表不仅是删除表的定义(表结构),如果表中有数据也一起删除!删除数据表5.3.2 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】1切换到studb数据库USE studb2. 把stumarks表改名为stu_marks。ALTER TABLE stumarks RENAME stu_marks;5.3管理数据表 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】3. 给stuinfo表增加一列:身份证号(stuid CHAR(18 ))。ALTER TABLE stuinfo ADD stuid CHAR(18)

20、;5.3管理数据表 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】4删除stuinfo表的stuid列。ALTER TABLE stuinfo DROP stuid;5.3管理数据表 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】5. 把stuinfo表中stubirthday字段改名为stubirth。ALTER TABLE stuinfo CHANGE stubirthday stubirth DATE;5.3管理数据表 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】6. 把stuinfo表stuname字段的数据类型修改为VARCHAR(1

21、2)。ALTER TABLE stuinfo MODIFY stuname VARCHAR(12);5.3管理数据表 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】7把stuinfo表中的stusex列移到stuno列之后。ALTER TABLE stuinfo MODIFY stusex ENUM(男,女) AFTER stuno;5.3管理数据表 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】8. 删除stu_marks表DROP TABLE stu_marks;5.3管理数据表 项目项目五五 数据表的创建与管理数据表的创建与管理 任务5.4实施数据完整性

22、项目五项目五 数据表的创建与管理数据表的创建与管理 给“学生成绩管理”数据库的三个数据表实施数据完整性,即在任务5.2的基础上根据需要给相关字段定义各种约束条件。要求分别采用两种方法完成:一种是建表语句中实施,另一种是创建后用修改表的语句实施。【任务描述】实施数据完整性5.4 项目五项目五 数据表的创建与管理数据表的创建与管理【相关知识】5.4.25.4.1 实施数据完整性 MySQL提供的约束实施数据完整性5.4 项目五项目五 数据表的创建与管理数据表的创建与管理MySQL提供以下六种约束:(1)主键约束(PRIMARY KEY)(2)外键约束(FOREIGN KEY)(3)唯一约束(UNI

23、QUE)(4)非空约束(NOT NULL)(5)默认约束(DEFAULT)(6)检查约束(CHECK)说明:l MySQL8.0.16版本开始才支持其他数据库管理系统普遍支持的CHECK约束,在之前的版本中,虽然已经实现了CHECK约束的标准语法CHECK(表达式), 但是实际上是被忽略不起作用的。MySQL提供的约束5.4.1 项目五项目五 数据表的创建与管理数据表的创建与管理(1)在创建表的同时实施数据完整性语法格式如下:CREATE TABLE IF NOT EXISTS 表名( 字段名1 数据类型1 列级完整性约束1,字段名2 数据类型2 列级完整性约束2,表级完整性约束1,);实施数

24、据完整性5.4.2说明:l 非空和默认约束只能设成列级的。语法格式:NOT NULL|DEFAULT 默认值,l 若主键是多个字段的组合,只能定义成表级的:PRIMARY KEY(主键)。l 外键约束要定义成表级的:FOREIGN KEY(外键) REFERENCES 父表名(被参照的字段名)l 表间若有参照关系,要先建父表,再建子表。 项目五项目五 数据表的创建与管理数据表的创建与管理(2)创建表后实施数据完整性添加主键、外键、唯一和检查约束 语法格式如下:ALTER TABLE 表名 ADD CONSTRAINT 约束名PRIMARY KEY(字段名) | FOREIGN KEY(字段名)

25、 REFERENCES 父表名(字段名)| UNIQUE(字段名) | CHECK(表达式) ;说明:选项“CONSTRAINT 约束名”可以给增加的约束起名,如果省略该选项,系统会按照一定规则自动给约束起名。约束名可以通过SHOW CREATE TABLE语句查看。实施数据完整性5.4.2 项目五项目五 数据表的创建与管理数据表的创建与管理删除主键、外键、唯一和检查约束 用ALTER TABLEDROP语句,语法格式如下:a. 主键约束:ALTER TABLE 表名 DROP PRIMARY KEY; b. 外键约束:ALTER TABLE 表名 DROP FOREIGN KEY 约束名;c

26、. 唯一约束:ALTER TABLE 表名 DROP INDEX|KEY 约束名;d. 检查约束:ALTER TABLE 表名 DROP CHECK 约束名;非空和默认约束的添加和删除用ALTER TABLEMODIFY语句,语法格式如下:ALTER TABLE 表名 MODIFY 字段名 数据类型 NOT NULL | DEFAULT 默认值;说明:如果有“NOT NULL”或“DEFAULT 默认值”表示添加约束,没有表示删除已有约束。实施数据完整性5.4.2 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】1. 为studb数据库创建三个数据表的同时实施数据完整性。(1)准

27、备工作USE命令切换到studb数据库:USE studb如果要创建的数据表已存在,先用DROP TABLE命令删除。实施数据完整性5.4 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】(2)创建三个数据表:stuinfo、stucourse和stumarks。创建stuinfo表:CREATE TABLE stuinfo( stuno CHAR(4) PRIMARY KEY, stuname CHAR(5) NOT NULL, stusex ENUM(男,女), stubirthday DATE, stuaddress VARCHAR(60) DEFAULT 地址不详);实施

28、数据完整性5.4图5.13 创建stuinfo表同时实施数据完整性 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】创建stucourse表:CREATE TABLE stucourse( cno CHAR(4) PRIMARY KEY, cname VARCHAR(20) UNIQUE, credit DECIMAL(2,1) NOT NULL, cteacher CHAR(5);实施数据完整性5.4左边创建代码中,列级的主键及唯一约束也可以定义为表级约束,代码如下:CREATE TABLE stucourse( cno CHAR(4), cname VARCHAR(20) ,

29、 credit DECIMAL(2,1) NOT NULL, cteacher CHAR(5), PRIMARY KEY(cno), UNIQUE(cname); 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】执行上面创建stucourse表的语句,并查看表结构,结果如下图所示。实施数据完整性5.4图5.14 创建stucourse表同时实施数据完整性 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】创建stumarks表:CREATE TABLE stumarks ( stuno CHAR(4), cno CHAR(4), stuscore DECIMAL(4,

30、1) CHECK(stuscore=0 and stuscore=100) , PRIMARY KEY(stuno,cno), FOREIGN KEY(stuno) REFERENCES stuinfo(stuno), FOREIGN KEY(cno) REFERENCES stucourse(cno);实施数据完整性5.4 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】实施数据完整性5.4外键及检查约束用DESC命令看不到,需要用SHOW CREATE TABLE命令查看。图5.16 查看stumarks表定义的所有约束条件图5.15 创建stumarks表同时实施数据完整性

31、 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】(3) 创建一个带自增列做主键的表。 CREATE TABLE test( userid INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(10);实施数据完整性5.4 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】2创建studb数据库三个数据表后实施数据完整性(即在任务5.2的基础上实施数据完整性)。(1) 准备工作:USE命令切换到studb数据库,如有表先用DROP TABLE命令删除(先删子表再删父表!),再用CREATE TABLE命令重新创建三个不带约束

32、的表:stuinfo、stucourse、stumarks。实施数据完整性5.4 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】(2) 添加约束把stuinfo表的stuno字段设为主键。ALTER TABLE stuinfo ADD PRIMARY KEY(stuno);给stucourse表的字段cname添加唯一约束。ALTER TABLE stucourse ADD UNIQUE(cname);给stumarks 表的stuno列添加外键约束,参照stuinfo表的stuno列。ALTER TABLE stumarks ADD FOREIGN KEY(stuno) RE

33、FERENCES stuinfo(stuno);实施数据完整性5.4 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】给stumarks 表的stuscore列添加检查约束,要求成绩介于0到100之间。ALTER TABLE stumarks ADD CHECK(stuscore BETWEEN 0 AND 100);说明:BETWEEN. AND是SQL语言提供的运算符,表示介于两个值之间的数据范围。给stuinfo表的stuaddress列设默认值:地址不祥。ALTER TABLE stuinfo MODIFY stuaddress VARCHAR(60) DEFAULT 地

34、址不祥;给stuinfo表的stuname列增加非空约束。ALTER TABLE stuinfo MODIFY stuname DATE NOT NULL;实施数据完整性5.4 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】(3) 删除约束删除stumarks表中stuno列的外键约束(约束名为stumarks_ibfk_1)。注:删除外键得先知道外键名,可通过SHOW CREATE TABLE命令查看。ALTER TABLE stumarks DROP FOREIGN KEY stumarks_ibfk_1;删除stuinfo表的主键约束。ALTER TABLE stuinf

35、o DROP PRIMARY KEY;删除stucourse表的字段cname的唯一约束。ALTER TABLE stucourse DROP KEY cname ;注:创建唯一约束时约束名默认就是列名。实施数据完整性5.4 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】删除stuinfo表stuaddress列的默认值。ALTER TABLE stuinfo MODIFY stuaddress VARCHAR(60);删除stuinfo表stuname列的非空约束。ALTER TABLE stuinfo MODIFY stuname DATE;实施数据完整性5.4 项目项目五

36、五 数据表的创建与管理数据表的创建与管理 任务5.5使用Navicat创建与管理数据表 项目五项目五 数据表的创建与管理数据表的创建与管理用Navicat图形化管理工具代替SQL语句创建并管理“学生成绩管理”数据库的三个数据表(学生基本信息表、课程基本信息表及选课成绩表),并对它们实施数据完整性。【任务描述】使用Navicat创建与管理数据表5.5 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】1创建stuDB数据库的数据表(1)创建stuinfo表启动Navicat工具软件,打开Navicat for MySQL窗口,在“连接”窗格中展开连接的服务器,双击studb数据库,使

37、其处于打开状态,鼠标指向studb数据库节点下面 的“表”并右击,在弹出的快捷菜单中选择“新建表”,如图5.18所示。使用Navicat创建与管理数据表5.5图5.18 选择“新建表” 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】也可以在右边窗格中单击工具栏上的“新建表”按钮,打开设计表结构窗口,如图5.19所示使用Navicat创建与管理数据表5.5图5.19 设计表结构窗口 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】在打开的设计表结构窗口中,依次输入stuinfo表每个列的列名,选择该列的数据类型,如有必要还要输入长度、小数点位数(每定义完一个列,单击

38、工具栏上的“添加栏位”按钮,准备输入下一列)。stusex列的二个枚举值要通过窗口下半部分列属性的“值”一栏进行输入,可以单击文本框右边省略号按钮弹出窗口进行输入,如图5.20所示。使用Navicat创建与管理数据表5.5图5.20 输入stusex的二个枚举值:男、女 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】实施数据完整性(给列添加约束条件):设置stuno列主键约束:选中stuno列,单击工具栏上的“主键”按钮(或者右击stuno列,在快捷菜单中选择“主键”即可),去掉stuno列“允许空值”的选项。设置stuname列非空约束:去掉stuname列“允许空值”的选项

39、。设置stuaddress列默认约束:选中stuaddress列,在下面列属性“默认”一栏输入默认值:地址不详,如图5.21所示。使用Navicat创建与管理数据表5.5图5.21 stuaddress设置默认值 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】表结构定义好后,单击工具栏上的“保存”按钮或按下CTRL+S组合键,弹出“表名”对话框,输入表名“stuinfo”,然后单击“确定”按钮即可保存该表,如图5.22所示,至此stuinfo表创建完成。 使用Navicat创建与管理数据表5.5图5.22 “表名”对话框 项目五项目五 数据表的创建与管理数据表的创建与管理【任务

40、实施】(2)创建stucourse表实施数据完整性(给列添加约束条件):设置cno列主键约束:选中cno列,单击工具栏上的“主键”按钮(或者右击cno列,在快捷菜单中选择“主键”即可),去掉cno列“允许空值”的选项。设置credit列非空约束: 去掉credit列“允许空值”的选项。设置cname列唯一约束:单击列名上面的“索引”选项卡,栏位选择“cname”,索引类型选择“unique”,如图5.23所示。索引名可以不输入,系统自动用字段名命名(cname),默认索引方式BTREE。使用Navicat创建与管理数据表5.5 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】使用

41、Navicat创建与管理数据表5.5图5.23 cname列添加唯一约束 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】使用Navicat创建与管理数据表5.5创建好的stucourse表结构如图5.24所示。图5.24 stucourse表结构 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】使用Navicat创建与管理数据表5.5(3)创建stumarks表设置主键约束(stuno,cno):右击stuno列,在弹出的快捷菜单中选择“主键”;右击cno列, 在弹出的快捷菜单中选择“主键”;去掉stuno列、cno列“允许空值”的选项,如图5.25所示。图5.2

42、5 设置stumarks表的主键(stuno,cno) 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】使用Navicat创建与管理数据表5.5设置stuno列、cno列的外键约束:单击“外键”选项卡,约束名可以输也可以不输(不输表示由系统自动命名),“栏位”选“stuno”,“参考数据库”选择“studb”,“参考表”选择“stuinfo”,“参考栏位”选择“stuno”;单击工具栏上“添加外键”按钮,栏位选“cno”,“参考数据库”选择“studb”,“参考表”选择“stucourse”,“参考栏位”选择“cno”,“删除时”、“更新时”的默认选项“RESTRICT”,操作结

43、果如图5.26所示。图5.26 设置stumarks表的外键 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】使用Navicat创建与管理数据表5.5“删除时”(或“更新时”)的选项有4个,含义如下:RESTRICT:删除(或修改)父表记录时,如果子表存在与之对应的记录,那么删除(或修改)操作将失败,这是默认选项。NO ACTION:与RESTRICT功能相同。CASCADE:删除(或修改)父表记录时,会自动删除(或修改)子表中与之对应的记录。SET NULL:删除(或修改)父表记录时,会将子表中与之对应记录的外键值自动设置为NULL。至此,stuinfo、stucourse和s

44、tumarks三个数据表创建完成,如图5.27所示。 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】使用Navicat创建与管理数据表5.5图5.27 studb数据库的三个表 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】使用Navicat创建与管理数据表5.52管理数据表(1)查看或修改stuinfo表结构(含完整性约束条件)启动Navicat工具软件,打开Navicat for MySQL窗口,并确保与服务器建立连接。在“连接”窗格中依次展开myconnect服务器,studb数据库和表结点,鼠标指向stuinfo表并右击,在弹出的快捷菜单中选择“设计表”

45、,打开设计表窗口。也可以在右边窗格选中stuinfo表,然后单击工具栏上的“设计表”按钮,打开设计表窗口,如图5.28所示。 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】使用Navicat创建与管理数据表5.5图5.28 “设计表”命令 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】使用Navicat创建与管理数据表5.5在打开的设计表窗口,可以查看stuinfo表中每个字段的名称、数据类型、长度、小数位数及各种约束条件(是否允许空值,是否为主键、是否有默认值、是否要求值唯一、是否是外键),如图5.29所示。查看的同时可以根据需要修改stuinfo表的结构,包括为各个字段添加、删除各种约束。图5.29 “设计表”窗口 项目五项目五 数据表的创建与管理数据表的创建与管理【任务实施】使用Navicat创建与管理数据表5.5(2)修改stumarks表名鼠标指向stumarks表并右击,在弹出的快捷菜单中选择“重命名”,表名进入修改状态,可以输入新的表名,或者在右边窗格中选中stumarks表,然后单击表名后进入修改状态,输入新的表名。THANKS!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁