TP5.0 数据库基本操作

简单增删
// $result=Db::execute(‘insert into tp_data (id,name,status) values(1,”1111”,1)’);
// dump($result);
// $result=Db::execute(‘update tp_data set name=”framework” where id=1’);
// dump($result);
// $result=Db::query(‘select *from tp_data where id=1’);
// dump($result);

在database.php中增加数据库配置后操作多个数据库
TP5.0 数据库基本操作 - 图1
TP5.0 数据库基本操作 - 图2

参数绑定、、、先用问号,后面一一对应
TP5.0 数据库基本操作 - 图3

占位符绑定

TP5.0 数据库基本操作 - 图4

简单的增删改查
Db::table(‘tp_data’)->insert([‘id’=>6,’name’=>’thinkphp’,’status’=>1]);
Db::table(‘tp_data’)->where(‘id’,1)->update([ ‘name’=>”hello”]);

还可以用下面的(建议使用,不加前缀,方便在database.php中改前缀)
Db::name(‘data’)->insert([‘id’=>6,’name’=>’thinkphp’,’status’=>1]);
Db::name(‘data’)->where(‘id’,1)->update([ ‘name’=>”hello”]);

链式操作
查询十条满足条件的数据,并且按照id倒序排列
$link=Db::name(‘data’)->where(‘status’,1)->field(‘id,name’)->order(‘id’,’desc’)->limit(10)->select();
事物(把几个操作放到一起,他们一起成功和失败,当有一个失败时,回滚到操作前)
事物支持 在mysql数据库中请设置表类型为InnoDB
把需要执行的事物操作封装到闭包里面即可自动完成事务
eg:
Db::transaction(function(){
Db::table(‘tp_data’)->delete(1);
Db::table(‘tp_data’)->insert([‘id’=>6,’name’=>’thinkphp’,’status’=>1]);
});

手动控制事物
如果try中出错 触发catch回滚
Db::startTrans();//启动事物
try{
Db::table(‘tp_data’)->delete(1);
Db::table(‘tp_data’)->insert([‘id’=>6,’name’=>’thinkphp’,’status’=>1]);
}catch(/Exception $e){
//回滚事物
Db::rollback();
}

总结

TP5.0 数据库基本操作 - 图5