MySQL DQL語(yǔ)句的具體使用
DQL
DQL英文全稱是Data Query Language(數(shù)據(jù)查詢語(yǔ)言),數(shù)據(jù)查詢語(yǔ)言,用來(lái)查詢數(shù)據(jù)庫(kù)中表的記錄。
基本語(yǔ)法
DQL 查詢語(yǔ)句,語(yǔ)法結(jié)構(gòu)如下:
SELECT
字段列表
FROM
表名列表
WHERE
條件列表
GROUP BY
分組字段列表
HAVING
分組后條件列表
ORDER BY
排序字段列表
LIMIT
分頁(yè)參數(shù)
基礎(chǔ)查詢
1、查詢多個(gè)字段
SELECT 字段1, 字段2, 字段3 ... FROM 表名 ; SELECT * FROM 表名 ;
注意 : * 號(hào)代表查詢所有字段,在實(shí)際開(kāi)發(fā)中盡量少用(不直觀、影響效率)。
2、字段設(shè)置別名
SELECT 字段1 [ AS 別名1 ] , 字段2 [ AS 別名2 ] ... FROM 表名; SELECT 字段1 [ 別名1 ] , 字段2 [ 別名2 ] ... FROM 表名;
3、去除重復(fù)記錄
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;
C. 查詢所有員工的工作地址,起別名
select workaddress as '工作地址' from emp; -- as可以省略 select workaddress '工作地址' from emp;
D. 查詢公司員工的上班地址有哪些(不要重復(fù))
select distinct workaddress '工作地址' from emp;
條件查詢
語(yǔ)法
SELECT 字段列表 FROM 表名 WHERE 條件列表 ;
條件
常用的比較運(yùn)算符如下:
比較運(yùn)算符 | 功能 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
= | 等于 |
<> 或 != | 不等于 |
BETWEEN ... AND ... | 在某個(gè)范圍之內(nèi)(含最小、最大值) |
IN(...) | 在in之后的列表中的值,多選一 |
LIKE 占位符 | 模糊匹配(_匹配單個(gè)字符, %匹配任意個(gè)字符) |
IS NULL | 是NULL |
常用的邏輯運(yùn)算符如下:
邏輯運(yùn)算符 | 功能 |
AND 或 && | 并且 (多個(gè)條件同時(shí)成立) |
OR 或 || | 或者 (多個(gè)條件任意一個(gè)成立) |
NOT 或 ! | 非 , 不是 |
案例
A. 查詢年齡等于 22 的員工
select * from emp where age = 22;
B.查詢沒(méi)有身份證號(hào)的員工信息
select * from emp where idcard is null;
c.查詢年齡在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;
D.查詢年齡等于18 或 20 或 40 的員工信息
select * from emp where age = 18 or age = 20 or age =40; select * from emp where age in(18,20,40);
E.查詢姓名為兩個(gè)字的員工信息 _ %
select * from emp where name like '__';
F. 查詢身份證號(hào)最后一位是X的員工信息
select * from emp where idcard like '%X'; select * from emp where idcard like '_________________X';
聚合函數(shù)
常見(jiàn)的聚合函數(shù)
函數(shù) | 功能 |
count | 統(tǒng)計(jì)數(shù)量 |
max | 最大值 |
min | 最小值 |
avg | 平均值 |
sum | 求和 |
語(yǔ)法
SELECT 聚合函數(shù)(字段列表) FROM 表名 ;
案例
A. 統(tǒng)計(jì)該企業(yè)員工數(shù)量
select count(*) from emp; -- 統(tǒng)計(jì)的是總記錄數(shù) select count(idcard) from emp; -- 統(tǒng)計(jì)的是idcard字段不為null的記錄數(shù)
B. 統(tǒng)計(jì)該企業(yè)員工的平均年齡
select avg(age) from emp;
C. 統(tǒng)計(jì)該企業(yè)員工的最大年齡
select max(age) from emp;
D. 統(tǒng)計(jì)該企業(yè)員工的最小年齡
select min(age) from emp;
E. 統(tǒng)計(jì)西安地區(qū)員工的年齡之和
select sum(age) from emp where workaddress = '西安';
到此這篇關(guān)于MySQL DQL語(yǔ)句的具體使用的文章就介紹到這了,更多相關(guān)MySQL DQL語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL性能優(yōu)化之路---修改配置文件my.cnf
mysql數(shù)據(jù)庫(kù)的優(yōu)化,算是一個(gè)老生常談的問(wèn)題了,網(wǎng)上也有很多關(guān)于各方面性能優(yōu)化的例子,今天我們要談的是MySQL 系統(tǒng)參數(shù)的優(yōu)化即優(yōu)化my.cnf文件2014-06-06
MySQL優(yōu)化之表結(jié)構(gòu)優(yōu)化的5大建議(數(shù)據(jù)類型選擇講的很好)
很多人都將 數(shù)據(jù)庫(kù)設(shè)計(jì)范式 作為數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)“圣經(jīng)”,認(rèn)為只要按照這個(gè)范式需求設(shè)計(jì),就能讓設(shè)計(jì)出來(lái)的表結(jié)構(gòu)足夠優(yōu)化,既能保證性能優(yōu)異同時(shí)還能滿足擴(kuò)展性要求2014-03-03
結(jié)合PHP腳本添加和查詢MySQL數(shù)據(jù)的基本教程
這篇文章主要介紹了結(jié)合PHP腳本添加和查詢MySQL數(shù)據(jù)的基本教程,即在PHP程序中使用基本的SELECT FROM和INSERT INTO語(yǔ)句,需要的朋友可以參考下2015-12-12
一文教你快速生成MySQL數(shù)據(jù)庫(kù)關(guān)系圖
我們經(jīng)常會(huì)用到一些表的數(shù)據(jù)庫(kù)關(guān)系圖,下面這篇文章主要給大家介紹了關(guān)于生成MySQL數(shù)據(jù)庫(kù)關(guān)系圖的相關(guān)資料,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
mysql中You can’t specify target table for update in FROM clau
這篇文章主要介紹了mysql中You can’t specify target table for update in FROM clause錯(cuò)誤解決方法,需要的朋友可以參考下2015-02-02
MySQL?insert死鎖問(wèn)題解決詳細(xì)記錄
上周遇到一個(gè)因insert而引發(fā)的死鎖問(wèn)題,其成因比較令人費(fèi)解,下面這篇文章主要給大家介紹了關(guān)于MySQL?insert死鎖問(wèn)題解決詳細(xì)記錄的相關(guān)資料,需要的朋友可以參考下2022-11-11

