|
C與Python實(shí)戰(zhàn) 2018-08-07 23:38:50
注:本文使用的“行”指數(shù)據(jù)表中的“記錄”,“列”指數(shù)據(jù)表中的“字段”。 在第四節(jié)《表的增刪改查》中已經(jīng)介紹了 select 查詢記錄的幾種使用方法:查詢所有行的所有列、查詢指定行的所有列、查詢所有行的指定列和查詢指定行的指定列。本文介紹一些數(shù)據(jù)檢索的其他高級(jí)使用方法。 1、數(shù)據(jù)準(zhǔn)備首先準(zhǔn)備文需要的數(shù)據(jù),如下圖所示: 01_成績(jī)表 使用如下語(yǔ)句進(jìn)行數(shù)據(jù)庫(kù)的創(chuàng)建、表的創(chuàng)建及記錄的插入: 2、限制結(jié)果SELECT 語(yǔ)句返回所有的匹配行,它們可能是指定表中的每個(gè)行。如果想要SELECT 語(yǔ)句返回指定的行數(shù),可以使用LIMIT 子句。 LIMIT 接受一個(gè)或兩個(gè)數(shù)字的參數(shù),參數(shù)必須是一個(gè)整數(shù)常量。如果給定兩個(gè)參數(shù),第一個(gè)參數(shù)指定第一個(gè)返回記錄行的偏移量,第二個(gè)參數(shù)指定返回記錄行的最大數(shù)目。 LIMIT 三種語(yǔ)法,第二種和第三種語(yǔ)法完全等價(jià): 1. 2. 3. 注:
示例1,檢索前3條記錄: 示例2,檢索從偏移量為5的記錄開始后3條記錄: 也可以使用下面這種語(yǔ)法: 在行數(shù)不夠時(shí),LIMIT 中指定要檢索的行數(shù)為檢索的最大行數(shù)。比如我們從第8條記錄開始取5條記錄,那么我們只能取到3條記錄: 3、完全限定名假如兩個(gè)表中有相同的字段,而我們恰好要查詢其中一個(gè)表中的該字段,那么就會(huì)出現(xiàn)二義性:到底要取哪個(gè)表中的該字段?為了解決這一問(wèn)題,可以使用完全限定的名字來(lái)引用列,完全限定字段的格式為"table_name.column_name",例如: ![]() 表名也是可以被限制的,其格式為"database_name.table_name",例如: ![]() 4、排序檢索有時(shí)候數(shù)據(jù)并不是一定要按照數(shù)據(jù)庫(kù)中的存儲(chǔ)順序進(jìn)行顯示,比如我們想要以商品價(jià)格進(jìn)行排序或者以成績(jī)排名進(jìn)行顯示。 如果我們需要對(duì)讀取的數(shù)據(jù)進(jìn)行排序,可以使用 MySQL 的 ORDER BY 子句來(lái)設(shè)定想按哪個(gè)字段哪種方式來(lái)進(jìn)行排序,再返回搜索結(jié)果。其語(yǔ)法為: ![]()
以數(shù)學(xué)成績(jī)升序方式檢索,可以使用如下命令: ![]() 以數(shù)學(xué)成績(jī)降序方式檢索,可以使用如下命令: ![]() 以數(shù)學(xué)成績(jī)升序、語(yǔ)文成績(jī)降序和英語(yǔ)成績(jī)降序 3 個(gè)字段同時(shí)檢索: ![]() 利用排序檢索與 LIMIT 組合,可以取出某字段的最低或最高記錄。 ![]() |
|
|