記錄一下,資料庫連線,高階寫法

2022-04-10 21:58:27 字數 923 閱讀 3234

1、 wherein ,查詢結果集寫法 。

$data = db::name('admin_user')->where('status', 1)->wherein('id', function($query) use($structure_id) )->field(['id', 'realname'])->select();

2、wherein ,陣列寫法。 首先拿到字段,並且轉成陣列。

對返回的結果集,某個欄位是陣列型別時,需要遍歷出,id 對應的name時,用下面的語句:

$list = articlecategorymodel::get_list(); //返回結果集,但是管理員id 是 暫存的陣列轉的字串。

foreach ($list as $value)

3、where ,lick寫法 。

$model = $model->where('article.name', 'like', '%' . $where['name'] . '%');

用點,連線%%。

4、就是各種 in 

if (authservice::instance()->getdutyuserids(0, 11) == false)

就是執行起來,很舒服。**也少。

sql 會這樣執行:where (task_admin_uid|task_sign_uid|tour_uid)in (65),就是3種值,都有可能在這個數字裡面。

這種集合查詢,效率真高。

5、要使用db::table 這種語法,先引入:use think\db;

6、用max 函式,搭配 group函式,直接找到某乙個分類裡面,最大值,最新值,總和等等。真的很爽。

我連了4張表,找最新的日期,就是用的這個。

7、where in ,寫在字段 和 引數之間 。 where or ,寫在2個引數的後面。

例如:

記錄一下資料庫外連線 的不同

left join 是左外鏈結,通常需要乙個驅動表作為主表 例如 1 select from23 a45 left join b on a.id b.kid 67 left join c on a.id c.kid 89 left join d on a.id d.kid and d.type 1 ...

記錄一下觸發器的寫法

alter trigger dbo tr insertinformaftion on dbo scm order m for insert as 定義變數 declare t2 ordercode varchar 20 ptclassify nvarchar 10 ordername nvarcha...

常用資料庫JDBC連線寫法

常用資料庫jdbc連線寫法 1.mysql mm.mysql 2.0.2 bin.jar class.forname org.gjt.mm.mysql.driver cn drivermanager.getconnection jdbc mysql mydbcomputernameorip 3306...