亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MYSQL中的簡單查詢

 更新時間:2025年02月06日 11:04:48   作者:jay丿  
這篇文章詳細(xì)介紹了MySQL中常見的查詢語法,包括SELECT語句的簡單查詢、基于表的查詢、基于條件的查詢、基于分組的查詢等,它還解釋了COUNT()、SUM()、AVG()、MAX()和MIN()等聚合函數(shù)的使用,以及GROUP BY和HAVING子句在分組查詢中的應(yīng)用

MYSQL簡單查詢

完整語法:

select [distinct] , … [from [where ] [group by , … [having ] ] [order by asc| desc ] [limit [offset , ] rows ] ]

select 簡單查詢

select  1 ;  -- 往往用來 做 數(shù)據(jù)庫心跳檢測
select user() ;  -- 獲取 當(dāng)前登錄的用戶信息
select version() ;  -- 獲取數(shù)據(jù)庫的版本號
select now() ;  -- 獲取 當(dāng)前系統(tǒng)時間 
select last_insert_id() ;  -- 獲取 最后插入的主鍵(必須是自增)

基于 表查詢

select  <columnName> , ....  from  <tableName> ; 
select * from <tableName>  ;  -- 查詢 表中所有的字段 , 在生產(chǎn)環(huán)境中 不推薦使用 * 查詢所有字段 

基于條件的查詢

select  <columnName> , ... from <tableName>  where <condition> ;
select * from tb_user where name = 'admin'  ;  --  查詢的時候 name的值 不區(qū)分大小寫 
select * from tb_user where binary name = 'admin' ;  -- 查詢的 name 值 區(qū)分大小寫 

基于分組的查詢

  • count() : 用來 統(tǒng)計 個數(shù)
--  查詢 學(xué)生表中 有多少個 學(xué)生 

select count(*)  from  student ;  -- 以行為單位 ,統(tǒng)計有多少個學(xué)生
select count(stuNo) from student ; -- 根據(jù)學(xué)號 來統(tǒng)計 有多少個學(xué)生
select count(1) from student ;  -- 根據(jù)常量值 進行統(tǒng)計、如果有值,個數(shù) + 1 

從性能上 、 count(1 ) > count( * ), count(column) 只統(tǒng)計該列中 值不為 null 的 行數(shù)(null不參與統(tǒng)計) 。

如果 count(column) 中的 column 中的列 有索引,那么性能 會 比 count(1) 高 、 如果沒有索引,性能 比 count(*) 還低

  • sum() : 求和
-- 查詢學(xué)生的總成績 
select sum(score) from student ;  -- sum 函數(shù) 參數(shù) 只能傳入 字段名,  字段列中對應(yīng)的 null 不參與 求和
  • avg() : 求平均值
-- 查詢學(xué)生 的平均成績 
select avg(score) from student ;  -- sum 函數(shù) 參數(shù) 只能傳入 字段名,  字段列中對應(yīng)的 null 不參與 求平均值
select  avg ( ifnull(score,  0) ) from student ;  -- 字段列對應(yīng)的 null, 則 取 0 , 仍舊參與 求 平均值 
  • max() : 求最大值
-- 查詢 最高分 
select  max(score) from student ; 
  • min() : 求最小值
-- 查詢 最低分 
select min(score) from student ;  -- 空值不參與 求 最小值 

group by 實現(xiàn) 分組查詢

-- 查詢 不同 性別的 學(xué)生人數(shù) 
select  sex,  count(1) from student group by sex ;

group by 分組 對查詢的 列 有 要求 , 要么 查詢的 列 是一個 聚合 列 、要么 出現(xiàn) 在 group by 的 后面,作為分組依據(jù)。

having 分組 篩選

對分組后的結(jié)果 進行過濾 、篩選, having 是 基于 group by 存在 的。

 -- 查詢 班級中 同名 、同性別 的 學(xué)生名 和 性別
 select name, gender from student group by name ,gender having count(1) > 1 ;

where 和 having 的區(qū)別

  1. where 是 對 表中的 數(shù)據(jù) 進行篩選 , having 是 對 分組后的 結(jié)果 進行 篩選 。
  2. where 和 having 如果 同時 存在 ,那么 where 先篩選 再分組 再過濾
  3. where 條件 中 不能使用 聚合函數(shù) 、但 having 可以使用 聚合函數(shù)
  4. 能用 where 篩選過濾的數(shù)據(jù) 、盡量不要用 having 篩選

數(shù)據(jù)排序 order by

-- 查詢 所有的學(xué)生信息 、按照 成績降序排列,當(dāng)成績相同的時候 ,按照 出生日期 降序排列 
select * from student order by score desc , birth desc  ;

當(dāng) 有多個字段 參與排序的時候, 優(yōu)先根據(jù) 第一個排序的字段 進行排序,當(dāng) 第一個字段 的值 相同的時候,才會根據(jù)第二個字段的值進行排序、依此類推。

分頁查詢 limit

select * from student  limit 3 ;  -- 查詢表中 前 3 條數(shù)據(jù) 
select * from  student  limit  10 ,  3  ;  -- 查詢表中 從 第 11條數(shù)據(jù)開始 3 條數(shù)據(jù) 
select * from  student limit 10 offset 3 ;  

分頁查詢的時候, 如果 包含 order by , 那么 建議根據(jù) 唯一鍵 進行排序 、如果 根據(jù) 的字段值有大量的重復(fù)、建議 使用 多個字段排序 , 否則 會出現(xiàn) 分頁數(shù)據(jù)紊亂 。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mysql中一千萬條數(shù)據(jù)怎么快速查詢

    Mysql中一千萬條數(shù)據(jù)怎么快速查詢

    很多人在使用Mysql時沒有考慮到優(yōu)化問題,如果遇到上千萬數(shù)據(jù)量的表,查詢上千萬數(shù)據(jù)量的時候會發(fā)生什么問題,本文就來介紹一下如何快速查詢一千萬條數(shù)據(jù),感興趣的可以了解一下
    2021-12-12
  • MySQL窗口函數(shù)OVER()用法及說明

    MySQL窗口函數(shù)OVER()用法及說明

    這篇文章主要介紹了MySQL窗口函數(shù)OVER()用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 一文了解MySQL的四大子查詢

    一文了解MySQL的四大子查詢

    本文主要介紹了一文了解MySQL的四大子查詢,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Mac下忘記Mysql的root用戶密碼的解決方法

    Mac下忘記Mysql的root用戶密碼的解決方法

    mac中安裝MySQL時系統(tǒng)會自動為root 賬戶生成一個密碼(改密碼一般為一個不好記的字符串),若自己沒有記住改密碼,這時 mysql 就無法進入了。解決方案是修改root 賬戶的密碼,問題是mysql進不去如何修改,下面就是改問題的解決方法:
    2017-03-03
  • MySQL復(fù)合查詢(多表查詢、子查詢)的實現(xiàn)

    MySQL復(fù)合查詢(多表查詢、子查詢)的實現(xiàn)

    MySQL復(fù)合查詢是指在一個SQL語句中使用多個查詢條件,以過濾和檢索數(shù)據(jù),本文主要介紹了MySQL復(fù)合查詢(多表查詢、子查詢)的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • 正確使用MySQL INSERT INTO語句

    正確使用MySQL INSERT INTO語句

    MySQL數(shù)據(jù)庫是一種小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),MySQL數(shù)據(jù)庫的優(yōu)化是MySQL數(shù)據(jù)庫操作過程中非常重要的工作,MySQL數(shù)據(jù)庫的優(yōu)化能夠?qū)崿F(xiàn)MySQL數(shù)據(jù)庫操作的簡便。
    2015-08-08
  • MySQL文本文件導(dǎo)入及批處理模式應(yīng)用說明

    MySQL文本文件導(dǎo)入及批處理模式應(yīng)用說明

    MySQL文本文件導(dǎo)入及批處理模式應(yīng)用說明,需要的朋友可以參考下。
    2011-09-09
  • MySQL的driverClassName與url使用方式

    MySQL的driverClassName與url使用方式

    這篇文章主要介紹了MySQL的driverClassName與url使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • mysql日常使用中常見報錯大全

    mysql日常使用中常見報錯大全

    MySQL初學(xué)者新安裝好數(shù)據(jù)庫及使用過程中經(jīng)常遇到以下幾類錯誤,本文給大家詳細(xì)整理并給出完美解決方案,感興趣的朋友跟隨小編一起看看吧
    2023-03-03
  • mysql的查詢緩存說明

    mysql的查詢緩存說明

    mysql的Query Cache有其特殊的業(yè)務(wù)場景,也不像其他數(shù)據(jù)庫產(chǎn)品,緩存查詢語句的執(zhí)行計劃等信息,而是直接緩存查詢語句的記錄集和對應(yīng)的SQL語句
    2013-02-02

最新評論