上一篇介紹了資料庫的新增和更新,這裡介紹一下資料庫的查詢和刪除操作
建立專案以及連線資料庫
建立一個thinkphp 專案tp,如下圖,其中index.php為入口檔案,App為專案資料夾:
在App/Conf下的config.php中,配置資料庫連線,如下:
在資料庫中建立表qq_game,結構如下圖:
當前資料庫中的資訊如下:
刪除
刪除的語法如下:
在App/Lib/Action下的IndexAction.class.php中,建立函式deleteGame,將資料從資料表刪除,如下:
1、已知id值刪除資料
2、有多個where條件,用陣列表示,進行刪除,如下:
3、用order和limit來限制要刪除的記錄的個數;
(1) 先向表中加入幾行資料 ,如下:
(2)按id排序,刪除所有grade=3的前3行資料;
查詢
一、查詢的基本方法select,如下:
在控制器IndexAction.class.php中,新建函式searchGame,如下:
1、查詢所有資料資訊,當前資料表中資料共7條
2、查詢所有grade=1的值,按id進行排序,選擇3個
二、查詢的基本方法find,語法如下,注意: find方法只會返回一條記錄。
1、無論滿足條件的select,有多少記錄,find方法只返回一條記錄。
如下,是select和find方法的SQL語句,可以看出find方法中有LIMIT 1,所以find方法只顯示一條記錄且不能和LIMIR一起使用
2、因為find方法只能返回一條記錄,所以最好用在已知主鍵值ID,查詢結果,如下:
三、查詢某些欄位的時候,需要使用getField方法,具體語法如下:
1、查詢一個欄位時,可以直接輸出,如下:
2、專案過程中,經常出現獲取某一列的值,可使用true,進行操作,獲取結果陣列,如下,獲取name列的所有值:
3、如果傳入多個欄位的話,預設返回一個關聯陣列;
若是僅查詢主鍵值和另一個值,則主鍵值會作為鍵名,而另一個值作為鍵值,如下:
4、若是在方法中傳入一個字串分隔符【:或 / 或 - 或= 等等】,則返回的結果是一維陣列,鍵名是主鍵值ID,鍵值是 欄位:欄位:欄位型別的字串。
5、getField方法的sepa引數還可以支援限制數量,如下:
注意事項
find方法只能返回一條記錄