admin 管理员组文章数量: 887031
2023年12月20日发(作者:css border圆角)
MySQL安装创建和维护数据库实验
一、实验目的
(1)掌握在Windows 平台下安装与配置MySQL 5.6 的方法。
(2)掌握启动服务并登录MySQL 5.6 数据库的方法和步骤。
(3)了解手工配置MySQL 5.6 的方法。
(4)掌握MySQL 数据库的相关概念。
(5)掌握使用MySQL Workbench/Navicat等客户端工具和SQL 语句创建数据库的方法。
(6)掌握使用MySQL Workbench/Navicat等客户端工具和SQL 语句删除数据库的方法。
二、 实验过程
(1)在Windows 平台下安装与配置MySQL 5.6 版。
(2)在服务对话框中,手动启动或者关闭MySQL 服务。
(3)使用Net 命令启动或关闭MySQL 服务。
(4)分别用MySQL Workbench/Navicat等客户端工具和命令行方式登录MySQL。
(5)在 文件中将数据库的存储位置改为D:MYSQLDATA,重启服务后,然后创建数据库。
(6)创建数据库。
① 使用MySQL Workbench/Navicat等客户端工具创建教学管理数据库JXGL。
② 使用SQL 语句创建数据库MyTestDB。
(7)查看数据库属性。
① 在MySQL Workbench/Navicat等客户端工具中查看创建后的JXGL 数据库和MyTestDB 数据库的状态,查看数据库所在的文件夹。
② 利用SHOW DATABASES 命令显示当前的所有数据库。
(8)删除数据库。
① 使用MySQL Workbench/Navicat等客户端 图形工具删除JXGL 数据库。
② 使用SQL 语句删除MyTestDB 数据库。
③ 利用SHOW DATABASES 命令显示当前的所有数据库。
三、观察与思考
MySQL的数据库文件有几种?扩展名分别是什么?
数据表的创建与修改管理实验
一、实验目的
(1) 掌握表的基础知识。
(2) 掌握使用MySQL Workbench或其他第三方管理工具和SQL语句创建表的方法。
(3) 掌握表的修改、查看、删除等基本操作方法。
(4) 掌握表中完整性约束的定义。
(5) 掌握完整性约束的作用
二、验证性实验
(一) 表定义与修改操作
在schoolInfo数据库中创建一个 teacherInfo 表,表结构如下:
字段名
id
num
name
sex
字段描述
编号
教工号
姓名
性别
数据类型
INT(4)
INT(10)
VARCHAR(20)
VARCHAR(4)
DATETIME
VARCHAR(50)
主键
是
否
否
否
否
否
外键 非空
否
否
否
否
否
否
是
是
是
是
否
否
唯一
是
是
否
否
否
否
自增
是
否
否
否
否
否
birthday
出生日期
address
家庭住址
按照下列要求进行表定义操作:
(1)首先创建数据库schoolInfo。
CREATE DATABASE schoolInfo;
(2)创建 teacherInfo 表。
CREATE TABLE teacherInfo (
id INT(4) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,
num INT(10)NOT NULL UNIQUE ,
Name VARCHAR(20)NOT NULL,
Sex VARCHAR(4)NOT NULL,
Birthday DATETIME,
Address VARCHAR(50)
);
(3)将 teacherInfo 表的name字段的数据类型改为 VARCHAR(30)。
ALTER TABLE teacherInfo MODIFY name VARCHAR(30) NOT NULL;
(4)将birthday宁段的位置改到sex字段的前面。
ALTER TABLE teacherInfo MODIFY birthday DATETIME AFTER name;
(5)将num字段改名为t_id。
ALTER TABLE teacherInfo CHANGE numtid INT(10)NOT NULL;
(6)将 teacherInfo 表的address字段删除。
ALTER TABLE teacherInfo DROPaddress;
(7)在 teacherInfo 表中增加名为wages的字段,数据类型为FLOAT。
ALTER TABLE teacherInfo ADDwages FLOAT;
(8)将 teacherInfo 表改名为 teacherInfo Info。
ALTER TABLE teacherInfo RENAME teacherInfo lnfo;
(9)将 teacherInfo 表的存储引擎更改为MyISAM类型。
ALTER TABLE teacherInfo infoENGINE=MyISAM;
(二)创建staffinfo数据库,并在定义department表和worker表,完成两表之间的完整性约束。
Department表的结构
字段名
d_id
d_name
字段描述
部门号
部门名
数据类型
INT(4)
VARCHAR(20)
VARCHAR(50)
VARCHAR(20)
主键 外键 非空 唯一
是
否
否
否
否
否
否
否
是
是
否
否
是
是
否
否
自增
否
否
否
否
function
部门职能
address
部门位置
Worker表的结构
主字段名 字段描述 数据类型
键
id
num
d_id
编号
员工号
部门号
INT(4)
INT(10)
INT(4)
是
否
否
否
否
是
是
是
否
是
是
否
是
否
否
外键 非空 唯一 自增
name
sex
姓名
性别
VARCHAR(20)
VARCHAR(4)
DATE
VARCHAR(50)
否
否
否
否
否
否
否
否
是
是
否
否
否
否
否
否
否
否
否
否
birthday
出生日期
address
家庭住址
按照下列要求进行表操作:
(1)在staffinfo数据库下创建department表和worker表。
(2)删除department表。
操作如下:
(1)创建department表,代码如下:
CREATE TABLE department(
d_id INT(4)NOT NULL UNIQUE PRIMARY KEY,
d_name VARCHAR(20)NOT NULL UNIQUE ,
function VARCHAR(50),
address VARCHAR(50)
);
(2)创建worker表,代码如下:
CREATE TABLE worker(
id INT(4)NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,
numINT(10)NOT NULL UNIQUE ,
d_id INT(4),
name VARCHAR(20) NOT NULL,
sex VARCHAR(4) NOT NULL,
birthday DATE,
address VARCHAR(50),
CONSTRAINT worker_fk FOREIGN KEY(d_id)
REFERENCES department(d_id)
);
DROP TABLE department;
(4)删除worker表的外键约束,代码如下:
ALTER TABLE worker DROP FOREIGN KEY worker_fk;
(5)重新删除department表,代码如下:
DROP TABLE department;
(3)删除department表,代码如下:
四、设计性实验
(一)在StudentInfo数据库中创建student表和grade表,表结构要求如下:
Student表的内容
字段名
num
name
sex
字段描述
学号
姓名
性别
数据类型
INT(10)
VARCHAR(20)
VARCHAR(4)
DATETIME
VARCHAR(50)
主键
是
否
否
否
否
外键 非空
否
否
否
否
否
是
是
是
否
否
唯一
是
否
否
否
否
自增
否
否
否
否
否
birthday
出生日期
address
家庭住址
Grade表的内容
字段名
id
Course
S_num
grade
字段描述
编号
课程名
学号
成绩
数据类型
INT(10)
VARCHAR(10)
INT(10)
VARCHAR(4)
主键
是
否
否
否
外键 非空
否
否
是
否
是
是
是
否
唯一
是
否
否
否
自增
否
否
否
否
表创建成功后,查看两个表的结构。然后按照下列要求进行表操作,写成相关的命令行:
1.将grade表的course字段的数据类型改为VARCHAR(20)
2.将s_num字段的位置改到course字段的前面。
3.将grade字段改名为score。
4.删除grade表的外键约束。
5.将grade表的存储引擎更改为MyISAM类型。
6.将student表的address字段删除。
7.在student表中增加名为phone的字段。
8.将grade表改名为gradeInfo。
9.删除student表。
五、观察与思考
1、关于NOT NULL
(1) 在定义基本表语句时,NOT NULL参数的作用是什么?
(2)主码列修改成允许NULL能否操作?为什么?
2、关于外码
(1) 根据下面设计的表结构,Employee表的外键能否设置成功?思考外码设置需要注意哪些问题?
Department表的结构
字段名
dno
dname
字段描述
部门号
部门名
数据类型
INT(4)
VARCHAR(20)
主键 外键
Employee表的结构
字段名
eno
dno
name
字段描述
员工号
数据类型
INT(10)
主键 外键
√
所在部门号
Char(10)
姓名
VARCHAR(20)
(2) 如果主表无数据,从表的数据能输入吗?
(3) 先创建从表,再创建主表是否可以?
3、关于主码和唯一约束
(1) 唯一约束列是否允许NULL值?
(2) 一张表可以设置几个主码,可以设置几个唯一约束?
版权声明:本文标题:MySQL安装创建和维护数据库 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1703002015h439162.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论