课程名:数据库系统
内容/作用:设计/实验/作业/练习
学习:基于MySQL的数据库和表的创建及Navicat 连接 MySQL操作
一、前言
(1) 掌握表的基础知识。
(2) 掌握Navicat 连接 MySQL的方法。
(3) 掌握Navicat创建表的方法。
(4) 掌握表的修改、查看、删除等基本操作方法。
(5) 掌握表中完整性约束的定义。
(6) 掌握完整性约束的作用。
二、环境与设备
1、设备:Windows 10
2、软件:MySQL 8.0 和 Navicat 12 for MySQL
三、内容
(一) Navicat 连接 MySQL
若出现1251错误,则参考https://my.oschina.net/u/3295928/blog/1811804
(二) 创建数据库jxgl
(三) 创建表
在jxgl数据库中创建student、course、sc、specialty表,表结构如下:
Student表的结构:
(四) 按照下列要求修改表结构
(1) 将student表Ssex字段的数据类型改为char(2)。
(2) 将student表Sbirth字段的位置改到Ssex字段的前面。
(3) 将student表t_id字段改名为Sno。
(4) 将student表Notes字段删除。
(5) 将course表的cdept字段的默认值设置为’信息学院’。
(五) 录入四个表的数据:
表1:学生信息表:student
四、实验原理
(一) Navicat 连接 MySQL
(二) 创建数据库jxgl
(三) 创建表
(四) 按照下列要求修改表结构
(五) 录入四个表的数据:
五、实验分析
1、 关于NOT NULL
(1) 在定义表结构时,NOT NULL参数的作用是什么?
答:NOT NULL参数表示不允许为空,一定要有数值或内容才行。
(2) 主码列修改成允许NULL能否操作?为什么?
答:不能,主键是唯一标识且不能重复,如果为空,就无法识别。
2、 关于外码
(1)根据下面设计的表结构,Student表的外键能否设置成功?思考外码设置需要注意哪些问题?
(2)如果主表无数据,从表的数据能输入吗?
答:看有没有外键约束,假如没有,只是插入从表的时候,主表的key也就是外键你要先空着,毕竟还没有生成。
(3)先创建从表,再创建主表是否可以?
答:MySQL能先创从表后创主表
3、 关于主码:一张表可以设置几个主码?
答:主键只有一个,但是可以设置为多个字段为主键,也即联合主键。外键就是自己设置了也即可以有多个,可以设置除主键以外的其他字段全部是外键的。