日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

這篇文章主要介紹了Thinkphp5.0框架的Db操作,結合實例形式分析了thinkPHP5使用Db庫實現數據庫的連接、增刪改查及鏈式操作等相關使用技巧,需要的朋友可以參考下

本文實例講述了Thinkphp5.0框架的Db操作。分享給大家供大家參考,具體如下:

連接操作:

<?php
namespace app\index\controller;
use think\Controller;
use think\Db;
class Index extends Controller
{
    public function study_db(){
        //方式一:默認讀取配置文件的配置
        $res = Db::connect();
        //方式二:手動配置,使用一個數組
        $res = Db::connect([
            'type'      => 'mysql',
            'hostname'    => '127.0.0.1',
            'database'    => 'bodywork3',
            'username'    => 'root',
            'password'    => '666',
            'hostport'    => '3306',
            'charset'     => 'utf8'
        ]);
        //方式三:手動配置,使用一個字符串
        $res = Db::connect("mysql://root:password@127.0.0.1:3306/database_name#utf8");
        //方式四:手動配置,使用一個字符串
        //這種方式,需要在config配置文件中有tp_db_config數組配置
        $res = Db::connect("tp_db_config");
    }
}

查詢sql:

$data = Db::query("select * from user");
dump($data);
$data = Db::table('user')->select();
$data = Db::table('user')->find();
//獲取一條記錄的某個字段值
$name = Db::table('user')->where(['id']=>5)->value('name');
//獲取一列值
$all_name = Db::table('user')->column('name');
//獲取一列值,第二個參數作為索引
$all_name = Db::table('user')->column('name','id');
//注意:
//select和column獲取不到數據時返回空數組。 
//find和value獲取不到數據時返回null。
$data = db('user')->select();//每次會實例化類
$data = db('user',[],false)->select();//每次不會實例化類

添加sql:

//執行sql語句添加數據
Db::execute("insert into user values (1,'name',10)");
//,返回影響的行數
$res = Db::name('user')->insert([
    'name' => 'hello',
    'age' => 10
]);
//insertGetId()方法可以在添加數據后返回數據的id
$id = Db::name('user')->insertGetId([
    'name' => 'hello',
    'age' => 10
]);
//添加多個數據,返回影響的行數
$res= Db::name('user')->insertAll([
    ['name' => 'hello','age' => 10],
    ['name' => 'world','age' => 12],
]);

更新sql:

//更新多個字段
$res = Db::name('user')-where(['id'=>1])->update([
    'username' => 'zhang san',
    'age' => '6'
]);
//更新一個字段
$res = Db::name('user')-where(['id'=>1])->setField('username','zhang san');
//自增、自減
$res = Db::name('user')-where(['id'=>1])->setInc('score');
$res = Db::name('user')-where(['id'=>1])->setDec('score');
$res = Db::name('user')-where(['id'=>1])->setInc('score',2);

刪除sql:

//刪除一條記錄
$res = Db::name('user')->where(['id'=>1])->delete();
//如果where條件是主鍵,可以這樣寫
$res = Db::name('user')->delete(1);

查詢構造器:

//打印sql,where值為數組
$sql = Db::name('user')->where(['id'=>1])->buildSql();
dump($sql);
//結果:SELECT * FROM `user` WHERE `id` = 1
//打印sql,where值為兩個參數
$sql2 = Db::name('user')->where('id',1)->buildSql();
dump($sql2);
//結果:SELECT * FROM `user` WHERE `id` = 1
//打印sql,where值為三個參數
$sql3 = Db::name('user')->where('id','=',1)->buildSql();
dump($sql3);
//結果:SELECT * FROM `user` WHERE `id` = 1
//打印sql,where多條件
$sql4 = Db::name('user')->where([
    'id' => ['in',[1,2,3,4,5]],
    'age' => ['gt',10]
])->buildSql();
dump($sql4);
//結果:SELECT * FROM `user` WHERE `id` IN (1,2,3,4,5) AND `age` > 10
//使用EXP表達式
$sql5 = Db::name('user')->where('id','EXP','not in (2,5)')->buildSql();
dump($sql5);
//結果:SELECT * FROM `bw_user` WHERE ( `id` not in (2,5) )
//可以使用連續的where條件
$sql6 = Db::name('user')
    ->where('id','EXP','not in (2,5)')
    ->where('age','>',10)
    ->buildSql();
dump($sql6);
//結果:SELECT * FROM `bw_user` WHERE ( `id` not in (2,5) ) AND `age` > 10
//如果多個where條件是or關系,使用whereOr
$sql7 = Db::name('user')
    ->where('id','EXP','not in (2,5)')
    ->whereOr('age','>',10)
    ->buildSql();
dump($sql7);
//結果:SELECT * FROM `bw_user` WHERE ( `id` not in (2,5) ) OR `age` > 10

鏈式操作:

//鏈式操作,常用方法
$data = Db::name('user')
    ->where(['id','>',10])
    ->field('id,name,age')
    ->order('addtime desc')
    ->limit('10,5')
    // ->page('3,5') //limit((page-1)*5,5)
    // ->group('course')
    ->select();
dump($data);



分享到:
標簽:Thinkphp5.0框架 Db操作實例分析 增刪改查 鏈式操作
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定