最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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ù)常量值 進(jìn)行統(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é)果 進(jìn)行過濾 、篩選, having 是 基于 group by 存在 的。

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

where 和 having 的區(qū)別

  1. where 是 對 表中的 數(shù)據(jù) 進(jìn)行篩選 , having 是 對 分組后的 結(jié)果 進(jìn)行 篩選 。
  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ù) 第一個排序的字段 進(jìn)行排序,當(dāng) 第一個字段 的值 相同的時候,才會根據(jù)第二個字段的值進(jìn)行排序、依此類推。

分頁查詢 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ìn)行排序 、如果 根據(jù) 的字段值有大量的重復(fù)、建議 使用 多個字段排序 , 否則 會出現(xiàn) 分頁數(shù)據(jù)紊亂 。

總結(jié)

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

相關(guān)文章

  • 一步步帶你學(xué)習(xí)設(shè)計MySQL索引數(shù)據(jù)結(jié)構(gòu)

    一步步帶你學(xué)習(xí)設(shè)計MySQL索引數(shù)據(jù)結(jié)構(gòu)

    索引是存儲索引用于快速找到數(shù)據(jù)記錄的一種數(shù)據(jù)結(jié)構(gòu),就好比一本書的目錄部分,通過目錄中對應(yīng)的文章的頁碼,便可以快速定位到需要的文章,下面這篇文章主要給大家介紹了關(guān)于MySQL索引數(shù)據(jù)結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • MySQL執(zhí)行過程中選擇最佳的執(zhí)行路徑的方法(核心流程)

    MySQL執(zhí)行過程中選擇最佳的執(zhí)行路徑的方法(核心流程)

    文章介紹MySQL查詢優(yōu)化器如何通過解析、生成執(zhí)行計劃及成本評估選擇最佳路徑,依賴統(tǒng)計信息如表行數(shù)和索引基數(shù),開發(fā)者需創(chuàng)建索引、更新統(tǒng)計信息、優(yōu)化SQL寫法及使用EXPLAIN工具輔助優(yōu)化,感興趣的朋友跟隨小編一起看看吧
    2025-09-09
  • MySQL索引失效之隱式轉(zhuǎn)換的問題

    MySQL索引失效之隱式轉(zhuǎn)換的問題

    本文主要介紹了MySQL索引失效之隱式轉(zhuǎn)換的問題,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 選擇MySQL數(shù)據(jù)庫進(jìn)行連接的簡單示例

    選擇MySQL數(shù)據(jù)庫進(jìn)行連接的簡單示例

    這篇文章主要介紹了選擇MySQL數(shù)據(jù)庫進(jìn)行連接的簡單示例,是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • MySQL建表設(shè)置默認(rèn)值/取值范圍的操作代碼

    MySQL建表設(shè)置默認(rèn)值/取值范圍的操作代碼

    這篇文章主要介紹了MySQL建表設(shè)置默認(rèn)值/取值范圍的操作代碼,文中給大家提到了MySQL創(chuàng)建表時字符串的默認(rèn)值,本文給大家講解的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • MySQL如何添加環(huán)境變量和初始化MySQL

    MySQL如何添加環(huán)境變量和初始化MySQL

    本文主要介紹了如何在Windows系統(tǒng)中添加MySQL的環(huán)境變量以及如何初始化MySQL,通過添加環(huán)境變量,可以在任意一個命令提示符中直接調(diào)用MySQL的相關(guān)程序,大大簡化了操作,初始化MySQL時,需要新建一個配置文件并指定默認(rèn)編碼集和存儲引擎,如果初始化過程中出現(xiàn)錯誤
    2024-11-11
  • MySQL數(shù)據(jù)備份、還原、數(shù)據(jù)庫遷移以及表的導(dǎo)出和導(dǎo)入

    MySQL數(shù)據(jù)備份、還原、數(shù)據(jù)庫遷移以及表的導(dǎo)出和導(dǎo)入

    作為流行的開源數(shù)據(jù)庫管理系統(tǒng),MySQL的使用者眾多,為了維護(hù)數(shù)據(jù)安全性,數(shù)據(jù)備份是必不可少的,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)備份、還原、數(shù)據(jù)庫遷移以及表的導(dǎo)出和導(dǎo)入的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • 分析Mysql事務(wù)和數(shù)據(jù)的一致性處理問題

    分析Mysql事務(wù)和數(shù)據(jù)的一致性處理問題

    本篇文章主要給大家介紹了Mysql事務(wù)和數(shù)據(jù)的一致性處理問題,跟著小編一起學(xué)習(xí)下吧。
    2017-12-12
  • 通過Query Profiler查看MySQL語句運行時間的操作方法

    通過Query Profiler查看MySQL語句運行時間的操作方法

    這篇文章主要介紹了通過Query Profiler查看MySQL語句運行時間的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Mysql中的concat函數(shù)(拼接函數(shù))詳解

    Mysql中的concat函數(shù)(拼接函數(shù))詳解

    很多時候,我們需要將不同地方獲得的字符串拼接在一起,此時就需要使用CONCAT和CONCAT_WS函數(shù),這篇文章主要介紹了Mysql中的concat函數(shù)(拼接函數(shù)),需要的朋友可以參考下
    2023-02-02

最新評論

象州县| 凤翔县| 鲜城| 大方县| 泰宁县| 漳州市| 和田市| 东明县| 石河子市| 竹山县| 乐山市| 宁河县| 夏津县| 六枝特区| 灵川县| 枝江市| 广宁县| 贞丰县| 南漳县| 扬中市| 沙河市| 大庆市| 休宁县| 丰顺县| 信阳市| 宁都县| 四平市| 承德县| 东山县| 正蓝旗| 开阳县| 横山县| 琼海市| 通海县| 康平县| 宁武县| 湘阴县| 神池县| 东安县| 玉田县| 开远市|