Mysql操作联系题

关于Mysql DMl 的练习

题目留在最后面了

example01:创建一个员工信息表:

其中包括字段:姓名, 性别,身份证号,电话,邮箱,年龄,学历,入职时间,部门,职位,薪资
要求:其中id 作为主键,并且自增长,姓名,身份证号,电话,学历,入职时间,部门,职位,薪资 不能为空,


    CREATE TABLE IF NOT EXISTS `Employee`(
    `id` INT(3)  primary key NOT NULL AUTO_INCREMENT COMMENT '序号',
    `name` VARCHAR(30) NOT NULL COMMENT '姓名',
    `sex` VARCHAR(2) NOT NULL  COMMENT '性别',
    `IDCard` bigint(18) NOT NULL COMMENT '身份证号',
    `phone` bigint(11) NOT NULL COMMENT '电话',
    `email` VARCHAR(50) NULL COMMENT '邮箱',
    `age` int(3) NULL COMMENT '年龄',
    `degree` VARCHAR(50) NULL COMMENT '学历',
    `day` DATE NOT NULL COMMENT '入职时间',
    `part` VARCHAR(50) NOT NUll COMMENT '部门',
    `posts` VARCHAR(50) NOT NULL COMMENT '职位',
    `salary` FLOAT NOT NULL COMMENT '薪资')ENGINE=INNODB DEFAULT CHARSET=utf8;

在这里插入图片描述

example02:初始化插入5条数据(单条插入)批量插入5条数据

INSERT INTO Employee (name,sex,IDCard,phone,email,age,degree,day,part,posts,salary) values('钟寻雪','男',630105199601061242,15898934324,'13892775901@189.com', 26,'硕士','2021-01-22','开发部','工程师',8600);

INSERT INTO Employee (name,sex,IDCard,phone,email,age,degree,day,part,posts,salary)values('阎夜山','女',510105199101258985,13148938583,'htime11@qq.com', 31,'本科','2019-11-10','运维部','工程师',8500);

INSERT INTO Employee (name,sex,IDCard,phone,email,age,degree,day,part,posts,salary) values('魏偲偲','女',  695681198804217845,15694839248,'liuminsi@163.com', 34,'本科','2019-01-12','市场部','需求工程师',8000);

INSERT INTO Employee (name,sex,IDCard,phone,email,age,degree,day,part,posts,salary) values('何问枫','男',  125844199101258205,15143243244,'wiu545@qq.com', 26,'硕士','2020-11-15','测试部','测试工程师',8100);

INSERT INTO Employee (name,sex,IDCard,phone,email,age,degree,day,part,posts,salary) values('孟芷茹','女',  610522200202206012,18329479628,'32132@sina.com', 21,'大专','2019-05-05','开发部','开发工程师',8000);


//因为有一个身份证尾号是x临时把身份证IDCard数据类型换为字符串

ALTER TABLE Employee MODIFY IDCard VARCHAR(50);
INSERT INTO Employee (name,sex,IDCard,phone,email,age,degree,day,part,posts,salary)values('邓静香','女', '610322199907095684',15091575703,'965qq@163.com', 29,'博士','2022-04-16','开发部','开发工程师',9000),('冯晓露','女', '61048120010905512X',15209136318,'1519158he@baidu.com', 21,'大专','2022-09-22','测试部','测试工程师',8000),('萧梦露','女', '610111198907183319',13289341129,'songsize@163.com', 34,'博士','2018-07-16','市场部','市场经理',9000),('石代双','男', '610403200101022016',18609143274,'yufanming@qq.com', 30,'本科','2020-05-11','测试部','测试工程师',8300),('刘津文','男', '610726200110120014',13038913092,'894324@163.com', 19,'大专','2021-08-26','运维部','运维工程师',8000);

在这里插入图片描述

在这里插入图片描述

example03:测试部每人薪资加500

UPDATE Employee SET salary=salary + 500 WHERE part = "测试部";

在这里插入图片描述

example04:修改 学历为 “硕士”并且 原工资小于 9000 的员工 薪资+300

UPDATE Employee SET salary=salary + 300 WHERE degree = "硕士" AND salary < 9000;

在这里插入图片描述

exampe05:将测试部的员工全部并入开发部

UPDATE Employee SET part="开发部" WHERE part = "测试部";

在这里插入图片描述

example06:将2020年之前入职的 员工 薪资 + 100

UPDATE Employee SET salary=salary + 100 WHERE day < "2020-01-01";

在这里插入图片描述

example07:将所有员工的邮箱统一换成 手机号@saas.com

UPDATE Employee SET email= concat(phone,'@saas.com');

在这里插入图片描述

example8:添加列 “家庭住址”,不能为空,默认值为 “陕西省西安市雁塔区软件新城公寓”

alter table Employee add Home varchar(30) not null default '陕西省西安市雁塔区软件新城公寓';
alter table Employee modify column Home VARCHAR(30) comment '家庭住址';

在这里插入图片描述

example09:将年龄大于30岁的女博士,的家庭住址修改到“陕西省西安市曲江公寓”

UPDATE Employee SET Home= "陕西省西安市曲江公寓" WHERE age > 30 AND sex = "女" AND degree ="博士";

在这里插入图片描述

example10:将男员工 性别改为 “男_01”,将女员工性别改为"女_02"

这里因为sex的长度限制,所以把sex长度限制从2改为4

alter table Employee modify column sex varchar(4);
UPDATE Employee SET sex= concat(sex,'_01')WHERE sex = "男";
UPDATE Employee SET sex= concat(sex,'_02')WHERE sex = "女";

在这里插入图片描述

example11:添加字段"生日",从员工的身份证号中提取生日,存入生日字段

ALTER TABLE Employee ADD birthday DATE comment '生日';

update Employee set birthday=MID(IDCard,7,8);

在这里插入图片描述

example12:删除 运维部门 所有员工

DELETE FROM Employee WHERE part = '运维部';

在这里插入图片描述

example13: 开启事务,删除 学历为博士的所有员工, 然后回滚删除操作。

START TRANSACTION;
DELETE FROM Employee WHERE degree = '博士';
ROLLBACK;

在这里插入图片描述

题目

  1. 创建一个员工信息表:
    1.其中包括字段:姓名, 性别,身份证号,电话,邮箱,年龄,学历,入职时间,部门,职位,薪资 要求:其中id 作为主键,并且自增长,姓名,身份证号,电话,学历,入职时间,部门,职位,薪资 不能为空,
    2.初始化插入5条数据(单条插入),批量插入5条数据

     钟寻雪,男,630105199601061242,15898934324,13892775901@189.com, 26,硕士,2021-01-22,开发部,工程师,8600
    '阎夜山','女',510105199101258985,13148938583,'htime11@qq.com',31,'本科','2019-11-10','运维部','工程师',8500 
    '魏偲偲','女', 695681198804217845,15694839248,'liuminsi@163.com',34,'本科','2019-01-12','市场部','需求工程师',8000
    '何问枫','男', 125844199101258205,15143243244,'wiu545@qq.com',26,'硕士','2020-11-15','测试部','测试工程师',8100
    '孟芷茹','女', 610522200202206012,18329479628,'32132@sina.com',21,'大专','2019-05-05','开发部','开发工程	师',8000
    '邓静香','女', 610322199907095684,15091575703,'965qq@163.com',29,'博士','2022-04-16','开发部','开发工程师',9000
    

    ‘冯晓露’,‘女’, 61048120010905512X,15209136318,‘1519158he@baidu.com’,21,‘大专’,‘2022-09-22’,‘测试部’,‘测试工程师’,8000
    ‘萧梦露’,‘女’, 610111198907183319,13289341129,‘songsize@163.com’,34,‘博士’,‘2018-07-16’,‘市场部’,‘市场经理’,9000
    ‘石代双’,‘男’, 610403200101022016,18609143274,‘yufanming@qq.com’,30,‘本科’,‘2020-05-11’,‘测试部’,‘测试工程师’,8300
    ‘刘津文’,‘男’, 610726200110120014,13038913092,‘894324@163.com’,19,‘大专’,‘2021-08-26’,‘运维部’,‘运维工程师’,8000

    3.修改 ”测试部“ 在原薪资基础之上 + 500

    4.修改 学历为 “硕士”并且 原工资小于 9000 的员工 薪资+300

    5.将测试部的员工全部并入开发部

    6.将2020年之前入职的 员工 薪资 + 100

    7.将所有员工的邮箱统一换成 手机号@saas.com

    8.添加列 “家庭住址”,不能为空,默认值为 “陕西省西安市雁塔区软件新城公寓”

    9.将年龄大于30岁的女博士,的家庭住址修改到“陕西省西安市曲江公寓”

    10.将男员工 性别改为 “男_01”,将女员工性别改为"女_02"

    11.添加字段"生日",从员工的身份证号中提取生日,存入生日字段

    10.删除 运维部门 所有员工

    1. 开启事务,删除 学历为博士的所有员工, 然后回滚删除操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值