<rp id="rpnok"></rp>

      教育行業A股IPO第一股(股票代碼 003032)

      全國咨詢/投訴熱線:400-618-4000

      MySQL數據庫基本操作—— DQL查詢

      更新時間:2023年03月03日14時58分 來源:傳智教育 瀏覽次數:

      DQL英文全稱是Data Query Language(數據查詢語言),數據查詢語言,用來查詢數據庫中表的記錄。查詢關鍵字: SELECT 在一個正常的業務系統中,查詢操作的頻次是要遠高于增刪改的,當我們去訪問企業官網、電商網站,在這些網站中我們所看到的數據,實際都是需要從數據庫中查詢并展示的。而且在查詢的過程中,可能還會涉及到條件、排序、分頁等操作。

      1665124637197_32.png
      那么,本小節我們主要學習的就是如何進行數據的查詢操作。 我們先來準備一些數據:
      drop table if exists employee;
      create table emp(
      id int comment '編號',
      workno varchar(10) comment '工號',
      name varchar(10) comment '姓名',
      gender char(1) comment '性別',
      age tinyint unsigned comment '年齡',
      idcard char(18) comment '身份證號',
      workaddress varchar(50) comment '工作地址',
      entrydate date comment '入職時間'
      )comment '員工表';
      INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
      VALUES (1, '00001', '柳巖666', '女', 20, '123456789012345678', '北京', '2000-01-
      01');
      INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
      VALUES (2, '00002', '張無忌', '男', 18, '123456789012345670', '北京', '2005-09-
      01');
      INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
      VALUES (3, '00003', '韋一笑', '男', 38, '123456789712345670', '上海', '2005-08-
      01');
      INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
      VALUES (4, '00004', '趙敏', '女', 18, '123456757123845670', '北京', '2009-12-01');
      INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
      VALUES (5, '00005', '小昭', '女', 16, '123456769012345678', '上海', '2007-07-01');
      INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
      VALUES (6, '00006', '楊逍', '男', 28, '12345678931234567X', '北京', '2006-01-01');
      INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
      VALUES (7, '00007', '范瑤', '男', 40, '123456789212345670', '北京', '2005-05-01');
      INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
      VALUES (8, '00008', '黛綺絲', '女', 38, '123456157123645670', '天津', '2015-05-
      01');
      INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
      VALUES (9, '00009', '范涼涼', '女', 45, '123156789012345678', '北京', '2010-04-
      01');
      INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
      VALUES (10, '00010', '陳友諒', '男', 53, '123456789012345670', '上海', '2011-01-
      01');
      INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
      VALUES (11, '00011', '張士誠', '男', 55, '123567897123465670', '江蘇', '2015-05-
      01');
      INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
      VALUES (12, '00012', '常遇春', '男', 32, '123446757152345670', '北京', '2004-02-
      01');
      INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
      VALUES (13, '00013', '張三豐', '男', 88, '123656789012345678', '江蘇', '2020-11-
      01');
      INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
      VALUES (14, '00014', '滅絕', '女', 65, '123456719012345670', '西安', '2019-05-
      01');
      INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
      VALUES (15, '00015', '胡青牛', '男', 70, '12345674971234567X', '西安', '2018-04-
      01');
      INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
      VALUES (16, '00016', '周芷若', '女', 18, null, '北京', '2012-06-01');
      準備完畢后,我們就可以看到emp表中準備的16條數據。接下來,我們來學習DQL查詢操作的語法。

      DQL 查詢語句,語法結構如下:

      SELECT
          字段列表
      FROM
          表名列表
      WHERE
          條件列表
      GROUP BY
          分組字段列表
      HAVING
          分組后條件列表
      ORDER BY
          排序字段列表
      LIMIT
          分頁參數

      這部分內容,我們可以將將上面的完整語法進行拆分,分為以下幾個部分:

      基本查詢(不帶任何條件)

      條件查詢(WHERE)

      聚合函數(count、max、min、avg、sum)

      分組查詢(group by)

      排序查詢(order by)

      分頁查詢(limit)

      1.基礎查詢

      在基礎查詢的DQL語句中,不帶任何的查詢條件,查詢的語法如下:

      1). 查詢多個字段

      SELECT 字段1, 字段2, 字段3 ... FROM 表名 ;
      SELECT * FROM 表名 ;

      注意 : * 號代表查詢所有字段,在實際開發中盡量少用(不直觀、影響效率)。

      2). 為字段設置別名

      SELECT 字段1 [ AS 別名1 ] , 字段2 [ AS 別名2 ] ... FROM 表名;
      SELECT 字段1 [ 別名1 ] , 字段2 [ 別名2 ] ... FROM 表名;

      3). 去除重復記錄

      SELECT DISTINCT 字段列表 FROM 表名;

      案例:

      A. 查詢之前準備的字段中的指定字段 name, workno, age并返回,示例代碼如下:

      select name,workno,age from emp;

      B. 查詢返回所有字段

       select id ,workno,name,gender,age,idcard,workaddress,entrydate from emp;
       select * from emp;

      C. 查詢所有員工的工作地址,起別名

       select workaddress as '工作地址' from emp;
       -- as可以省略
       select workaddress '工作地址' from emp;

      D. 查詢公司員工的上班地址有哪些(不要重復)

       select distinct workaddress '工作地址' from emp;

      2.條件查詢

      1). 語法

      條件查詢的語法格式如下:

       SELECT 字段列表 FROM 表名 WHERE 條件列表 ;

      2). 條件常用的比較運算符如下:

      1665126846784_27.png

      常用的邏輯運算符如下:

      邏輯運算符

      案例: A. 查詢年齡等于 88 的員工
       select * from emp where age = 88;
      B. 查詢年齡小于 20 的員工信息
       select * from emp where age < 20;
      C. 查詢年齡小于等于 20 的員工信息
       select * from emp where age <= 20;
      D. 查詢沒有身份證號的員工信息
       select * from emp where idcard is null;
      E. 查詢有身份證號的員工信息
       select * from emp where idcard is not null;
      F. 查詢年齡不等于 88 的員工信息
       select * from emp where age != 88;
       select * from emp where age <> 88;
      G. 查詢年齡在15歲(包含) 到 20歲(包含)之間的員工信息
       select * from emp where age >= 15 && age <= 20;
       select * from emp where age >= 15 and age <= 20;
       select * from emp where age between 15 and 20;
      H. 查詢性別為 女 且年齡小于 25歲的員工信息
       select * from emp where gender = '女' and age < 25;
      I. 查詢年齡等于18 或 20 或 40 的員工信息
       select * from emp where age = 18 or age = 20 or age =40;
       select * from emp where age in(18,20,40);
      J. 查詢姓名為兩個字的員工信息 _ %
       select * from emp where name like '__';
      K. 查詢身份證號最后一位是X的員工信息
       select * from emp where idcard like '%X';
       select * from emp where idcard like '_________________X';





      0 分享到:
      和我們在線交談!
      精品亚洲成A人在线观看青青,国产亚洲精品综合在线,亚洲 欧美 国产 日韩 字幕,日本在线高清不卡免V

      <rp id="rpnok"></rp>