From 1c0fc7798ef10721fbbb7c0310b55dc15d3f3d13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=90=AF=E6=81=92?= <344887072@.com> Date: Tue, 21 Feb 2023 22:08:12 +0800 Subject: [PATCH] 2023 2 21 --- .../2023 2 21.txt" | 239 ++++++++++++++++++ 1 file changed, 239 insertions(+) create mode 100644 "36 \350\265\265\345\220\257\346\201\222/2023 2 21.txt" diff --git "a/36 \350\265\265\345\220\257\346\201\222/2023 2 21.txt" "b/36 \350\265\265\345\220\257\346\201\222/2023 2 21.txt" new file mode 100644 index 0000000..b1c5bd2 --- /dev/null +++ "b/36 \350\265\265\345\220\257\346\201\222/2023 2 21.txt" @@ -0,0 +1,239 @@ +## 第1题 + +#1、创建数据库test01_company +create database test01_company; +#--2、创建表格offices + +#| 字段名 | 数据类型 | +#| ---------- | ----------- | +#| officeCode | int | +#| city | varchar(30) | +#| address | varchar(50) | +#| country | varchar(50) | +#| postalCode | varchar(25) | +create table offices( + officeCode int , + city varchar(30), + address varchar(50) + country varchar(50) + postalCode varchar(25) +); + +3、创建表格employees + +| 字段名 | 数据类型 | +| ------------- | ---------------------------- | +| empNum | int(11) | +| lastName | varchar(50) | +| firstName | varchar(50) | +| mobile | varchar(25) | +| code | int | +| jobTitle | varchar(50) | +| birth | date | +| Note | varchar(255) | +| Sex | varchar(5) | + +create database Ok; +use Ok; +create table employees ( + empNum int, + lastName varchar(50), + firstName varchar(50), + mobile varchar(25), + code int, + jobTitle varchar(50), + birth date, + Note varchar(255), + Sex varchar(5) +); +desc employees; +**要求4:**将表employees的mobile字段修改到code字段后面。 + +**要求5:**将表employees的birth字段改名为birthday; +rename table employees to birthday; +**要求6:**修改sex字段,数据类型为char(1)。 +alter table code modify sex char(1); +**要求7:**删除字段note; +alter table code drop Note; +**要求8:**增加字段名favoriate_activity,数据类型为varchar(100); +**要求9:**将表**要求9:**将表employees的名称修改为 employees_info; +alter table employees rename employees_info; +第2题 +1、创建数据库test02db +create database test02db; +2、创建表格pet +create table pet( + name varchar(20) comment '宠物名称', +owner varchar(20) comment '宠物主人', + species varchar(20) comment '种类', + sex char(1) comment'性别', + birth year comment '出生日期', + death year comment '死亡日期' +); +3、添加记录 +insert into pet value + ('Fluffy','harold','Cat','f','2003','2010'), + ('Claws','gwen','Cat','m','2004',null), + ('Buffy',null,'Dog','f','2009',null), + ('Fang','benny','Dog','m','2000',null), + ('bowser','diane','Dog','m','2003','2009'), + ('Chirpy ',null,'Bird','f','2008',null); +4、 添加字段主人的生日owner_birth。 +alter table pet add owner_birth date; +5、 将名称为Claws的猫的主人改为kevin +5、 将名称为Claws的猫的主人改为kevin + +update pet set name='kevin' where name='Claws'; +6、 将没有死的狗的主人改为duck + +update pet set name='duck' where species='Dog' and death is null; +7、 查询没有主人的宠物的名字; + +select name from pet where owner is null; +8、 查询已经死了的cat的姓名,主人,以及去世时间; + +select name,owner,death from pet where species = "Cat" and death is not null; +9、 删除已经死亡的狗 + +delete from pet where species='Dog' and death is not null; +10、查询所有宠物信息 + +select * from pet; +第三题 +1、创建数据库:test03_company + +create database test03_company; +2、在此数据库下创建如下3表,数据类型,宽度,是否为空根据实际情况自己定义。 + +use test03_company; +A. 部门表(department):部门编号(depid),部门名称(depname),部门简介(deinfo);其中部门编号为主键。 + +create table department( +depid int primary key, +depname varchar(10) not null, +deinfo varchar(20) null +); +B. 雇员表(emoloyee):雇员编号(empid),姓名(name),性别(sex),职称(title),出生日期(birthday),所在部门编号(depid);其中 + +​ 雇员编号为主键; +​ 部门编号为外键,外键约束等级为(on update cascade 和on delete set null); +​ 性别默认为男; +create table emoloyee( +empid int primary key , +name varchar(10), +sex enum('男','女') not null default '男', +title varchar(10), +birthday date, +depid int, +foreign key (depid) references department(depid) on update cascade on delete set null +); +C. 工资表(salary):雇员编号(empid),基本工资(basesalary),职务工资(titlesalary),扣除(deduction)。其中雇员编号为主键。 + +create table salary( +empid int primary key, +basesalary int, +titlesalary int, +deduction int null +); +3、给工资表(salary)的雇员编号(empid)增加外键约束,外键约束等级为(on update cascade 和on delete cascade) + +alter table salary add constraint foreign key (empid) references emoloyee(empid) on update cascade on delete cascade; +4、添加数据如下: + +部门表: + +insert into department values +(111,'生产部',null), +(222,'销售部',null), +(333,'人事部','人力资源管理'); +部门编号 部门名称 部门简介 +111 生产部 Null +222 销售部 Null +333 人事部 人力资源管理 +雇员表: + +insert emoloyee values (1001,'张三','男','高级工程师','1975-1-1',111), +(1002,'李四','女','助工','1985-1-1',111), +(1003,'王五','男','工程师','1978-11-11',222), +(1004,'张六', '男','工程师','1999-1-1',222); +雇员编号 姓名 性别 职称 出生日期 所在部门编号 +1001 张三 男 高级工程师 1975-1-1 111 +1002 李四 女 助工 1985-1-1 111 +1003 王五 男 工程师 1978-11-11 222 +1004 张六 男 工程师 1999-1-1 222 +工资表: + +insert into salary values(1001,2200,1100,200), +(1002,1200,200,null), +(1003,2900,700,200), +(1004,1950,700,150); +雇员编号 基本工资 职务工资 扣除 +1001 2200 1100 200 +1002 1200 200 NULL +1003 2900 700 200 +1004 1950 700 150 + +第4题 +1、创建一个数据库:test04_school + +CREATE DATABASE test04_school CHARSET utf8; +2、创建如下表格 + +USE test04_school; +表1 Department表的定义 + +create table Department( +DepNo int(10) COMMENT '部门号' PRIMARY KEY , +DepName varchar(20) COMMENT '部门名称' not null, +DepNote varchar(50) COMMENT '部门备注' null +); +字段名 字段描述 数据类型 主键 外键 非空 唯一 +DepNo 部门号 int(10) 是 否 是 是 +DepName 部门名称 varchar(20) 否 否 是 否 +DepNote 部门备注 Varchar(50) 否 否 否 否 +表2 Teacher表的定义 + +create table Teacher( +Number int COMMENT '教工号' PRIMARY KEY, +Name varchar(30) COMMENT '姓名' not null, +Sex varchar(4) COMMENT '性别' null, +Birth date COMMENT '出生日期' null, +DepNo int COMMENT '部门号' , +Salary float COMMENT '工资' null, +Address varchar(100) COMMENT '家庭住址' null, +foreign key(DepNo) references Department(DepNo) +); +字段名 字段描述 数据类型 主键 外键 非空 唯一 +Number 教工号 int 是 否 是 是 +Name 姓名 varchar(30) 否 否 是 否 +Sex 性别 varchar(4) 否 否 否 否 +Birth 出生日期 date 否 否 否 否 +DepNo 部门号 int 否 是 否 否 +Salary 工资 float 否 否 否 否 +Address 家庭住址 varchar(100) 否 否 否 否 +3、添加记录 + +insert into Department VALUES(601,'软件技术系','软件技术等专业'), +(602,'网络技术系','多媒体技术等专业'), +(603,'艺术设计系','广告艺术设计等专业'), +(604,'管理工程系','连锁经营管理等专业'); + +insert into Teacher values(2001,'Tom','女','1970-01-10',602,4500,'四川省绵阳市'), +(2002,'Lucy','男','1983-12-18',601,2500,'北京市昌平区'), +(2003,'Mike','男','1990-06-01',604,1500,'重庆市渝中区'), +(2004,'James','女','1980-10-20',602,3500,'四川省成都市'), +(2005,'Jack','男','1975-05-30',603,1200,'重庆市南岸区'); +DepNo DepName DepNote +601 软件技术系 软件技术等专业 +602 网络技术系 多媒体技术等专业 +603 艺术设计系 广告艺术设计等专业 +604 管理工程系 连锁经营管理等专业 +Number Name Sex Birth DepNo Salary Address +2001 Tom 女 1970-01-10 602 4500 四川省绵阳市 +2002 Lucy 男 1983-12-18 601 2500 北京市昌平区 +2003 Mike 男 1990-06-01 604 1500 重庆市渝中区 +2004 James 女 1980-10-20 602 3500 四川省成都市 +2005 Jack 男 1975-05-30 603 1200 重庆市南岸区 +4、用SELECT语句查询Teacher表的所有记录。 + +select * from Teacher; \ No newline at end of file -- Gitee