ThinkPHP5 学习笔记四 数据库增删改

新增数据

单条新增:使用insert方法,如果新增成功insert方法会返回1;也可以使用data方法

   public function setData() {
        $data = [
            'ID' => 99,
            'name' => '测试',
            'age' => 30,
            'gender' => '男'
        ];
        $user = \db('user');
        $user->insert($data);
        // 使用data方法
        // $user->data($data)->insert();
        $res = $user->select();
        return json($res);
    }

insert方法支持replace写入,有唯一索引的话会删除掉第一个重新新增写入。 使用insert($data, true);
使用insertGetId方法可以在新增成功之后返回当时数据的id

多条新增:使用insertAll方法,也支持使用data方法;

  $dataAll = [
        [
            'ID' => 91,
            'name' => '测试1',
            'age' => 30,
            'gender' => '男'
        ],
        [
            'ID' => 92,
            'name' => '测试2',
            'age' => 30,
            'gender' => '男'
        ]
    ];
    $user = \db('user');
    $user->insertAll($dataAll);
    $res = $user->select();
    return json($res);

修改数据:

使用updata()方法,如果修改成功返回影响行数,如果没有修改返回0,也可以使用data方法;

public function upData() {
        $data = [
            'name' => '李白'
        ];
        $user = \db('user');
        $user->where('id', 91)->update($data);
        // 使用data方法
        // $user->where('id', 91)->data($data)->update();
        $res = $user->removeOption('where')->select();
        return json($res);
    }

如果包含主键可以直接修改,如ID为主键

  $data = [
            'name' => '李白',
            'ID' => 91
        ];
   \db('user')->update($data);

phoMyAdmin主键设置方法:

结构选项,选择需要添加为主键的字段,点击主键就可以了
在这里插入图片描述

inc(改变的字段, 每次新增的值): 增加数值
dec(改变的字段, 每次减少的值): 减少数值

       $data = [
            'name' => '李白',
            'ID' => 91
        ];
        $user = \db('user');
        $user->inc('age', 2)->update($data); 
        $res = $user->select();
        return json($res);

exp方法可以在字段中使用mysql函数

\db('user')->exp('email', 'UPPER(email))') -> updata($data);

raw方法修改

$data = [
            'name' => '李白',
            'ID' => Db::raw('ID'- 2),
            'email' =>Db::raw('UPPER(email)'),
        ];
\db('user') -> updata($data);

使用setField()方法可以更新一个字段

        $user = \db('user');
        $user->where('id', 91)->setField('name','张三');
        $res = $user->select();
        return json($res);

使用setIncsetDec 也可以更新单个字段

     $user = \db('user');
        $user->where('id', 91)->setInc('age', 2);
        $res = $user->select();
        return json($res);

**

删除数据

**
使用delete删除数据,删除成功返回行数,失败返回0;
不传参数 默认主键,多条删除传数组,正常情况使用where删除,通过ture删除表所有数据

  public function deleteData() {
        $user = \db('user');
        // 单条删除
        // $user->delete(99);
        // 多条删除
        // $user-> delete([91, 92]);
        // 删除所有
        // $user-> delete(true);
        // 条件删除
        $user->where('id', 91)->delete();
        $res = $user->select();
        return json($res);
    }
  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值