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