• Welcome to Journal web site.

我是 PHP 程序员

- 开发无止境 -

Next
Prev

Thinkphp6-数据库的操作(增删改查) - 网站建设 - Git开源网_git开源代码资源网_git开源博客

Data: 2020-11-16 00:08:55Form: JournalClick: 13

Thinkphp6-数据库的操作(增删改查)
Thinkphp6-数据库的操作(增删改查) - 网站建设 - Git开源网_git开源代码资源网_git开源博客

查询数据

查询单条数据 使用 find() 方法

  • // table方法必须指定完整的数据表名
    Db::table('user')->where('id',1)->find();

find方法查询结果不存在返回NULL,否则返回结果数组

 

查询多条数据/数据集 使用 select() 方法

  • Db::table('user')->select();

 

select方法查询结果是一个数据集对象,如果需要转换成数组可以使用 toArray()

  • Db::table('user')->select()->toArray();

 

值和列的查询

查询某个字段的值可以使用 value()

  • // 查询某一字段某一个值--必须加条件
    Db::table('user')->where('id',1)->value('name');

value查询结果不存在,返回NULL

查询某一列的值可以使用 column()

  • // 查询某一列的值
    Db::table('user')->column('name');

column查询结果不存在,返回空数组

添加数据 save insert

可以使用save方法统一写入数据,自动判断是新增还是更新数据(以写入数据中是否存在主键数据为依据)。

  • // save
    $arr = ['name' => 'zhangsan' , 'pasd' => 123456];
    Db::table('user')->save($arr);
// insert
$arr = ['name' => 'zhangsan' , 'pasd' => 123456];
Db::table('user')->insert($arr);

添加数据后如果需要返回新增数据的自增主键,可以使用insertGetId方法新增数据并返回

主键值:

  • Db::table('user')->insertGetId($arr);

添加多条数据直接向 Db 类的 insertAll 方法传入需要添加的数据(通常是二维数组)即可。

  • // 添加多条数据
    $arr = [
        ['name'=>'zhangsan','pasd'=>123456],
        ['name'=>'lisi','pasd'=>123456],
        ['name'=>'wangwu','pasd'=>123456]
    ];
    // insertAll
    Db::table('user')->insertAll($arr);

insertAll方法添加数据成功返回添加成功的条数

更新数据

可以使用save方法或者update方法

  • // 更新数据
    $arr = [
        'id'=>1,
        'name'=>'zhangsan',
        'pasd'=>123456
    ];
    // save -- 数组里面加条件
    Db::table('user')->save($arr);
  • $arr = [
        'name'=>'zhangsan',
        'pasd'=>123456
    ];
    // update -- 执行语句加条件
    Db::table('user')->where('id',1)->update($arr);

数据自增、自减 

可以使用inc/dec方法自增或自减一个字段的值( 如不加第二个参数,默认步长为1)。

  • // 自增、自减
    Db::table('user')->where('id',10)->inc('jsid',5)->update();
    Db::table('user')->where('id',10)->dec('jsid',5)->update();

 

删除数据

  • // 根据主键删除
    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();
Name:
<提交>