关键词搜索

源码搜索 ×
×

MySQL基础之DQL查询命令

发布2021-12-02浏览476次

详情内容

1、查询语句:

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

    2、distinct关键字

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

    3、select排序

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

    4、select 的函数语句

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

    5、where语句

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

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

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

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

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

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

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

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

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

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

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

    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 条件;
    --会产生笛卡尔交集,会导致数据量激增
    
      4
    • 5
    • 6

    12、 左连接:以左表为主

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

    13、右连接:以右表为主

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

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

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

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

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

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

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

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

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

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

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

    19、复制新表:create table

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

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

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

    21、case-when语句

    --筛选变量(字段内属性),当变量等于值时,新增字段的属性值为值1,其他的全为值2
    case 变量 whenthen1 else2  end as '新增字段';
    --筛选变量(字段内属性),当变量属性值满足表达式时,新增字段的属性值为值1,其他的全为值2
    case 变量 when 表达式 then1 else2 end as '新增字段';
    
      4

    相关技术文章

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载