MySQL基础之DQL查询命令

1、查询语句:

select * from 表名 as 表别名;
select 表别名.列名,列名, ... from 表名 as表别名;
select  表别.列名 as列别名,列名 ... as 列别名 from 表名 as表别名;

2、distinct关键字

select distinct 字段名from表名; 
--相同学号只取一次,distinct只能在select后面,不能在字段后面

3、select排序

select distinct 字段 from表名 order by 某个字段;--默认升序排列
select distinct 字段 from表名 order by 某个字段 desc;--降序排列

4、select 的函数语句

select rand();--求随机数
select sqrt(2);--求2的开方
select 表名*字段名,@a:=@a+1 from 字段,(select @a:=0)a;
--嵌套语句进行增加行键,a是这个(select @a:=0)临时表的表别名

5、where语句

select *from 表名 where 字段 between 下限 and 上限 not in (1,值2);--筛选值

6、查找某个表中不在区间的记录

select *from 表名 where not(区间);

7、判断某个表的字段是否为空

select *from  表名 where 字段  is not null;

8、查找某个字段为值的所有记录

select * from 表名 where 字段 in(1,值2...);

9、模糊查询like:主要用于查询字符串类型的字段

select *from 表名 where 字段 like'_%';--_匹配一个字符, %表示【匹配任意字符

10、联合查询join:用于多表查询

select 字段名1  别名1,字段名2  别名2 from 表名1,表别名1 join 表名2 表别名2 on 表别名1.字段=表别名2.字段 where 判断条件;

11、自连接:易产生笛卡尔交集,会导致数据计算量激增导致性能急剧下降

select 字段名 from 表名 表别名1 where 条件;
select 字段名 from 表名 表别名2 where 条件;
select 表别名1.字段,表别名2.字段 from 表名 表别名1 join 表名 表别名2 on 条件;
--优化条件,先从表1筛选出字段,拿出字段再与表2进行筛选
select 表别名1.字段,表别名2.字段 from 表名 表别名1 join 表名 表别名2 where 条件;
--会产生笛卡尔交集,会导致数据量激增

12、 左连接:以左表为主

select 字段名1  别名1,字段名2  别名2 from 表名1,表别名1 left join 表名2 表别名2 on 表别名1.字段=表别名2.字段 where 判断条件;

13、右连接:以右表为主

select 字段名1  别名1,字段名2  别名2 from 表名1,表别名1 right join 表名2 表别名2 on 表别名1.字段=表别名2.字段 where 判断条件;

14、限制展示多少条,默认下标为0

SQL语句 limit 起始坐标,显示条数;
SQL语句 limit 显示条数 offset 起始坐标;

15、子查询(遇事不决就用子查询)

select 待查字段 from1 where 字段 in(select 与字段关联数据 from2 where 条件);

16、MySQL统计函数(聚合函数)

--count()函数,其中*号代表所有字段,某个字段就是按照列,1就是自己添加一个字段按列统计
select count(*、某个字段、1) fromwhere 条件;
--sum()函数用于统计,字段类型必须为数值类型
select sum(字段名) fromwhere 条件;
--avg()函数求平均数,字段类型必须是数值类型
select avg(字段名) fromwhere 条件;

17、group by分组按照某一个字段值进行分组

select 待查内容 fromgroup by 字段名 where 条件;

18、having关键字和where关键字一样,都是用于筛选判断,where在分组之前进行筛选,having是分组后进行筛选

select 待查内容 fromgroup by 字段名 having 条件;

19、复制新表:create table

create table 新表 as select* from 旧表;
create table 新表 as select* from 旧表 where 1=0;--只复制表结构

20、复制表,新表结构必须和旧表结构一样

insert into 新表 select * from 旧表;
insert into 新表 select  字段1,字段2 from 旧表;

21、case-when语句

--筛选变量(字段内属性),当变量等于值时,新增字段的属性值为值1,其他的全为值2
case 变量 whenthen1 else2  end as '新增字段';
--筛选变量(字段内属性),当变量属性值满足表达式时,新增字段的属性值为值1,其他的全为值2
case 变量 when 表达式 then1 else2 end as '新增字段';
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绝域时空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值