第一小节讲数据库操作,也就是DB类,DB类的链接,增删改查以及条件构造器的链接。
第二小节主要学习TP5的模型层,模型层和DB类功能相同,也是对数据库进行增删改查的操作,只是它有了更高级的功能,模型层只是对TP5的DB类进行又一次封装,使我们使用起来更方便。修改器,自动完成以及时间戳,数据的软删除, 通过学习模型层,完成对数据库的所有操作。
2-1数据库的连接操作
在conf文件夹下建database.php文件,将conwention.php里关于数据库操作的部分复制过去,index文件下 dump(config(‘database’)),浏览器中得到刚刚的配置参数;
namespace app\index\controller;
use think\Controller;
use think\Db;
class Index extends Controller{
public function index()
{
$res=Db::connect();
dump($res);
}
}
此时并没有真正的连接,只有在使用的时候才真正的connect上了
2-2数据库查询
(1)使用sql语句的方式查询
$res=Db::query("select * from imooc_user where id=?",[1]);
dump($res);
(2)find方法返回一条记录,返回的结果是一维数组,如果结果不存在,返回NULL
$res=Db::table('imooc_user')->where(['id'=>10])f->ind();
dump($res);
(3)select返回所有记录,返回的结果是二维数组,如果结果不存在,则返回一个空数组
$res=Db::table('imooc_user')->select();
dump($res);
(4)#value查询耨个字段值
#返回一条记录,并且是这条记录的某个字段值,如果结果不存在,返回NULL $res=Db::table('imooc_user')->where(['id'=>1])->value('email');
(5)column返回一维数组,数组中的value值就是我们要获取的列的值就是结果不存在返回空数组
$res=Db::table('imooc_user')->column('username','email');
(6)添加数据:insert 返回值是影响记录的行数,插入数
insertGetId:返回插入数据的自增id
insertAll:返回插入数据成功的行数
$db=Db::table(‘imooc_user’);
$res= $db->insert([
'username'=>'imooc',
'password'=>'md5(imooc)',
'email'=>'imooc'
]);
(7)更新数据库
1.使用update方法时,必须要传递where条件 ,返回影响的行数
$db=Db::table('imooc_user');
$res=$db->where(['id'=>1])->update([
'username'=>'lululu'
]);
dump($res);
$res=$db->where(['id'=>2])->setField([
'username'=>'xxf'
]);
(3)setInc 只传递一个字段名,该字段每次自增1,传递第二工人参数,该字段每次自增5
setDec,返回影响记录的行数,用于想要某个字段自减
(8)数据库删除操作
使用where条件或直接在delete中传入主键的自增id
$res=$db->where(['id'=>2])->delete();
$res=$db->delete(3);
截断数据表:phpmyadmin里选中表,点击操作,选择清空数据表