PHP 数据库操作-增删改查-CRUD

原创
2022/03/13 12:29
阅读数 127

Laravel

  • 查询所有(返回的是 object 数组) $data = DB::table('user')->get();
  • 查询所有,并指定字段 推荐使第一种方式 $data = DB::table('user')->get(['name', 'age']);
  • 查询单条数据 $ret = DB::table('member')->where('id', 5)->first();
  • 获取一列数据 $ret = DB::table('member')->pluck('name');
  • 分页操作 $ret = DB::table('member')->orderBy('id', 'desc')->offset(0)->limit(2)->get();
    • limit:表示限制输出的条数
    • offset:从什么地方开始,起始从0开始
    • orderBy 排序 以ID来进行倒序排列
  • 添加
    • insert() 可以同时添加一条或多条,返回值是布尔类型。 $ret = DB::table('member')->insert([ ['name'=>'AAAA', 'age'=>20, 'email'=>'111@111.com'], ['name'=>'BBBB', 'age'=>30, 'email'=>'222@222.com'], ]);
    • insertGetId() 只能添加一条数据,返回自增的id。 添加数据并得到插入时的ID值 $ret = DB::table('member')->insertGetId([ 'name' => '小华', 'age' => 60, 'email' => 'ff@ff.com' ]);
  • 修改 $ret = DB::table('member')->where('id', 2)->update([ 'name' => '修改一下', 'age' => 50 ]);
  • 删除 $ret = DB::table('member')->where('id', 2)->delete();

参考:https://www.cnblogs.com/konglingxin/p/11301544.html

ThinkPHP

方法1 根据 model 查询

<?php
// App/Lib/Model/UserModel.class.php
namespace Admin\Model;
use Think\Model;
class UserModel extends Model
{
}```

```php
<?php
// App/Lib/Action/UserAction.class.php
class ActionAction extends Action
{
    public function index()
    {
      $user = new \Admin\Model\UserModel();   //表名为user,大小写一致。
      $list = $user->select();                   //查询此表的所有数据,数组的数组。

方法2 自动查找上面的 Model,使用 D 函数

此方法可自动找到此命名空间中的对应模型,效果与第一种相同。

$user= D("user");
$at = $user->select();

方法3 不用创建模型文件,自动造模型

$user= M("user");
$list = $user->select();

$admin= M("admins", null); // 不使用系统的统一表名前缀
$admin->add(['name' => 'admin1', 'email' => 'admin@gitee.com']);

其他语法

$user->find("12345"); // 根据主键值admin查找一条数据
$user->where("uid='admin'")->field("uid,name,pwd"); // 根据条件查找所有数据
$user->table("nation")->select(); // 切换表名为nation的表进行操作。
$user->order("code desc")->select();    //根据code降序排列
$user->limit("4,2")->select();     // 跳过四条数据,显示接下来的两天数据。
$user->page("3,2")->select();   // 每页两条数据,显示第3页。
$user->field("max(code)")->group("classcode")->select(); // 根据classcode分组,查询每组code最大的数据。
$user->field("max(code)")>group("classcode")>having("max(code)>2017000000")->select(); // 根据classcode分组,查询每组code最大且大于2017000000的数据。
$user->field("user.code as '代号', user.name as '姓名',nation.name as '班级'")->join("nation on user.code=nation.code")->select();
$user->distinct(true)->field("pwd")->select(); // 去重

参考:https://www.cnblogs.com/cyrfr/p/6532928.html

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部