实验2《MySQL数据库原理与应用》

实验2 创建数据库和表
目的和实验要求:
(1)了解MySQL数据库中的存储引擎分类
(2)了解表的结构特点
(3)了解MySQL的基本数据类型
(4)了解空值的概念
(5)学会在MySQL界面工具中创建数据库和表
(6)学会使用SQL语句创建数据库和表
实验内容:
注意:
(1)实验中所有表创建时命名须加学生姓名前缀,如学生张三,ZhangS_Employees,ZhangS_Departments,ZhangS_Salary,否则实验不得分。
(2)及时保存相关命令方便验证命令运行结果。
(3)每道题目给出代码和对应的运行结果截图!!!!(截图清晰,便于评阅)
1.实验题目
创建用于企业用于管理的员工管理数据库,数据库名为YGGL,包含员工的信息,部门信息,及员工的薪水信息。数据库YGGL包含下列三个表:
(1)Employees:员工信息表
(2)Departments:部门信息表
(3)Salary:员工薪水情况表
表实验2.1 Employees表结构
列名 数据类型 长度 是否允许空值 说明
Employees char 6 否 员工编号,主键
name char 10 否 姓名
education char 4 否 学历
birthday date 16 否 出生日期
sex char 2 否 性别
workyear tinyint 1 是 工作时间
address varchar 20 是 地址
phonenumber char 12 是 电话
departmentID char 3 否 员工部门号,外键
表实验2.2 Departments表结构
列名 数据类型 长度 是否允许空值 说明
departmentID char 3 否 部门编号,主键
departmentName char 20 否 部门名
note text 16 是 备注
表实验2.3 Salary表结构
列名 数据类型 长度 是否允许空值 说明
employmeeID char 6 否 员工编号,主键
Income float 8 否 收入
Outcome float 8 否 支出
2.实验准备
首先要明确,能够创建数据库的用户必须是数据管理员,或是被授权使用CREATE DATEBASE语句的用户。
其次,确定数据库包含哪些表,以及所包含的个表的数据结构,还要了解MySQL的常用数据类型,以及创建数据库的表。
此外还要了解两种常用的创建数据、表的方法,即在界面管理工具中创建和使用CREAT DATEBASE 语句创建。
实验步骤:
1.使用命令行方式创建数据库YGGL。
(1)打开MySQL command line client,输入管理员密码登录,使用CREATE语句创建YGGL数据库。(5分)

Create database YGGL;

(2)在YGGL数据库存在的情况下,使用CREAT DATEBASE语句新建数据库YGGL,查看错误信息,再尝试加上IF NOT EXISTS关键词创建YGGL,看看有什么变化。(5分)

create database  if  not  exists  yggl ;

使用命令方法修改数据库YGGL,要求数据库字符集为utf8,校对规则为utf8_general_ci。(5分)
说明:utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写。utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感。utf8_general_cs区分大小写,cs为case sensitive的缩写,即大小写敏感。

alter database yggl default character set utf8;
alter database yggl default collate utf8_general_ci;

(3)使用SQL语句在YGGL数据库中创建表Employees:员工信息表、Departments:部门信息表、Salary:员工薪水情况表。(每个表10分,共30分)
执行创建表Employees的Sql语句:

CREATE TABLE ZhangYK_Employees(
Employees char(6) NOT NULL PRIMARY KEY,
name char(10) not null,
education char(4) not null,
brithday date not null,
sex char(2) not null,
workyear TINYINT(1),
address VARCHAR(20),
phonenumber char(12),
departmentID CHAR(3) NOT NULL,
FOREIGN KEY(departmentID) REFERENCES ZhangYK_Departments(departmentID)
)

执行创建表Departments的Sql语句:

CREATE TABLE ZhangYK_Departments(
departmentID char(3) not null PRIMARY KEY,
departmentName char(20) not NULL,
note text(16)
)

执行创建表Salary的Sql语句:

CREATE TABLE ZhangYK_Salary(
employmeeID char(6) not NULL PRIMARY KEY,
Income float(8) not NULL,
Outcome float(8) not NULL
)

(4)通过“复制”的方式创建一个和employees同样结构的“employees1”表。(5分)

create table ZhangYK_employees1 select *from ZhangYK_employees

3使用SQL语句删除表和数据库
(1)删除表employmees。(5分)

drop table ZhangYK_employees;

(2)使用命令行将表Emloyees1中的Emailaddress列删除,并将Sex列的默认值修改为男。(10分)

alter table ZhangYK_employees1 drop address;

(3)将Emloyees1表的存储引擎更改为MyISAM类型。(5分)

alter table ZhangYK_Employees1 engine=myisam;

(4)删除数据库YGGL。(5分)

drop database yggl;

思考题:
(1) MySQL中的数据文件有几种?扩展名分别是什么?(查阅资料)(5分)

.frm文件 .MYD文件 .MYI文件 .ibd文件

(2) 什么是数据库的存储引擎?MySQL有哪些存储引擎?(10分)

存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。

MyISAM存储引擎、innoDB存储引擎、MEMORY存储引擎、ARCHIVE存储引擎。

(3) 在定义基本表语句时,NOT NULL参数的作用是什么?(5分)

不允许出现空值

(4) 主码可以建立在“值可以为NULL”的列上吗?简要说明理由。(5分)
不行 主码的定义为不能为空且唯一,若值为空,主码不能建立

实验小结:了解了表的创建,表的复制等知识

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值