MySQL基础:基础Data Manipulation language和Data Query Language

-- DML 用于将数据进行增删改,DQL对数据使用条件处理

-- ,分组处理和聚合函数后输出,以及排序后输出。

-- 以最常见的用户表为例,创建一个employees

 

-- 查找表中所有的字段

select *from employees;

 

-- 插入一段数据,括号中数据要和表中字段顺序对应。

insert into employees values(1,'1234','何炅的弟弟','男',33,'9765432','2000-1-29','广东');

 

-- 插入两段数据,用逗号间隔。

insert into employees values(3,'39767','何晶晶','女',18,'88888888','2008-2-22','越南'),

                             (4,'16778','柳岩','女',90,'88888888','1999-1-30','韩国');

 

-- 更新表数据,以及where的使用

update employees set workadress='日本' where id=4;

update employees set entrydate='2008-01-01' where id=10;

 

-- 添加字段

-- alter table employees add column sociarank varchar(10) comment '社会地位';

 

-- 删除表中字段

-- alter table employees drop sociarank;

 

-- 使用条件删除数据

delete from employees where gender 

 

-- 全部数据清空

-- delete from employees ;

 

-- 以字段查询

select name,idcard from employees;

 

-- 除去重复字段

select distinct workadress as '工作地址' from employees;

 

-- 查询性别为男且年龄大于30岁小于50岁的员工

select *from employees where gender='男' and age between 30 and 50;

也可以用age>30 and age<50;

 

-- 聚合函数

-- 求所有员工的数量和,count

select count(*) 总和 from employees;

 

-- 求年龄最大的员工,最小用min

select max(age)from employees ;

 

-- 求平均年龄

select avg(age) from employees;

 

-- 求日本员工的年龄之和

select sum(age) from employees where workadress='日本';

 

-- 所有null值不参与运算

 

 

-- 分组查询

-- 分别求求男性女性的年龄总和

select gender,sum(age) from employees group by gender;

 

-- 分别求男性女性的数目,并输出人数大于二的性别。

select gender,count(*) from employees group by gender having count(*)>2;

 

-- 多个分组字段,以两个组共同进行数据的划分。

select id,gender,count(*) from employees group by gender ,id;

 

-- 总结:存在优先级顺序

-- 1.where 先选择出符合条件的每一条数据,未进行分组之前相当于只有一个大组,

-- 而聚合函数以组进行划分处理数据。

-- 2.之后可以使用group by进行分组,可以选用一个字段进行分组,也可以选用多个字段进行分组。

-- 选用多个字段进行组合,将会把几个字段中分出的组进行数学上的组合,形成新的组。

-- 3.聚合函数分别对各个组的数据进行处理

-- 4.having 可以对聚合函数结果进行筛选,可以以函数结果作为条件输入。

-- 5.分组之后只能显示组别,select 非组别划分字段没有很大意义,只会显示组中第一个该字段数据。

-- 从上述分析来看,可以知道优先顺序:where>group by>聚合函数>having。

 

 

-- 排序查询

-- 升序--asc 降序--desc

-- 根据年龄对员工进行升序排序,若年龄相同,以出生日期哦进行降序排序。

select * from employees order by age , entrydate desc;-- asc 升序为默认排序方式,因此可以不写

 

 

 

-- 分页查询

-- 将数据按页输出每次输出两条,从第0页开始

select* from employees limit 0,2;-- 第一页-- 第一页可以省略索引

select* from employees limit 2,2;-- 第二页

select* from employees limit 4,2;-- 第三页

select* from employees limit 6,2;-- 第四页

-- select* from employees limit (n-1)*2,2 -- 第n页

-- ......

 

 

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值