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

MySQL表的基本查詢詳細(xì)圖文教程

 更新時間:2024年10月31日 11:04:07   作者:pouop  
這篇文章主要給大家介紹了關(guān)于MySQL表的基本查詢的相關(guān)資料,需要的朋友可以參考下

1,創(chuàng)建表

前面基礎(chǔ)的文章已經(jīng)講了很多啦,直接上操作:

非常簡單!下一個!

2,插入數(shù)據(jù)

1,全列插入

前面也說很多了,直接上操作:

以上插入和全列插入類似,全列插入也可以這樣寫:

注意,后面插入的數(shù)據(jù)數(shù)量必須和定義表的列的數(shù)量及順序一致

2,多行數(shù)據(jù) + 指定列插入

插入兩條記錄,value_list 數(shù)量必須和指定列數(shù)量及順序一致

操作:

如果需要用一條語句插入多行數(shù)據(jù),可以在values后面用逗號隔開然后加入數(shù)據(jù):

3,插入否,則更新

由于 主鍵 或者 唯一鍵 對應(yīng)的值已經(jīng)存在而導(dǎo)致插入失敗

可以選擇性的進(jìn)行同步更新操作語法:

on duplicate key update = 。。。。。

可以看到,因為主鍵沖突所以無法插入數(shù)據(jù),那么我又不想要id為1的數(shù)據(jù),這個時候就可以用上面的語法:

可以看到,表中的第一行數(shù)據(jù)被更新了。

3,替換

用法:

-- 主鍵 或者 唯一鍵 沒有沖突,則直接插入;

-- 主鍵 或者 唯一鍵 如果沖突,則刪除后再插入

我們可以用創(chuàng)建成功后的提示來看有沒有數(shù)據(jù)沖突:

-- 1 row affected: 表中沒有沖突數(shù)據(jù),數(shù)據(jù)被插入

-- 2 row affected: 表中有沖突數(shù)據(jù),刪除后重新插入

創(chuàng)建表和插入數(shù)據(jù)講完之后,就可以開始我們的主題了:表的查詢!

4,表的查詢

首先我們來快速創(chuàng)建一個表,讓我們可以方便查詢:

具體指令:

創(chuàng)建表指令:

CREATE TABLE exam_result ( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL COMMENT '同學(xué)姓名', chinese float DEFAULT 0.0 COMMENT '語文成績', math float DEFAULT 0.0 COMMENT '數(shù)學(xué)成績', english float DEFAULT 0.0 COMMENT '英語成績' );

插入表指令:

INSERT INTO exam_result (name, chinese, math, english) VALUES ('唐三藏', 67, 98, 56), ('孫悟空', 87, 78, 77), ('豬悟能', 88, 98, 90), ('曹孟德', 82, 84, 67), ('劉玄德', 55, 85, 45), ('孫權(quán)', 70, 73, 78), ('宋公明', 75, 65, 30); 

1,select列

1,全列查詢

通常情況下不建議使用 * 進(jìn)行全列查詢

1. 查詢的列越多,意味著需要傳輸?shù)臄?shù)據(jù)量越大;

2. 可能會影響到索引的使用。(索引待后面講解)

操作:

2,指定列查詢

操作:

3,查詢字段為表達(dá)式

可以看到,可以進(jìn)行運算并顯示在表中。

4,為查詢結(jié)果指定別名

操作:在加算表達(dá)式后面加as加要命名的名字

其中,as可以省略:

5,結(jié)果去重

我們想去差個成績,看全班分?jǐn)?shù)的整體趨勢,為此要求分?jǐn)?shù)不重復(fù),而我們看到math里分?jǐn)?shù)有重復(fù)的部分,那么我們怎么解決這個分?jǐn)?shù)重復(fù)的問題?

去重!語法:在列名前加distinct:

可以看到,表中的數(shù)據(jù)被去重

2,where語句

我們可以用where語句來做判斷來查詢表,具體判斷的表達(dá)式:

我們用例子來描述上面操作符的使用:

1 英語不及格的同學(xué)及英語成績 ( < 60 )

可以用比較來篩選出想要的數(shù)據(jù)。

2,語文成績在 [80, 90] 分的同學(xué)及語文成績

這個時候,可以引入一個指令:and,它代表的是且命令,就和C++中的&&差不多

也可以用between來查詢,操作如下:

3,數(shù)學(xué)成績是 58 或者 59 或者 98 或者 99 分的同學(xué)及數(shù)學(xué)成績

這里面可以用or指令來完成,or相當(dāng)于C++里的||:

當(dāng)然,這樣寫比較麻煩,那么可以使用in條件來寫:

這些寫會比第一種方法好看。

4,姓孫的同學(xué) 及 孫某同學(xué)

這時候得引入模糊查找和%:

可以看到,孫后面的名字都查到了,但是如果只想要后面只有一個字的怎么操作?

可以看到,用_可以指定后面跟多少字

5,語文成績好于英語成績的同學(xué)

可以打印列表與列表的比較:

6,總分在 200 分以下的同學(xué)

可以用表相加減得出,但是不能用給表啟的名字做比較,因為語句執(zhí)行的順序不一樣:

7,語文成績 > 80 并且不姓孫的同學(xué)

這里用到了like和not連用

8,孫某同學(xué),否則要求總成績 > 200 并且 語文成績 < 數(shù)學(xué)成績 并且 英語成績 > 80

9,NULL 的查詢

先創(chuàng)建表

查詢 qq 號已知的id:

NULL 和 NULL 的比較,= 和 的區(qū)別

3,結(jié)果排序
語法:

-- ASC 為升序(從小到大)

-- DESC 為降序(從大到?。?/p>

-- 默認(rèn)為 ASC

注意:沒有 ORDER BY 子句的查詢,返回的順序是未定義的,永遠(yuǎn)不要依賴這個順序

1,同學(xué)及數(shù)學(xué)成績,按數(shù)學(xué)成績升序顯示

2,同學(xué)及數(shù)學(xué)成績,按數(shù)學(xué)成績降序顯示

3,查詢同學(xué)各門成績,依次按 數(shù)學(xué)降序,英語升序,語文升序的方式顯示

4,查詢同學(xué)及總分,由高到低

5,查詢姓孫的同學(xué)或者姓曹的同學(xué)數(shù)學(xué)成績,結(jié)果按數(shù)學(xué)成績由高到低顯示

4,篩選分頁結(jié)果

關(guān)鍵字:limit 

只顯示前幾行

操作:

可以看到,limit前加的數(shù)字代表從第幾行開始,第二個數(shù)字代表往下顯示幾行

可以用關(guān)鍵字offset來表示第幾行開始:

總結(jié) 

到此這篇關(guān)于MySQL表的基本查詢的文章就介紹到這了,更多相關(guān)MySQL表的基本查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java數(shù)據(jù)類型與MySql數(shù)據(jù)類型對照表

    Java數(shù)據(jù)類型與MySql數(shù)據(jù)類型對照表

    這篇文章主要介紹了Java數(shù)據(jù)類型與MySql數(shù)據(jù)類型對照表,以表格形式分析了java與mysql對應(yīng)數(shù)據(jù)類型,并簡單講述了數(shù)據(jù)類型的選擇與使用方法,需要的朋友可以參考下
    2016-06-06
  • MySQL中GTID 模式的使用

    MySQL中GTID 模式的使用

    MySQL GTID模式是MySQL復(fù)制體系的一種機(jī)制,用來唯一標(biāo)識每一個事務(wù),從而讓主從復(fù)制變得更可靠、更自動化、更不容易出錯,下面就來詳細(xì)的介紹一下如何使用,感興趣的可以了解一下
    2026-02-02
  • mysql 有關(guān)“InnoDB Error ib_logfile0 of different size”錯誤

    mysql 有關(guān)“InnoDB Error ib_logfile0 of different size”錯誤

    mysql 有關(guān)“InnoDB Error ib_logfile0 of different size”錯誤的解決方法,需要的朋友可以參考下。
    2011-06-06
  • MySQL快速插入大量數(shù)據(jù)的解決方案和代碼示例

    MySQL快速插入大量數(shù)據(jù)的解決方案和代碼示例

    在這篇博客中,我們將深入探討如何高效插入大量數(shù)據(jù)到MySQL數(shù)據(jù)庫,無論你是數(shù)據(jù)庫新手還是經(jīng)驗豐富的開發(fā)者,這篇文章都將為你提供實用的解決方案和代碼示例,幫助你解決插入3萬條數(shù)據(jù)需要20多秒的問題,需要的朋友可以參考下
    2024-08-08
  • 用SQL實現(xiàn)統(tǒng)計報表中的"小計"與"合計"的方法詳解

    用SQL實現(xiàn)統(tǒng)計報表中的"小計"與"合計"的方法詳解

    本篇文章是對使用SQL實現(xiàn)統(tǒng)計報表中的"小計"與"合計"的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • Mysql按特定符號分割成多行和多列的示例

    Mysql按特定符號分割成多行和多列的示例

    本文主要介紹了Mysql 按特定符號分割成多行和多列,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • MySQL中文拼音排序的問題與解決方案

    MySQL中文拼音排序的問題與解決方案

    這篇文章主要為大家詳細(xì)介紹了MySQL中文拼音排序的問題和相關(guān)解決方案,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-09-09
  • mysql中insert into的基本用法和一些示例

    mysql中insert into的基本用法和一些示例

    INSERT INTO用于向MySQL表插入新行,支持單行/多行及部分列插入,下面給大家介紹mysql中insert into的基本用法和一些示例,感興趣的朋友一起看看吧
    2025-06-06
  • MySQL中FIND_IN_SET()函數(shù)與in的區(qū)別及說明

    MySQL中FIND_IN_SET()函數(shù)與in的區(qū)別及說明

    文章介紹了SQL中FIND_IN_SET函數(shù)和IN關(guān)鍵字的區(qū)別及使用,FIND_IN_SET允許字段或常量作為參數(shù)并進(jìn)行精確匹配,而IN只允許常量且進(jìn)行完全匹配,文章指出使用FIND_IN_SET可能導(dǎo)致索引失效,從而增加查詢時間
    2025-10-10
  • MySQL 8.0升級中的字符集陷阱與解決方案

    MySQL 8.0升級中的字符集陷阱與解決方案

    在企業(yè)數(shù)字化轉(zhuǎn)型的浪潮中,數(shù)據(jù)庫系統(tǒng)的升級換代是必經(jīng)之路,MySQL 8.0作為重要的里程碑版本,帶來了諸多性能提升和新特性,但同時也埋下了一些技術(shù)地雷:字符集排序規(guī)則的變化,本文將基于一個真實案例,深度剖析MySQL 8.0字符集排序規(guī)則沖突問題的根本原因
    2026-01-01

最新評論

秦皇岛市| 宣化县| 灵璧县| 盱眙县| 南木林县| 定远县| 吉首市| 德庆县| 会昌县| 西华县| 荔波县| 上饶市| SHOW| 宝应县| 禄劝| 岐山县| 滦平县| 宣城市| 临城县| 绍兴市| 罗平县| 东宁县| 安国市| 湟源县| 鹿泉市| 日土县| 新密市| 泾源县| 汉中市| 梅州市| 阳原县| 威远县| 贵定县| 高州市| 冕宁县| 毕节市| 云南省| 清徐县| 卢氏县| 子长县| 左云县|