mysql学习05(DQL)


mysql学习05

  • DQL查询语句(最重点)

    • DQL:数据查询语言;

    • 所有的查询操作都用它, select

    • 简单的查询,复杂的查询它都能查

    • 数据库中最核心的语言,最最重要的语言

 

  • 指定查询字段:基本查询及别名使用

    --语法:
    select 字段 from 表 ;
    ?
    --查询全部学生
    select * from student;
    ?
    --查询指定字段
    SELECT `gradeId`,`gradeName` FROM grade ;
    ?
    --别名:给结果起一个名字 AS ; 可以给字段起别名,也可以给表起别名
    SELECT `gradeId` AS 年级号, `gradeName` AS 年级名称 FROM grade ;
    ?
    -- 函数:Concat(a,b) :拼接字符串
    SELECT CONCAT('我的:',`gradeName`) AS 新名字 FROM grade ;
    ?
    ?

     

  • 去重及数据库的表达式:

    --去重:distinct
    --作用:去除select查询出来的结果中重复的数据,只显示一条;
    SELECT DISTINCT `gradeName` FROM grade ;
    ?
    ?
    SELECT VERSION();-- 查询系统版本(函数)
    SELECT 100*3-1 AS result ;-- 用来计算(表达式)
    SELECT @@auto_increment_increment ;-- 查询自增的步长(变量)
    ?
    --数据库中的表达式:文本的值,列,Null,函数,计算表达式,系统变量
    ?
    select '表达式' from 表 ;

     

  • where子句之逻辑运算符:

    • 作用:检索数据中符合条件的值;

    • 搜索的条件由一个或多个表达式组成!结果都是布尔值!

    --
    ?

    逻辑运算符:

    • 推荐使用英文字母;

    运算符语法描述
    and && A and B a&&b 逻辑与:2个都为真,结果为真
    or || a or b a|| b 逻辑或:一个为真,则结果为真
    not ! not a !a 逻辑非:取反,真为假

 

  • 模糊查询:

    • 比较运算符;

    • like语法中:%表示通配符;_表示一个字符;

    • in是精确匹配;具体的一个或者多个值;

     

    运算符语法描述
    IS NULL a is null 如果操作符为null,则结果为真
    IS NOT NULL a is not null 如果操作符不为 null,则结果为真
    BETWEEN a between b and c 若a在b和c之间,则结果为真
    LIKE a like b SQL匹配,如果a匹配b,则结果为真
    IN a in (a1,a2,a3) 假设a在a1,或者a2....其中的某一个值中,则结果为真

 

  • 联表查询,JoinOn详解:

    • join对比

    •