数据库、表的创建与修改
⽬录
⼀、实验⽬的
1、实验6.6 MySQL安装创建和维护数据库实验
(1)掌握在Windows平台下安装与配置MySQL5.6的⽅法。
(2)掌握启动服务并登录MySQL5.6数据库的⽅法和步骤。
(3)了解⼿⼯配置MySQL5.6的⽅法。
(4)掌握MySQL数据库的相关概念。
(5)掌握使⽤MySQL Workbench/Navicat等客户端⼯具和SQL语句创建数据库的⽅法。
(6)掌握使⽤MySQL Workbench/Navicat等客户端⼯具和SQL语句删除数据库的⽅法。
2、实验7.8 数据表的创建与修改管理实验
(1)掌握表的基础知识。
(2)掌握使⽤MySQL Workbench或其他第三⽅管理⼯具和SQL语句创建表的⽅法。
(3)掌握表的修改、查看、删除等基本操作⽅法。
(4)掌握表中完整性约束的定义。
(5)掌握完整性约束的作⽤。
⼆、实验内容
1、验证性实验
1.1在schoolInfo数据库中创建⼀个teacherInfo表,表结构如下:
表teacherInfo
字段名字段描述数据类型主键外键⾮空唯⼀⾃增id编号INT(4)是否是是是
mysql创建表数据类型num教⼯号INT(4)否否是是否
name姓名VARCHAR(20)否否是否否
sex性别VARCHAR(4)否否是否否birthday出⽣⽇期DATETIME否否否否否
address家庭住址VARCHAR(50)否否否否否按照下列要求进⾏表的定义操作:
(1)⾸先创建数据库schoolInfo。
CREATE DATABSE 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 AFIER name;
(5)将num字段改名为t_id。
ALTER TABLE teacherInfo CHANGE num t_id INT(10) NOT NULL;
(6)将teacherInfo表的address字段删除。
ALTER TABLE teacherInfo DROP address;
(7)在tercherInfo 表中增加名为wages的字段,数据类型为FLOAT。
ALTER TABLE teacherInfo ADD wages FLOAT;
(8)将teacherInfo表改名为teacherInfo_Info。
ALTER TABLE teacherInfo RENAME teacherInfo_Info;
(9)将teacherInfo表的存储引擎更改为MyISAM类型。
ALTER TABLE teacheInfo_Info ENGINE = MyISAM;
1.2创建staffinfo数据库,并在定义department 表和worker表,完成两表之间的完整性约束。
department表的结构
字段名字段描
数据类型主键外键⾮空唯⼀⾃增
述
d_id部门号INT(4)是否是是否
d_name部门名VARCHAR(20)否否是是否
VARCHAR(50)否否否否否function部门职
能
address部门位
VARCHAR(20)否否否否否
置
worker表的结构
数据类型主键外键⾮空唯⼀⾃增字段名字段描
述
id编号INT(4)是否是是是
num员⼯号INT(10)否否是是否
d_id部门号INT(4)否是否否否
name姓名VARCHAR(20)否否是否否
sex性别VARCHAR(4)否否是否否
DATE否否否否否birthday出⽣⽇
期
address家庭地
VARCHAR(50)否否否否否
址
按照下列要求进⾏操作:
(1)在staffinfo数据库下创建department表和worker表。
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 department(
id INT(4) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,
num INT(10) NOT NUL UNIQUE ,
d_id INT(4),
name VARCHAR(20) NOT NULL,
sex VAARCHAR(4) NOT NULL,
birthday DATE,
address VARCHAR(50),
CONSTRAINT worker_fk FOREIGN KEY (d_id)
REFERENCES department (d_id));
(2)删除department表,代码如下:
DROP TABLE department;
(3)删除worker表的外键约束,代码如下:
ALRER TABLE worker DROP FOREIGN KEY worker_fk;
(4)重新删除department表,代码如下:
DROP TABLE department;
三、设计性实验
1.在studentInfo数据库中创建student表和grade表;
student表的结构
数据类型主键外键⾮空唯⼀⾃增字段名字段描
述
num学号INT(10)是否是是否
name姓名VARCHAR(20)否否是否否
sex性别VARCHAR(4)否否是否否
DATETIME否否否否否birthday出⽣⽇
期
address家庭地
VARCHAR(50)否否否否否
址
Grade表的结构
字段名字段描
数据类型主键外键⾮空唯⼀⾃增
述
id编号INT(10)是否是是否Gourse课程名VARCHAR(10)否否是否否
S_num学号INT(10)否是是否否
grade成绩VARCHAR(4)否否否否否 (1)建studentInfo数据库
CREATE DATABASSE studentInfo;
(2)建student表
CREATE TABLE student(
num INt(10) NOT NULL UNIQUE PRIMARY KEY,
name VARCHAR(20) NOT NULL,
sex VARCHAR(4) NOT NULL,
birthday DATETIME,
address VARCHAR(50)
);
(3)建gread表
VREATE TABLE grade(
id INT(10) NOT NULL UNIQUE PRIMARY KEY,
gourse VARCHAR(10) NOT NULL,
s_name INT(10) NOT NULL,
grade VARCHAR(4),
FOREIGN KEY (s_num) REFERENCES student (num)
);
四、实验⼩结:
通过本次实验使我掌握了在MySQL中建数据库和建表,并且还掌握了对表结构的设计,在设计含有外键的表时,对于该字段的数据类型要与主表的类型⼀致,否则该外键连接就会失败。通过本次实验让我掌握了见表的⼀般步骤,⾸先设计出⼀个表的结构,然后根据表的结构在设计出对应的MySQL代码。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论