国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 > php框架 > ThinkPHP > 正文

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

青燈夜游
發(fā)布: 2022-09-23 19:28:36
轉(zhuǎn)載
1540人瀏覽過

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

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

基本使用

查詢操作

Db::query('select * from think_user where id=?',[8]);
登錄后復制

寫入操作

Db::execute('insert into think_user (id, name) values (?, ?)',[8,'thinkphp']);
登錄后復制

查詢構造器

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

立即學習PHP免費學習筆記(深入)”;

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

Db::table('think_user')->where('id',1)->find();
登錄后復制

select 返回所有記錄,返回的結果是一個二維數(shù)組 如果結果不存在,返回一個空數(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方法在復雜的查詢條件中經(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 時間比較
登錄后復制

【相關教程推薦:thinkphp框架

以上就是聊聊Thinkphp 5.0 對數(shù)據(jù)庫的操作(關鍵代碼)的詳細內(nèi)容,更多請關注php中文網(wǎng)其它相關文章!

PHP速學教程(入門到精通)
PHP速學教程(入門到精通)

PHP怎么學習?PHP怎么入門?PHP在哪學?PHP怎么學才快?不用擔心,這里為大家提供了PHP速學教程(入門到精通),有需要的小伙伴保存下載就能學習啦!

下載
相關標簽:
來源:掘金社區(qū)網(wǎng)
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權的內(nèi)容,請聯(lián)系admin@php.cn
最新問題
開源免費商場系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關于我們 免責申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓,幫助PHP學習者快速成長!
關注服務號 技術交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學習
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://www.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號