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) 一张表可以设置几个主码,可以设置几个唯一约束?


本文标签: 数据库 创建 字段 删除 掌握