7天快速掌握MySQL-DAY5
首先公布一下DAY4的作业答案。
项目五:
--创建表
create table person (
personid int not null primary key,
firstname varchar(20) not null,
lastname varchar(20) not null
);
--插入数据
insert into person values (101, 'ming', 'Yao');
insert into person values (102, 'lei', 'Wu');
insert into person values (103, 'zhi', 'Zheng');
--查询结果
mysql> select * from person;
+----------+-----------+----------+
| personid | firstname | lastname |
+----------+-----------+----------+
| 101 | ming | Yao |
| 102 | lei | Wu |
| 103 | zhi | Zheng |
+----------+-----------+----------+
3 rows in set (0.00 sec)
--创建表
create table address (
addressid int not null primary key,
personid int not null,
city varchar(20) not null,
state varchar(20) not null
);
--插入数据
insert into address values (8000, 9999, 'xian', 'UA');
insert into address values (8008, 102, 'beijing', 'AB');
insert into address values (9009, 103, 'hangzhou', 'AC');
--查询结果
mysql> select * from address;
+-----------+----------+----------+-------+
| addressid | personid | city | state |
+-----------+----------+----------+-------+
| 8000 | 9999 | xian | UA |
| 8008 | 102 | beijing | AB |
| 9009 | 103 | hangzhou | AC |
+-----------+----------+----------+-------+
3 rows in set (0.00 sec)
mysql> select firstname, lastname, a.city, a.state
-> from person
-> left join address as a on person.personid = a.personid;
+-----------+----------+----------+-------+
| firstname | lastname | city | state |
+-----------+----------+----------+-------+
| ming | Yao | NULL | NULL |
| lei | Wu | beijing | AB |
| zhi | Zheng | hangzhou | AC |
+-----------+----------+----------+-------+
3 rows in set (0.00 sec)
项目六:
#问题分析
a. 删除重复的电子邮箱
b. 需要保留ID最小的那个(删除的ID比留下的那一条ID要大)
c. 考察自连接知识,把一张表当两张表来用。
--code--
mysql> select * from email;
+----+---------+
| ID | Email |
+----+---------+
| 1 | a@b.com |
| 2 | c@d.com |
| 3 | a@b.com |
+----+---------+
3 rows in set (0.00 sec)
mysql> delete e1
-> from email as e1, email as e2
-> where e1.Email = e2.Email
-> and e1.ID > e2.ID;
Query OK, 1 row affected (0.01 sec)
mysql> select * from email;
+----+---------+
| ID | Email |
+----+---------+
| 1 | a@b.com |
| 2 | c@d.com |
+----+---------+
2 rows in set (0.00 sec)
继续今日DAY5内容:
1. 数据导入导出(公众号回复em获取文件)
navicat导入导出方法:
连接数据库账户
选择数据world
导入向导
导入类型选择excel
导入过程中可以修改字段类型
导入结果:
导出步骤:
选择数据库
选择表
导出向导
导出结果:
2. 作业
项目七: 各部门工资最高的员工(难度:中等)
创建Employee 表,包含所有员工信息,每个员工有其对应的 Id, salary 和
department Id。
+----+-------+--------+--------------+
| Id | Name | Salary | DepartmentId |
+----+-------+--------+--------------+
| 1 | Joe | 70000 | 1 |
| 2 | Henry | 80000 | 2 |
| 3 | Sam | 60000 | 2 |
| 4 | Max | 90000 | 1 |
+----+-------+--------+--------------+
创建Department 表,包含公司所有部门的信息。
+----+----------+
| Id | Name |
+----+----------+
| 1 | IT |
| 2 | Sales |
+----+----------+
编写一个 SQL 查询,找出每个部门工资最高的员工。例如,根据上述给定的表格,
Max 在 IT 部门有最高工资,Henry 在 Sales 部门有最高工资。
+------------+----------+--------+
| Department | Employee | Salary |
+------------+----------+--------+
| IT | Max | 90000 |
| Sales | Henry | 80000 |
+------------+----------+--------+
项目八: 换座位(难度:中等)
小美是一所中学的信息科技老师,她有一张 seat 座位表,平时用来储存学生名字和与他们相对应的座位 id。
其中纵列的 id 是连续递增的
小美想改变相邻俩学生的座位。
你能不能帮她写一个 SQL query 来输出小美想要的结果呢?
请创建如下所示seat表:
示例:
+---------+---------+
| id | student |
+---------+---------+
| 1 | Abbot |
| 2 | Doris |
| 3 | Emerson |
| 4 | Green |
| 5 | Jeames |
+---------+---------+
假如数据输入的是上表,则输出结果如下:
+---------+---------+
| id | student |
+---------+---------+
| 1 | Doris |
| 2 | Abbot |
| 3 | Green |
| 4 | Emerson |
| 5 | Jeames |
+---------+---------+
注意:
如果学生人数是奇数,则不需要改变最后一个同学的座位。
答案明天揭晓。
喜欢就给个好看吧~~
7天快速掌握MySQL-DAY5相关推荐
- 这38个小技巧告诉你如何快速学习MySQL数据库
无论是运维.开发.测试,还是架构师,数据库技术是一个必备加薪神器,那么,一直说学习数据库.学MySQL,到底是要学习它的哪些东西呢?此文为你揭晓,你值得一看!看过别忘记点赞+转发支持哦. 1.如何快速 ...
- 使用MySQL自带工具mysqlhotcopy快速备份mysql数据库
使用MySQL自带工具mysqlhotcopy快速备份mysql数据库 发表于82 天前 ⁄ 网站备份 ⁄ 暂无评论 mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供.它 ...
- 使用mysql-proxy 快速实现mysql 集群 读写分离
使用mysql-proxy 快速实现mysql 集群 读写分离 2011-12-29 17:03 目前较为常见的mysql读写分离分为两种: 1. 基于程序代码内部实现:在代码中对select操作分发 ...
- 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践
学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践 原文 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践 感谢大家在上一篇 学一 ...
- MySQL Study案例之--快速了解MySQL服务器
MySQL Study案例之--快速了解MySQL服务器 1.查看数据库版本 mysql> show variables like 'version'; +---------------+--- ...
- sh密码登录mysql_Shell下实现免密码快速登陆MySQL数据库的方法
背景 当我们在 Shell 下想要通过 mysql-client 登陆到 MySQL 数据库的时候,我们总是需要非常麻烦的输入一次又一次的密码. 而且,如果你的 root 密码是高度随机的话(Last ...
- mysql导入数据表越来越慢,快速解决mysql导数据时,格式不对、导入慢、丢数据的问题...
快速解决mysql导数据时,格式不对.导入慢.丢数据的问题 如果希望一劳永逸的解决慢的问题,不妨把你的mysql升级到mysql8.0吧,mysql8.0默认的字符集已经从latin1改为utf8mb ...
- 通过管道传输快速将MySQL的数据导入Redis(自己做过测试)
通过管道传输快速将MySQL的数据导入Redis 通过管道传输pipe将MySQL数据批量导入Redis 自Redis 2.6以上版本起,Redis支持快速大批量导入数据,即官网的Redi ...
- 修改mysql数据库名方法_安全快速修改Mysql数据库名的5种方法
1. RENAME DATABASE db_name TO new_db_name 这个..这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了. 据说有可能丢失数据.还是不要用的好 ...
- 安装mysql 没有快捷_快速安装mysql
一.快速安装mysql准备工作 首先需要保证自己的开发工具包已安装:未安装使用 yum groupinstall 'Develop Tools ' -y 这样就不会出现缺少gcc和 No cu ...
最新文章
- v-model详细使用
- vs2015安装与单元测试以及经过优化的算法
- mysql5720_Mysql内置功能《五》 函数
- 一个端到端模型GraphDR实现多样化的召回
- linux获取其他主机ipv6,linux – 如何获取IPv6主机的范围?
- java多组List所有的排列组合
- android 布局属性
- android百度地图获取定位信息吗,android使用百度地圖定位(獲取當前經緯度和地址信息)...
- jQ+jQ UI制作的一个简单的二级可多选穿梭框
- 零基础CSS入门教程(29)–CSS下拉菜单实例
- 论文格式修改之英文摘要
- Excel表格中如何将文本型改为数值型数据
- linux cpu使用率 理解,深入理解Linux的CPU使用率
- 51单片机延时程序(以延时30ms为例)
- 交换机之恢复重置设备密码
- 移动 云MAS 发短信 .net HTTP 请求
- 高防服务器与高防IP的区别和联系
- 喝干红葡萄酒的十大好处
- 【超全】Go语言超详细学习知识体系
- 黑苹果EFI引导启动文件,华硕X99 Deluxe+E5-1660v3+蓝宝石 RX 580 8G+macos10.14.x(7)
热门文章
- [Python] 开发一个局域网联机小游戏
- iperf3的交叉编译
- 中科院计算机和理论物理双硕士白,中科院研究生理论物理怎么不学相对论?
- 红帽9linux安装ios,红帽linux9.0安装教程
- 在哪可以找c语言编程的答案,c语言程序设计课后习题答案.doc
- 浙江大学计算机专业选考要求,浙大等招办主任解读2020年选考科目要求!各专业有调整!...
- 关于min max 函数凹凸性,以及报童模型中期望库存,期望缺货量的性质
- 常见运维监控系统的技术选型
- 智慧城市的投资运营与评估
- 夏普MAX3101N复印故障