站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        聊聊Thinkphp 5.0 對數(shù)據(jù)庫的操作(關(guān)鍵代碼)

        一個標準的網(wǎng)站一定離不開數(shù)據(jù)庫的操作,在本套課程中我和你一起來揭開ThinkPHP5 數(shù)據(jù)操作的神秘面紗,和你一起愉快的使用 ThinkPHP5 操作數(shù)據(jù)庫,讓數(shù)據(jù)庫操作變的更愉悅。

        聊聊Thinkphp 5.0 對數(shù)據(jù)庫的操作(關(guān)鍵代碼)

        php入門到就業(yè)線上直播課:進入學習
        API 文檔、設(shè)計、調(diào)試、自動化測試一體化協(xié)作工具:點擊使用

        基本使用

        查詢操作

        Db::query('select * from think_user where id=?',[8]);

        寫入操作

        Db::execute('insert into think_user (id, name) values (?, ?)',[8,'thinkphp']);

        查詢構(gòu)造器

        查詢數(shù)據(jù)

        find 返回一條記錄,返回的結(jié)果是一個一維數(shù)組 如果結(jié)果不存在,返回NULL

        Db::table('think_user')->where('id',1)->find();

        select 返回所有記錄,返回的結(jié)果是一個二維數(shù)組 如果結(jié)果不存在,返回一個空數(shù)組

        Db::table('think_user')->where('status',1)->select();

        助手函數(shù)

        系統(tǒng)提供了一個db助手函數(shù),可以更方便的查詢:

        db('user')->where('id',1)->find(); db('user')->where('status',1)->select();

        注意:使用db助手函數(shù)默認每次都會重新連接數(shù)據(jù)庫,而使用Db::name或者Db::table方法的話都是單例的。db函數(shù)如果需要采用相同的鏈接,可以傳入第三個參數(shù),例如

        db('user',[],false)->where('id',1)->find(); db('user',[],false)->where('status',1)->select();

        添加數(shù)據(jù)

        使用 Db 類的 insert 方法向數(shù)據(jù)庫提交數(shù)據(jù)

        $data = ['foo' => 'bar', 'bar' => 'foo']; Db::table('think_user')->insert($data);

        添加多條數(shù)據(jù)

        添加多條數(shù)據(jù)直接向 Db 類的 insertAll 方法傳入需要添加的數(shù)據(jù)即可

        $data = [    ['foo' => 'bar', 'bar' => 'foo'],     ['foo' => 'bar1', 'bar' => 'foo1'],     ['foo' => 'bar2', 'bar' => 'foo2'] ]; Db::name('user')->insertAll($data);

        insertAll 方法添加數(shù)據(jù)成功返回添加成功的條數(shù)

        助手函數(shù)

        // 添加單條數(shù)據(jù) db('user')->insert($data);  // 添加多條數(shù)據(jù) db('user')->insertAll($list);

        更新數(shù)據(jù)

        update 方法返回影響數(shù)據(jù)的條數(shù),沒修改任何數(shù)據(jù)返回 0

        Db::table('think_user')->where('id', 1)->update(['name' => 'thinkphp']);

        更新某個字段的值: setField 方法返回影響數(shù)據(jù)的條數(shù),沒修改任何數(shù)據(jù)字段返回 0

        Db::table('think_user')->where('id',1)->setField('name', 'thinkphp');
        自增或自減一個字段的值 // score 字段加 1 Db::table('think_user')->where('id', 1)->setInc('score'); // score 字段加 5 Db::table('think_user')->where('id', 1)->setInc('score', 5); // score 字段減 1 Db::table('think_user')->where('id', 1)->setDec('score'); // score 字段減 5 Db::table('think_user')->where('id', 1)->setDec('score', 5);

        延遲更新

        Db::table('think_user')->where('id', 1)->setInc('score', 1, 10);

        刪除數(shù)據(jù)

        // 根據(jù)主鍵刪除 Db::table('think_user')->delete(1); Db::table('think_user')->delete([1,2,3]);  // 條件刪除     Db::table('think_user')->where('id',1)->delete(); Db::table('think_user')->where('id','<',10)->delete();

        條件查詢方法

        where

        可以使用where方法進行AND條件查詢:

        Db::table('think_user')     ->where('name','like','%thinkphp')     ->where('status',1)     ->find();

        whereOr方法

        Db::table('think_user')     ->where('name','like','%thinkphp')     ->whereOr('title','like','%thinkphp')     ->find();

        混合查詢

        where方法和whereOr方法在復(fù)雜的查詢條件中經(jīng)常需要配合一起混合使用,下面舉個例子:

        $result = Db::table('think_user')->where(function ($query) {     $query->where('id', 1)->whereor('id', 2); })->whereOr(function ($query) {     $query->where('name', 'like', 'think')->whereOr('name', 'like', 'thinkphp'); })->select();

        查詢表達式

        查詢表達式支持大部分的SQL查詢語法,也是ThinkPHP查詢語言的精髓,查詢表達式的使用格式:

        where('字段名','表達式','查詢條件'); whereOr('字段名','表達式','查詢條件');
        表達式 含義 EQ、= 等于(=) NEQ、<> 不等于(<>) GT、> 大于(>) EGT、>= 大于等于(>=) LT、< 小于(<) ELT、<= 小于等于(<=) LIKE 模糊查詢 [NOT] BETWEEN (不在)區(qū)間查詢 [NOT] IN (不在)IN 查詢 [NOT] NULL 查詢字段是否(不)是NULL [NOT] EXISTS EXISTS查詢 EXP 表達式查詢,支持SQL語法 > time 時間比較 < time 時間比較 between time 時間比較 notbetween time 時間比較

        【相關(guān)教程推薦:thinkphp框架】

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 久久国产精品久久精品国产| 国产亚洲精品影视在线产品| www.日韩精品| 老司机性色福利精品视频| 国产亚洲精品资在线| 国产精品合集一区二区三区| 精品蜜臀久久久久99网站| 一本一本久久a久久精品综合麻豆| 国产成人高清精品一区二区三区| 精品久久久久久亚洲精品| 拍国产真实乱人偷精品| 成人国产精品一区二区视频| 97久久精品无码一区二区天美| 中文精品久久久久人妻不卡| 欧美日韩国产精品 | 人妻无码精品久久亚瑟影视| 国产成人精品大尺度在线观看| 九九在线精品视频专区| 91麻豆精品国产自产在线观看亚洲| 亚洲精品国产首次亮相| 亚洲精品国产精品乱码不卞| 久久精品国产精品亚洲人人 | 久久亚洲中文字幕精品一区四| 国产精品欧美一区二区三区| 亚洲欧洲国产精品你懂的| 久久精品国产一区二区三区日韩| xxx国产精品视频| 2021国产精品成人免费视频| 国产精品国色综合久久| 成人伊人精品色XXXX视频| xxx国产精品视频| 国产精品久久久久久搜索| 国产精品麻豆高清在线观看| 99久久免费国产精品热| 国产精品怡红院永久免费| 国产亚洲美女精品久久久久狼| 3D动漫精品啪啪一区二区下载| 成人国产精品免费视频| 国产午夜精品理论片久久影视| 97久久综合精品久久久综合| 国产精品视频网站|