mysql max 命令大全_MySQL常用命令,34道练习题(持续更新中)。
1、使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
2、创建一个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3、选择你所创建的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
4、查看现在的数据库中存在什么表
mysql> SHOW TABLES;
5、创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6、显示表的结构:
mysql> DESCRIBE MYTABLE;
7、往表中加入记录
mysql> insert into MYTABLE values (”hyq”,”M”);
8、用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;
9、导入.sql文件命令(例如D:/mysql.sql)
mysql>use database; mysql>source d:/mysql.sql;
10、删除表
mysql>drop TABLE MYTABLE;
11、清空表
mysql>delete from MYTABLE;
12、更新表中数据
mysql>update MYTABLE set sex=”f” where name=’hyq’;
匿名帐户删除、 root帐户设置密码:
use mysql; delete from User where User=”"; update User set Password=PASSWORD(’newpassword’) where User=’root’;
GRANT的常用用法如下:
grant all on mydb.* to NewUserName@HostName identified by “password” ; grant usage on *.* to NewUserName@HostName identified by “password”; grant select,insert,update on mydb.* to NewUserName@HostName identified by “password”; grant update,delete on mydb.TestTable to NewUserName@HostName identified by “password”;
全局管理权限:
FILE: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
ALTER: 修改已存在的数据表(例如增加/删除列)和索引。
CREATE: 建立新的数据库或数据表。
DELETE: 删除表的记录。
DROP: 删除数据表或数据库。
INDEX: 建立或删除索引。
INSERT: 增加表的记录。
SELECT: 显示/搜索表的记录。
UPDATE: 修改表中已存在的记录。
特别的权限:
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录–其它什么也不允许做。
MySQL-Practice-Questions
1、取得每个部门最高薪水的人员名称
第一步:取得每个部门最高薪水『按照部门分组求最大值』
mysql> select deptno,max(sal) as maxsal from emp group by deptno;
deptno
maxsal
10
5000.00
20
3000.00
30
2850.00
第二步:将上面的查询结果当作临时表t,t表和emp e表进行连接
条件:e.deptno=t.deptno and e.sal=t.sal
mysql> select -> e.ename t.* -> from -> emp e -> join -> (select deptno,max(sal) as maxsal from emp group by deptno) t -> on -> e.deptno=t.deptno and e.sal = t.maxsal;
ename
deptno
maxsal
BLAKE
30
2850.00
SCOTT
20
3000.00
KING
10
5000.00
FORD
20
3000.00
2、那些人的薪水在部门的平均薪水之上
第一步:找出部门的平均薪水『按部门编号分组求平均薪水』
select deptno,avg(sal) as avgsal from emp group by deptno;
deptno
avgsal
10
2916.666667
20
2175.000000
30
1566.666667
第二步:将上面的查询结果当作临时表t,与emp e表进行连接 条件:t.deptno=t.deptno and e.sal > t.avgsal
select e.ename,e.sal,t.* from emp e join (select deptno,avg(sal) as avgsal from emp group by deptno) t on e.deptno=t.deptno and e.sal > t.avgsal;
ename
sal
deptno
avgsal
ALLEN
1600.00
30
1566.666667
JONES
2975.00
20
2175.000000
BLAKE
2850.00
30
1566.666667
SCOTT
3000.00
20
2175.000000
KING
5000.00
10
2916.666667
FORD
3000.00
20
2175.000000
3、1取得部门中(所有人)平均薪水的等级
第一步:取得部门中的平均薪水
select deptno,avg(sal) as avgsal from emp group by deptno;
deptno
avgsal
10
2916.666667
20
2175.000000
30
1566.666667
第二部:将上面的查询结果当作临时表t,t表和salgrade s表进行关联 条件:e.sal between s.losal and s.hisal
select t.*,s.grade from salgrade s join (select deptno,avg(sal) as avgsal from emp group by deptno) t on t.avgsal between s.losal and s.hisal;
deptno
avgsal
grade
10
2916.666667
4
20
2175.000000
4
30
1566.666667
3
3、2取得部门中(所有人)薪水的平均等级
第一步:每个员工的薪水等级(oder by 以部门编号排序,为了好理解)
select e.ename,e.sal,e.deptno,s.grade from emp e join salgrade s on e.sal between s.losal and s.hisal ;
ename
sal
deptno
grade
MILLER
1300.00
10
2
KING
5000.00
10
5
CLARK
2450.00
10
4
ADAMS
1100.00
20
1
SCOTT
3000.00
20
4
FORD
3000.00
20
4
JONES
2975.00
20
4
SMITH
800.00
20
1
MARTIN
1250.00
30
2
ALLEN
1600.00
30
3
JAMES
950.00
30
1
BLAKE
2850.00
30
4
WARD
1250.00
30
2
TURNER
1500.00
30
3
第二步:在以上基础上继续以部门编号分组,求平均薪水等级
select e.deptno,s.grade from emp e join salgrade s on e.sal between s.losal and s.hisal group by e.deptno;
deptno
grade
10
4
20
1
30
3
4、不用组函数(MAX),取得最高薪水(给出两种解决方案)
方案一:按照薪水降序排,取得第一个
mysql> select sal from emp order by sal desc limit 1;
方案二:自连接
mysql>mysql> select sal from emp where sal not in(select a.sal from emp a join emp b on a.sal < b.sal);
sal
5000.00
5、取得平均薪水最高的部门的编号(至少给出两种解决方案)
第一种方案:平均薪水降序排取第一个 第一步:取得每个部门的平均薪水
mysql> select deptno,avg(sal) avgsal from emp group by deptno;
deptno
avgsal
10
2916.666667
20
2175.000000
30
1566.666667
第二步:取得平均薪水的最大值
mysql> select avg(sal) avgsal from emp group by deptno order by avgsal desc limit 1;
avgsal
2916.666667
第三步:将第一步和第二步结合
select deptno,avg(sal) as avgsal from emp group by deptno having avg(sal)=( select avg(sal) avgsal from emp group by deptno order by avgsal desc limit 1);
deptno
avgsal
10
2916.666667
第二种方案:MAX函数
select deptno,avg(sal) as avgsal from emp group by deptno having avg(sal)=( select max(t.avgsal) from (select avg(sal) avgsal from emp group by deptno) t);
deptno
avgsal
10
2916.666667
6、取得平均薪水最高的部门的部门名称
select d.dname,avg(e.sal) as avgsal from emp e join dept d on e.deptno=d.deptno group by d.dname having avg(e.sal)=( select max(t.avgsal) from (select avg(sal) avgsal from emp group by deptno) t);
dname
avgsal
ACCOUNTING
2916.666667
mysql max 命令大全_MySQL常用命令,34道练习题(持续更新中)。相关推荐
- 启动项 mysql命令大全_mysql常用命令
一.登录mysql数据库 1.连接本地mysql数据库,默认端口为3306 #mysql –u root –p 123456 //-u:指定用户 -p:指定与用户对应的密码 2.通过IP和端口连接远程 ...
- mysql配置命令大全_MySQL常用命令汇总
非交互式超时时间,如 JDBC 程序 show global variables like 'wait_timeout'; 交互式超时时间,如数据库工具 show global variables l ...
- mysql常用表名大全_MySQL常用命令大全
目录 1.mysql服务的启动和停止 2.登陆mysql 3.增加新用户 4. 操作数据库 Ⅰ. 显示数据库列表. Ⅱ. 显示库中的数据表: Ⅲ. 显示数据表的结构: Ⅳ. 建库与删库: Ⅴ. 建表与 ...
- csdn入门测试教程------mysql数据库命令大全以及常用命令 安装教程 基础知识 附【练习题】
前言: mysql数据库是每一个测试小白入行必学的一个知识,学会这些命令呢也能让你在玩转数据库的时候给你提供很多的便利也是很不错的,最后希望各位小伙伴学有所成,心想事成咯, 废话不多说直接上正文. [ ...
- mysql命令教学_mysql常用命令有什么
mysql常用命令有:1."create database name;":2."use databasename;":3."drop database ...
- mysql 常用命令集_mysql 常用命令集锦[绝对精华]
一.连接MYSQL. 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u roo ...
- 传奇脚本检测命令大全(常用命令)
传奇检测命令大全 ------常用命令----- #IF ;如果 #SAY ;输出字符串 #ACT ;执行命令 break ;结束命令 close ;结束对话 ------条件命令----- CHEC ...
- python语言命令大全-Python常用命令最全合集
文章目录 一.Python环境配置命令 二.Python 常用命令 三.pip管理工具命令 四.发布包到pypi(官网)命令 Mac 电脑自带python2.x版本,终端输入 python -V // ...
- linux ftp命令大全,linuxftp常用命令【图解】
导语 :大家看到小编的文章估计又要晕了吧,linux是什么呢?今天小编就不给大家卖关子了.Linux是互联网上面可以免费用和随意传播的操作系统.它支持多用户.多任务.多cpu等.功能之强大是我们无法想 ...
最新文章
- java中的各种流(老师的有道云笔记)
- sql server 用户'sa'登录失败(错误18456)
- Java 匿名内部类理解
- Java中的wait()和sleep()方法之间的区别
- 接口的基本演练 java
- 将指定的计数添加到信号量中会导致其超过_并发编程用不上?Semaphore信号量了解一下...
- Spring : 静态代理模式和JDK、CGLIB动态代理
- CISA:警惕俄罗斯 “Sandworm” 黑客组织使用的新型恶意软件框架
- 获取GridView的EmptyDataTemplate中的控件
- 「WTF系列」深入Java中的位操作
- 16家企业、11个领域……京东首开AI加速器,拜倒,拜倒!
- iconfont 在项目中使用阿里icon
- Typora+picgo+gitee图片外链失效,Typora历史笔记无法显示图片
- Ubuntu系统打不开windows磁盘文件
- 新媒体运营编辑有出路吗
- 韩国留学跨计算机,韩国留学跨专业申请行么?弃工从文真实案例借你参考!
- Mybatis Plus最新代码生成器AutoGenerator,更简单更高效!
- Android View(一)——View的基础知识
- 常见网络安全事件研判方法及思路
- Socket与TCP状态
热门文章
- 日站会——你的站会姿势正确吗?
- 从阿里云数据库入选Gartner谈数据库的演化
- 阿里云朱照远:视频云2.0,更大规模、更智能、更清晰
- 官宣丨中国移动云能力中心新增5项可信云认证,斩获2项大奖!
- 数据中心网络架构的问题与演进 — 传统路由交换技术与三层网络架构
- Cloud一分钟 | 谷歌退出美国防部云计算竞标;网络黑灰产业已近千亿,个人信息泄露是源头...
- linux推出超级用户_linux添加root权限用户
- pip 安装_安装 pip 轻松管理 PyPI 软件包 | Linux 中国
- jfinal html5,Jfinal框架整合webSocket技术功能实现
- 鸿蒙手机系统还没有开发,华为鸿蒙手机太难了!引发开发者大吐槽:为何没有自己独特风格?-互联网/电商-文章-小虾米...