国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL數(shù)據(jù)庫基礎(chǔ)3-基礎(chǔ)查詢

這篇具有很好參考價(jià)值的文章主要介紹了MySQL數(shù)據(jù)庫基礎(chǔ)3-基礎(chǔ)查詢。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

基礎(chǔ)查詢(單表)

創(chuàng)建表、單行插入、多行插入就不重復(fù)介紹了。

替換

當(dāng)我們的程序每天都會(huì)產(chǎn)生大量的數(shù)據(jù),而這些數(shù)據(jù)都是前一天或者再之前的數(shù)據(jù)更新產(chǎn)生,我們也只需要保存其中一條,此時(shí)就考慮用新的數(shù)據(jù)替換老的數(shù)據(jù)。

語法:
replace into tablename values();

如果主鍵或者唯一鍵不沖突,則直接插入數(shù)據(jù)
如果主鍵或唯一鍵沖入,則刪除主鍵或唯一鍵重復(fù)的行再插入

查詢

  • 全表全列查詢:select * from [表名]
  • 全表指定列查詢:select [列名] [列名] … from [表名]
  • 查詢字段為表達(dá)式,此時(shí)要注意區(qū)分表達(dá)式的內(nèi)容是否包含字段
  • 為查詢結(jié)果指定別名

SELECT column [AS] alias_name […] FROM table_name;

  • 結(jié)果去重

SELECT DISTINCT [列名] FROM table_name;

  • WHERE,條件查詢,指定查詢行的內(nèi)容。在where后加上條件

比較運(yùn)算符:

運(yùn)算符 說明
= 等于,NULL 不安全,例如 NULL = NULL 的結(jié)果是 NULL
<=> 等于,NULL 安全,例如 NULL <=> NULL 的結(jié)果是 TRUE(1)
!=, <> 不等于
BETWEEN a0 AND a1 范圍匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)
IN (option, …) 如果是 option 中的任意一個(gè),返回 TRUE(1)
LIKE 模糊匹配。% 表示任意多個(gè)(包括 0 個(gè))任意字符;_ 表示任意一個(gè)字符

邏輯運(yùn)算符:

運(yùn)算符 說明
AND 多個(gè)條件必須都為 TRUE(1),結(jié)果才是 TRUE(1)
OR 任意一個(gè)條件為 TRUE(1), 結(jié)果為 TRUE(1)
NOT 條件為 TRUE(1),結(jié)果為 FALSE(0)

結(jié)果排序

order by [字段名] :將查詢結(jié)果按照order by后的字段進(jìn)行排序

語法:
SELECT … FROM table_name [WHERE …] ORDER BY column [ASC|DESC], […];
ASC 為升序(默認(rèn)是升序)
DESC為降序

在使用 ORDER BY 進(jìn)行排序時(shí),不能依賴排序結(jié)果的具體順序,尤其是當(dāng)排序字段中存在相同的值時(shí)。

不同的數(shù)據(jù)庫管理系統(tǒng)可能采用不同的算法和策略來處理排序,因此排序結(jié)果可能會(huì)有所不同。如果需要確保特定的排序結(jié)果,可以通過在 ORDER BY 子句中指定多個(gè)排序條件,以便在有相同值的情況下進(jìn)行更精確的排序。例如,可以使用其他字段作為次要排序條件來進(jìn)一步確定排序順序。也就是按照多列進(jìn)行排序。order by 字段1,字段2,先按照字段1進(jìn)行排序,再將字段1的結(jié)果中相同字段值的部分,按照字段2進(jìn)行排序

order by中可以使用別名,與where不同,where中不允許使用別名

篩選分頁結(jié)果

篩選分頁結(jié)果是一種數(shù)據(jù)查詢和展示技術(shù),用于在大數(shù)據(jù)集中按需獲取特定頁的數(shù)據(jù)。通常情況下,數(shù)據(jù)庫中的數(shù)據(jù)量可能非常龐大,而且一次性檢索和顯示所有數(shù)據(jù)可能會(huì)導(dǎo)致性能問題和用戶體驗(yàn)下降。通過篩選分頁結(jié)果,可以按照用戶的需求和界面的設(shè)計(jì),以分頁的方式逐步加載和展示數(shù)據(jù),提供更好的用戶體驗(yàn)并減少數(shù)據(jù)庫和網(wǎng)絡(luò)資源的負(fù)載。

需要注意:篩選分頁結(jié)果的起始下標(biāo)是從0開始的。

  • 從 0 開始,篩選 n 條結(jié)果

SELECT … FROM table_name [WHERE …] [ORDER BY …] LIMIT n;

  • 從 s 開始,篩選 n 條結(jié)果

SELECT … FROM table_name [WHERE …] [ORDER BY …] LIMIT s, n;

  • 從 s 開始,篩選 n 條結(jié)果,比第二種用法更明確,建議使用

SELECT … FROM table_name [WHERE …] [ORDER BY …] LIMIT n OFFSET s;

更新表

語法:
UPDATE table_name SET column1 = value1, column2 = value2, … WHERE condition;
注意:如果沒有condition,則會(huì)將所有的行對(duì)應(yīng)的列進(jìn)行更新

在執(zhí)行UPDATE語句時(shí),請務(wù)必謹(jǐn)慎,確保更新的條件和值符合預(yù)期,以免誤操作導(dǎo)致數(shù)據(jù)不正確或不可恢復(fù)的問題。在更新表之前,最好先進(jìn)行備份或測試,以確保安全性和正確性。

刪除數(shù)據(jù)

語法:
DELETE FROM table_name WHERE condition;
如果沒有condition,那么刪除的是整張表。

如果把整張表的數(shù)據(jù)都刪除了,但是表依舊在,原先的表結(jié)構(gòu)不會(huì)改變。 AUTO_INCREMENT會(huì)在之前的基礎(chǔ)上增加。

需要注意的是,執(zhí)行DELETE語句會(huì)永久刪除數(shù)據(jù),因此在刪除數(shù)據(jù)之前,請確保確認(rèn)操作并做好備份。

截?cái)?清空)表

語法:
TRUNCATE [TABLE] table_name
截?cái)啾韺h除表中的所有行,但保留表的定義、索引、約束等信息

這個(gè)操作只能對(duì)整張表進(jìn)行操作,不能像 DELETE 一樣針對(duì)部分?jǐn)?shù)據(jù)操作; 會(huì)重置 AUTO_INCREMENT 項(xiàng)

聚合函數(shù)

函數(shù) 說明
COUNT([DISTINCT] expr) 返回查詢到的數(shù)據(jù)的 數(shù)量
SUM([DISTINCT] expr) 返回查詢到的數(shù)據(jù)的 總和,不是數(shù)字沒有意義
AVG([DISTINCT] expr) 返回查詢到的數(shù)據(jù)的 平均值,不是數(shù)字沒有意義
MAX([DISTINCT] expr) 返回查詢到的數(shù)據(jù)的 最大值,不是數(shù)字沒有意義
MIN([DISTINCT] expr) 返回查詢到的數(shù)據(jù)的 最小值,不是數(shù)字沒有意義

分組查詢

分組查詢是一種在數(shù)據(jù)庫中進(jìn)行數(shù)據(jù)分組和聚合的操作。它允許我們按照指定的列或表達(dá)式對(duì)數(shù)據(jù)進(jìn)行分組,并在每個(gè)組上執(zhí)行聚合函數(shù)來計(jì)算匯總值。

在select中使用group by 子句對(duì)指定列進(jìn)行分組查詢:

select column1, column2, … from table group by column;

我們以雇員信息表為例(來自oracle 9i的經(jīng)典測試表)

  • 如何顯示每個(gè)部門的平均工資和最高工資
select deptno,avg(sal),max(sal) from emp group by deptno;

執(zhí)行結(jié)果:

MySQL數(shù)據(jù)庫基礎(chǔ)3-基礎(chǔ)查詢

  • 顯示每個(gè)部門的每種崗位的平均工資和最低工資
select avg(sal),min(sal),job,deptno from emp group by deptno,job;

執(zhí)行結(jié)果:

MySQL數(shù)據(jù)庫基礎(chǔ)3-基礎(chǔ)查詢

  • 顯示平均工資低于2000的部門和它的平均工資,首先統(tǒng)計(jì)各個(gè)部門的平均工資,再配合having進(jìn)行過濾

統(tǒng)計(jì)各個(gè)部門的平均工資

select deptno,avg(sal) from emp group by deptno;

執(zhí)行結(jié)果:

MySQL數(shù)據(jù)庫基礎(chǔ)3-基礎(chǔ)查詢

對(duì)結(jié)果進(jìn)行過濾,得到平均工資低于2000的部門

select deptno,avg(sal) from emp group by deptno having avg(sal)<2000;

執(zhí)行結(jié)果:

MySQL數(shù)據(jù)庫基礎(chǔ)3-基礎(chǔ)查詢

分組查詢可以幫助我們對(duì)數(shù)據(jù)進(jìn)行更細(xì)粒度的統(tǒng)計(jì)和分析。我們可以根據(jù)需要對(duì)多個(gè)列進(jìn)行分組,并在每個(gè)組上執(zhí)行多個(gè)聚合函數(shù)。此外,還可以通過使用HAVING子句對(duì)分組結(jié)果進(jìn)行過濾。

分組查詢是 SQL 中常用的功能之一,可以用于處理統(tǒng)計(jì)報(bào)表、數(shù)據(jù)分析和生成匯總結(jié)果等場景。文章來源地址http://www.zghlxwxcb.cn/news/detail-451693.html

到了這里,關(guān)于MySQL數(shù)據(jù)庫基礎(chǔ)3-基礎(chǔ)查詢的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • MySQL數(shù)據(jù)庫基礎(chǔ)之MySQL查詢基礎(chǔ)

    MySQL數(shù)據(jù)庫基礎(chǔ)之MySQL查詢基礎(chǔ)

    從今天開始,本系列內(nèi)容就帶各位小伙伴學(xué)習(xí)數(shù)據(jù)庫技術(shù) 。數(shù)據(jù)庫技術(shù)是Java開發(fā)中必不可少的一部分知識(shí)內(nèi)容。也是非常重要的技術(shù)。本系列教程由淺入深, 全面講解數(shù)據(jù)庫體系。 非常適合零基礎(chǔ)的小伙伴來學(xué)習(xí)。 全文大約【 1212】 字,不說廢話,只講可以讓你學(xué)到技術(shù)、

    2024年02月06日
    瀏覽(32)
  • MySQL數(shù)據(jù)庫基礎(chǔ)3-基礎(chǔ)查詢

    MySQL數(shù)據(jù)庫基礎(chǔ)3-基礎(chǔ)查詢

    創(chuàng)建表、單行插入、多行插入就不重復(fù)介紹了。 當(dāng)我們的程序每天都會(huì)產(chǎn)生大量的數(shù)據(jù),而這些數(shù)據(jù)都是前一天或者再之前的數(shù)據(jù)更新產(chǎn)生,我們也只需要保存其中一條,此時(shí)就考慮用新的數(shù)據(jù)替換老的數(shù)據(jù)。 語法: replace into tablename values(); 如果主鍵或者唯一鍵不沖突,則

    2024年02月05日
    瀏覽(21)
  • ②【MySQL表操作】 數(shù)據(jù)庫表的創(chuàng)建、查詢、修改、刪除

    ②【MySQL表操作】 數(shù)據(jù)庫表的創(chuàng)建、查詢、修改、刪除

    個(gè)人簡介:Java領(lǐng)域新星創(chuàng)作者;阿里云技術(shù)博主、星級(jí)博主、專家博主;正在Java學(xué)習(xí)的路上摸爬滾打,記錄學(xué)習(xí)的過程~ 個(gè)人主頁:.29.的博客 學(xué)習(xí)社區(qū):進(jìn)去逛一逛~ 數(shù)據(jù)庫表中的數(shù)據(jù)類型 : 數(shù)值類型: TINYINT :小整數(shù) SMALLINT :大整數(shù) MEDIUMINT :大整數(shù),范圍大于SMALLINT

    2024年02月06日
    瀏覽(115)
  • 【JaveWeb教程】(18) MySQL數(shù)據(jù)庫開發(fā)之 MySQL數(shù)據(jù)庫設(shè)計(jì)-DDL 如何查詢、創(chuàng)建、使用、刪除數(shù)據(jù)庫數(shù)據(jù)表 詳細(xì)代碼示例講解

    【JaveWeb教程】(18) MySQL數(shù)據(jù)庫開發(fā)之 MySQL數(shù)據(jù)庫設(shè)計(jì)-DDL 如何查詢、創(chuàng)建、使用、刪除數(shù)據(jù)庫數(shù)據(jù)表 詳細(xì)代碼示例講解

    下面我們就正式的進(jìn)入到SQL語句的學(xué)習(xí),在學(xué)習(xí)之前先給大家介紹一下我們要開發(fā)一個(gè)項(xiàng)目,整個(gè)開發(fā)流程是什么樣的,以及在流程當(dāng)中哪些環(huán)節(jié)會(huì)涉及到數(shù)據(jù)庫。 2.1 項(xiàng)目開發(fā)流程 需求文檔: 在我們開發(fā)一個(gè)項(xiàng)目或者項(xiàng)目當(dāng)中的某個(gè)模塊之前,會(huì)先會(huì)拿到產(chǎn)品經(jīng)理給我們提

    2024年01月25日
    瀏覽(104)
  • 數(shù)據(jù)庫基礎(chǔ)之 - MySQL條件查詢

    數(shù)據(jù)庫基礎(chǔ)之 - MySQL條件查詢

    從今天開始,本系列內(nèi)容就帶各位小伙伴學(xué)習(xí)數(shù)據(jù)庫技術(shù)。 數(shù)據(jù)庫技術(shù)是Java開發(fā)中必不可少的一部分知識(shí)內(nèi)容。也是非常重要的技術(shù)。本系列教程由淺入深, 全面講解數(shù)據(jù)庫體系。 非常適合零基礎(chǔ)的小伙伴來學(xué)習(xí)。 全文大約【 1263】 字,不說廢話,只講可以讓你學(xué)到技術(shù)、

    2024年02月06日
    瀏覽(20)
  • MySQL數(shù)據(jù)庫基礎(chǔ)(三):多表查詢,子查詢,開窗函數(shù)

    MySQL數(shù)據(jù)庫基礎(chǔ)(三):多表查詢,子查詢,開窗函數(shù)

    表與表之間的關(guān)系 在SQL語句中,數(shù)據(jù)表與數(shù)據(jù)表之間,如果存在關(guān)系,一般一共有3種情況: ① 一對(duì)一關(guān)系(高級(jí)) 比如有A、B兩張表,A表中的每一條數(shù)據(jù),在B表中有一條唯一的數(shù)據(jù)與之對(duì)應(yīng)。 用戶表user user_id(用戶編號(hào)) 賬號(hào)username 密碼password 001 admin admin888 002 itheima

    2024年02月12日
    瀏覽(26)
  • MySQL數(shù)據(jù)庫基礎(chǔ)(十):DQL數(shù)據(jù)查詢語言

    MySQL數(shù)據(jù)庫基礎(chǔ)(十):DQL數(shù)據(jù)查詢語言

    文章目錄 DQL數(shù)據(jù)查詢語言 一、數(shù)據(jù)集準(zhǔn)備 二、select查詢 三、簡單查詢 四、條件查詢 1、比較查詢 2、范圍查詢 3、邏輯查詢 4、模糊查詢 5、非空查詢 五、排序查詢 六、聚合查詢 七、分組查詢與having子句 1、分組查詢介紹 2、group by的使用 3、group by + 聚合函數(shù)的使用 4、gro

    2024年02月21日
    瀏覽(18)
  • 數(shù)據(jù)庫系統(tǒng)頭歌實(shí)驗(yàn)一 SQL的DDL語言和單表查詢

    數(shù)據(jù)庫系統(tǒng)頭歌實(shí)驗(yàn)一 SQL的DDL語言和單表查詢

    第1關(guān):創(chuàng)建供應(yīng)商表S(SNO,SNAME,STATUS,CITY) 供應(yīng)商表S由供應(yīng)商代碼(SNO)、供應(yīng)商姓名(SNAME)、供應(yīng)商狀態(tài)(STATUS)、供應(yīng)商所在城市(CITY)組成;S表如下 第2關(guān):將P表中的所有紅色零件的重量增加6。 零件表P由零件代碼(PNO)、零件名(PNAME)、顏色(COLOR)、重量(WEIGHT)組成;

    2024年02月07日
    瀏覽(23)
  • 【MySQL】表的增刪改查——MySQL基本查詢、數(shù)據(jù)庫表的創(chuàng)建、表的讀取、表的更新、表的刪除

    【MySQL】表的增刪改查——MySQL基本查詢、數(shù)據(jù)庫表的創(chuàng)建、表的讀取、表的更新、表的刪除

    ?? ??CURD是一個(gè)數(shù)據(jù)庫技術(shù)中的縮寫詞,它代表Create(創(chuàng)建),Retrieve(讀?。?,Update(更新),Delete(刪除)操作。 這四個(gè)基本操作是數(shù)據(jù)庫管理的基礎(chǔ),用于處理數(shù)據(jù)的基本原子操作。 ?? ??在MySQL中,Create操作是十分重要的,它幫助用于創(chuàng)建數(shù)據(jù)庫對(duì)象,如數(shù)據(jù)

    2024年03月18日
    瀏覽(105)
  • 三個(gè)主流數(shù)據(jù)庫(Oracle、MySQL和SQL Server)的“單表造數(shù)

    三個(gè)主流數(shù)據(jù)庫(Oracle、MySQL和SQL Server)的“單表造數(shù)

    預(yù)設(shè)游標(biāo)10000(必要時(shí)) ?模擬新增10萬條數(shù)據(jù) ? ?1.1?oracle一條sql數(shù)據(jù)生成100萬條數(shù)據(jù) ? 創(chuàng)建測試表 創(chuàng)建測試表 模擬新增3萬條數(shù)據(jù) 開發(fā)過程中經(jīng)常需要測試 SQL 在大量數(shù)據(jù)集時(shí)候的執(zhí)行效率,這就需要我們在表中插入大量的測試數(shù)據(jù),下面介紹如何使用存儲(chǔ)過程插入大量的

    2024年02月14日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包