MySQL-DQL-基本查询

数据库操作DQL语句

  • DQL

    • DQL英文全称Data Query Language(数据查询语言),用来查询数据库表中的记录
    • 关键词:SELECT
    • 语法
      • 基本查询
      • 条件查询(where
      • 分组查询(group by
      • 排序查询(order by
      • 分页查询(limit
    • DQL-基本查询

      • 查询多个字段:select 字段1,字段2,字段3 from 表名;

        • 具体代码及结果
        • -- 1.在查询指定字段 name entryDate 并返回
          select name, entrydate
          from tb_emp;
        • MySQL-DQL-基本查询_第1张图片

      • 查询所有字段(通配符*):select *from 表名

        • 具体代码及结果
        • -- 2.查询返回所有字段
          # select *
          # from tb_emp; -- 在具体项目中不推荐使用(不直观且性能低)
          select id,
                 username,
                 password,
                 name,
                 gender,
                 image,
                 job,
                 entrydate,
                 create_time,
                 update_time
          from tb_emp;
        • MySQL-DQL-基本查询_第2张图片

      • 设置别名:select 字段1 [as 别名1],字段2 [as 别名2] from 表名;

        • 具体代码及结果
        • -- 3.查询所有员工的 name entrydate,并起别名(姓名、入职日期)
          # select name as '姓名', entrydate as '入职日期'
          # from tb_emp;
          
          select name '姓名', entrydate '入职日期'
          from tb_emp;
        • MySQL-DQL-基本查询_第3张图片

      • 去除重复记录:select distinct 字段列表 from 表名

        • 具体代码及结果
        • -- 4.查询已有员工关联了哪几种缘分(不要重复)
          select distinct job
          from tb_emp;
        • MySQL-DQL-基本查询_第4张图片

    • DQL条件查询

      • 条件查询:select 字段列表 from 表名 where 条件列表
      • 比较运算符

        • 等于运算符(=)
          • 具体代码
          • -- 1.查询姓名为‘杨逍’的员工
            select id,
                   username,
                   password,
                   name,
                   gender,
                   image,
                   job,
                   entrydate,
                   create_time,
                   update_time
            from tb_emp
            where name = '杨逍';
        • 不等于运算符(<>或!=)
          • 具体代码如下
          • -- 5.查询密码不等于‘123456’的员工信息
            select id,
                   username,
                   password,
                   name,
                   gender,
                   image,
                   job,
                   entrydate,
                   create_time,
                   update_time
            from tb_emp
            where password != '123456';
        • 大于运算符(>)
        • 小于运算符(<)
        • 大于等于运算符(>=)
        • 小于等于运算符(<=)
          • 具体代码如下
          • -- 2.查询id小于等于5的员工信息
            select id,
                   username,
                   password,
                   name,
                   gender,
                   image,
                   job,
                   entrydate,
                   create_time,
                   update_time
            from tb_emp
            where id <= 5;
        • BETWEEN.....AND....运算符(包含最值)
          • 具体代码如下
          • -- 6.查询入职日期在‘2000-0-01’(包含)到‘2010-01-01’(包含)之间的员工信息
            select id,
                   username,
                   password,
                   name,
                   gender,
                   image,
                   job,
                   entrydate,
                   create_time,
                   update_time
            from tb_emp
            where entrydate between '2000-01-01' and '2010-01-01';
        • IN运算符
          • 具体代码如下
          • -- 8.查询职位是2(讲师),3(学工主管),4(教研主管)的员工信息
            select id,
                   username,
                   password,
                   name,
                   gender,
                   image,
                   job,
                   entrydate,
                   create_time,
                   update_time
            from tb_emp
            where job in (2, 3, 4);
        • LIKE运算符(占位符)模糊匹配使用like(_匹配单个字符,%匹配让一个字符)
          • 具体代码如下
          • -- 9.查询姓名为两个字的员工信息
            select id,
                   username,
                   password,
                   name,
                   gender,
                   image,
                   job,
                   entrydate,
                   create_time,
                   update_time
            from tb_emp
            where name like '__';
        • IS NULL运算符(没有=null
          • 具体代码如下
          • -- 3.查询没有分配职位的员工信息
            select id,
                   username,
                   password,
                   name,
                   gender,
                   image,
                   job,
                   entrydate,
                   create_time,
                   update_time
            from tb_emp
            where job is null;
          • -- 10.查询性‘张’的员工信息
            select id,
                   username,
                   password,
                   name,
                   gender,
                   image,
                   job,
                   entrydate,
                   create_time,
                   update_time
            from tb_emp
            where name like '张%';

        • IS NOT NULL运算符(也没有!=null
          • 具体代码如下
          • -- 4.查询有职位的员工信息
            select id,
                   username,
                   password,
                   name,
                   gender,
                   image,
                   job,
                   entrydate,
                   create_time,
                   update_time
            from tb_emp
            where job is not null;
      • 逻辑运算符

        • AND/&&运算符:用于同时满足多个条件。
          • 具体代码如下
          • -- 7.查询入职日期在‘2000-0-01’(包含)到‘2010-01-01’(包含)之间且性别为女的员工信息
            select id,
                   username,
                   password,
                   name,
                   gender,
                   image,
                   job,
                   entrydate,
                   create_time,
                   update_time
            from tb_emp
            where entrydate between '2000-01-01' and '2010-01-01'
              and gender = 2;
            
        • OR/||运算符:用于满足任意一个条件。
          • 具体代码如下
          • -- 8.查询职位是2(讲师),3(学工主管),4(教研主管)的员工信息
            select id,
                   username,
                   password,
                   name,
                   gender,
                   image,
                   job,
                   entrydate,
                   create_time,
                   update_time
            from tb_emp
            where job = 2
               or 3
               or 4;
        • NOT/!运算符:用于取反一个条件。

你可能感兴趣的:(Java,Web学习跟踪笔记,mysql,sql,数据库)