myslq常用命令

myslq常用命令

连接mysql服务器:

mysql -uroot -p(mysql密码)

查看所有数据库:

show databases;

创建数据库:

create database 数据库名 charset=utf8

创建数据表

create table 数据表名字 (column_name column_type);

使用库:

use 数据库名

查看所有表:

show tables;

删除mysql表单中的某条数据:

delete from 表名 where 条件 (如果想要删除表中的一条数据的话 后面的条件需要是能唯一确定一条记录的条件!)

删除数据库:

drop database 数据库名字

删除数据表

drop table 数据表名字

查看表单数据:

select * from 表单名

条件查询数据:

select * from 表名 where 条件

查询最大值,最小值,平均值,总和:

最大值:select * from 表面 where 数据值=(select max(数据值) from 表名);
最小值:max 换 min
平均值:max 换 avg
总和:max 换 sum

查询数据为空的数据:

select * from 表名 where 判断为空的值 is null;

查询数据只查其中的个别数据:

select 想要查询的值 from 表名 ;

模糊查询(数据值带有a的):

select * from 表名 where 数据值 like ‘%A%’

子查询(查询某值大于某数据值的所有数据):

select 需要展示的数据 from 表名 where 相比较的数据值>(select 相比较的数据值 from 表名 where 比较对象的判断);

练习题详细:

一.员工部分表

1.部门表Dept
  • 建表语句
CREATE TABLE dept  (
DEPTNO FLOAT(2) PRIMARY KEY, -- 部门号
DNAME VARCHAR(14) ,  -- 部门名称
LOC VARCHAR(13) ) ;  -- 部门地址
  • 数据
INSERT INTO dept VALUES  (10,'ACCOUNTING','NEW YORK');  
INSERT INTO dept VALUES (20,'RESEARCH','DALLAS');  
INSERT INTO dept VALUES  (30,'SALES','CHICAGO');  
INSERT INTO dept VALUES  (40,'OPERATIONS','BOSTON');  
2.员工表EMP
  • 建表语句
CREATE TABLE emp  
(EMPNO float(4)  PRIMARY KEY,  -- 员工编号
ENAME VARCHAR(10),  -- 员工姓名
JOB VARCHAR(9),  -- 员工职位
MGR float(4),  -- 员工上级工号
HIREDATE DATE,  -- 生日
SAL float(7,2),  -- 薪水
COMM float(7,2),  -- 年终奖
DEPTNO float(2) REFERENCES dept);  -- 部门号
  • 数据
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, null, 20);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7499, 'ALLEN', 'SALESMAN', 7698, '1981-02-20', 1600, 300, 30);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7521, 'WARD', 'SALESMAN', 7698, '1981-02-22', 1250, 500, 30);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7566, 'JONES', 'MANAGER', 7839, '1981-04-02', 2975, null, 20);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7654, 'MARTIN', 'SALESMAN', 7698, '1981-09-28', 1250, 1400, 30);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7698, 'BLAKE', 'MANAGER', 7839, '1981-05-01', 2850, null, 30);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7782, 'CLARK', 'MANAGER', 7839, '1981-06-09', 2450, null, 10);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7788, 'SCOTT', 'ANALYST', 7566, '1987-04-19', 3000, null, 20);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7839, 'KING', 'PRESIDENT', null, '1981-11-17', 5000, null, 10);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7844, 'TURNER', 'SALESMAN', 7698, '1981-09-08', 1500, 0, 30);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7876, 'ADAMS', 'CLERK', 7788, '1987-05-23', 1100, null, 20);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7900, 'JAMES', 'CLERK', 7698, '1981-12-03', 950, null, 30);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7902, 'FORD', 'ANALYST', 7566,'1981-12-02', 3000, null, 20);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7934, 'MILLER', 'CLERK', 7782, '1982-01-23', 1300, null, 10);
单表基础查询
1) 查询没有上级的员工全部信息(mgr是空的)
select * from emp where mgr is null;
2) 列出30号部门所有员工的姓名、薪资
select ename,sal from emp;
3) 查询姓名包含 'A’的员工姓名、部门名称
select ename,deptno from emp where ename like '%a%';
4) 查询员工“TURNER”的员工编号和薪资
 select empno,sal from emp where ename='turner';
5) – 查询薪资最高的员工编号、姓名、薪资
select empno,ename,sal from emp where sal=(select max(sal) from emp);
6) – 查询10号部门的平均薪资、最高薪资、最低薪资
select avg(sal),max(sal),min(sal) from emp where deptno='10';
子查询
1) 列出薪金比员工“TURNER”多的所有员工姓名(ename)、员工薪资(sal)
select ename,sal from emp where sal>(select sal from emp where ename='turner');
2) 列出薪金高于公司平均薪金的所有员工姓名、薪金。
select ename,sal from emp where sal>(select avg(sal) from emp );
3) 列出与“SCOTT”从事相同工作的所有员工姓名、工作名称(不展示Scott的姓名、工作)
select ename,job from emp where ename!='scott'and job=(select job from emp where ename='scott');
4) 列出薪金高于30部门最高薪金的其他部门员工姓名、薪金、部门号。
select ename,sal,deptno from emp where sal>(select max(sal) from emp where deptno='30');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值