数据库定义实验

一、实验内容
数据库定义
创建:创建企业员工管理数据库DBEM
修改:修改DBEM的某个选项,然后还原
删除:创建一个临时数据库tempDB,然后删除它
基本表定义
创建:创建DBEM中的三个基本表
修改:自设场景对基本表进行修改,然后还原
删除:创建一个临时表tempTB,然后删除它
思考与练习
1、在DBEM数据库存在的情况下,使用CREATE DATABASE语句新建 DBEM,查看错误信息,再尝试加上IF NOT EXISTS关键字创建 DBEM,看看有什么变化
2、创建一个与employee表结构相同的空表employee0,并且要求使用
存储引擎为MyISAM
3、创建一个基本表的时候,LIKE和AS有何区别?试着对比表数据和表 结构
插入记录
向DBEM数据库的三个基本表中导入实例2的数据记录
删除表employee和salary中的第一行记录,然后用SQL语句向表中插 入删除掉的数据
更新记录
将表employee中编号020018的记录的部门号改成4
删除记录
删除表employee中编号为102201的职工信息
删除所有收入大于2500的员工信息
思考与练习
4、在INT型的列中插入字符型数据会发生什么情况
5、尝试在基本表中插入两行有相同主键的数据,看看会发生什么情况
6、使用INSERT或者UPDATE语句将实验中所有对表的修改恢复到原来的 状态,方便在后面实验中使用

二、实验过程
创建dbem:create database DBEM
character set gbk
collate gbk_chinese_ci;

修改dbem并还原: alter database dbem
default character set gb2312;
alter database dbem
default character set gbk;

删除数据库:create database tempDB;
drop database tempDB;

创建表:use dbem;
CREATE TABLE employee (
employeeID CHAR(6) NOT NULL PRIMARY KEY, /员工号/
name CHAR(10) NOT NULL, /*姓名 */
education CHAR(4) NOT NULL, /学历/
birth DATE NOT NULL, /出生日期/
gender TINYINT(1) NOT NULL DEFAULT 1, /男1女0/
workYear TINYINT(1), /工作时间/
address VARCHAR(100), /地址/
phone CHAR(12), /电话号码/
departmentID CHAR(3) REFERENCES department(departmentID)
);
CREATE TABLE department (
departmentID CHAR(3) PRIMARY KEY, /部门编号/
departName CHAR(20) NOT NULL, /部门名称/
comment VARCHAR(100) /备注/
);
CREATE TABLE salary (
employeeID CHAR(6) REFERENCES employee(employeeID),
income REAL, /收入/
outcome REAL, /支出/
PRIMARY KEY(employeeID)
);

修改表:rename table employee to em;
rename table em to employee;

删除表:create database tempDB;
drop database tempDB;

思考题1: create database DBEM;
create database if not exists DBEM;
在这里插入图片描述
思考题2:alter table employee0 engine=myisam;

思考题3: create table salary1 like salary;
create table salary2 as (select * from salary);

salary1:
在这里插入图片描述
salary2:
在这里插入图片描述
导入数据:load data infile ‘C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/employee.csv’ into table employee
CHARACTER SET gbk
FIELDS TERMINATED BY ‘,’
LINES TERMINATED BY ‘\r\n’;
load data infile ‘C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/salary.csv’ into table salary
CHARACTER SET gbk
FIELDS TERMINATED BY ‘,’
LINES TERMINATED BY ‘\r\n’;
load data infile ‘C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/department.csv’ into table department
CHARACTER SET gbk
FIELDS TERMINATED BY ‘,’
LINES TERMINATED BY ‘\r\n’;
删除和插入:SET SQL_SAFE_UPDATES = 0;
delete from salary where employeeID=1;
delete from employee where employeeID=1;
insert into salary
set employeeID=000001,
income=2100.8,
outcome=123.09;
insert into employee
set employeeID=‘000001’,
name=‘王林’,
education=‘大专’,
birth=‘1966/1/23’,
gender=1,
workyear=8,
address=‘中山路32号’,
phone=83355668,
departmentID=2;

更新记录:update employee
set departmentID=4
where employeeID=020018;
在这里插入图片描述
删除记录:delete from employee where employeeID=10220;
delete from salary where income>2500;
在这里插入图片描述
思考题4:update salary
set income=‘abc’
where employeeID=020018;
在这里插入图片描述
思考题5:insert into salary
set employeeID=2,
income=2100.8,
outcome=123.09;
insert into salary
set employeeID=2,
income=2100.8,
outcome=123.09;
在这里插入图片描述
思考题6:delete from salary where employeeID=2;
update employee
set departmentID=1
where employeeID=020018;
insert into employee
values(‘102201’,‘刘明’,‘本科’,‘2000/4/17’,‘1’,‘3’,‘虎踞路100号’,‘83606608’,‘5’);
insert into salary
values(‘102201’,‘2569.88’,‘185.65’),
(‘302566’,‘2980.7’,‘210.2’),
(‘20010’,‘2860’,‘198’),
(‘108991’,3259.98,281.52),
(‘308759’,‘2531.98’,‘199.08’);
在这里插入图片描述
在这里插入图片描述
三、思考题解答

思考题3:创建基本表时,用like和as的区别是,两者表结构相同,但用like得到的表值都为null,用as得到的表数据与原表一致。

思考题4:在int型的列插入字符,会产生错误,无法执行。

思考题5:插入两行相同主键的的数据,第一行成功插入,第二行错误,无法插入。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值