美文网首页js css html
thinkphp5.0 数据库增删改查

thinkphp5.0 数据库增删改查

作者: 暴躁程序员 | 来源:发表于2023-02-02 11:33 被阅读0次

一、查询

1. sql语句查询

sql查询传递条件参数的两种方式
返回多条数据,只查询到一条数据也以数组的方式返给前端,查不到返回[]

$name = 'alias';
$pwd = '123456';
Db::query('select * from user where name = :name and pwd = :pwd',[$name,$pwd]);
Db::query('select * from user where name =? and pwd =?',[$name,$pwd]);

2. 链式查询

参考tp5.0官方文档

1. where()条件

  1. where(字段名,表达式,查询条件)
Db::name('user')->where('name','like','%alias%')->select();
  1. where与 和 where或
    参考tp5.0官方文档
where('字段名','表达式','查询条件');
whereOr('字段名','表达式','查询条件');
  1. where 混合查询
    闭包
Db::table('user')->where(function ($query) {
   $query->where('name', 'alias')->whereor('name', 'alias2');
})->whereOr(function ($query) {
   $query->where('name', 'like', 'alias')->whereOr('name', 'like', 'alia2');
})->select();
  1. where实现 等于 的四种方式
// where(字段名,值)
Db::name('user')->where('name','alias2')->where('pwd',456) ->select();

// where(字段名,=,值)
Db::name('user')->where('name','=','alias2')->where('pwd','=',456) ->select();

// where([字段名=>字段值]) 
Db::name('user')->where(['name'=>'alias2','pwd'=>'456']) ->select();

// where(function ($query) { $query->where()})
Db::name('user')->where(function ($query) {
    $query->where('name', 'alias2')->where('pwd', '456');
})->select();

2. 简单查询

返回单条、多条数据
返回指定列和所有数据

// 返回单条数据,查询多条数据也以对象的方式返第一条给前端,查不到返回null
Db::name('user')->where('name','alias2')->where('pwd',456) ->find(); 
// 返回多条数据,只查询到一条数据也以数组的方式返给前端,查不到返回[]
Db::name('user')->where('name','alias2')->where('pwd',456) ->select();

// 返回指定列的数据
Db::name('user')->where('name','alias2')->where('pwd',456)->field('id,name')->select(); // id name 列
Db::name('user')->where('name','alias2')->where('pwd',456)->field('id,name',true)->select(); // 除了 id name 的列

二、添加

  1. 添加单条
$data = ['name' => 'alias1', 'pwd' => '123','create_time'  => Db::raw('now()')];
Db::name('user')->insert($data); // 成功返回 1
Db::name('user')->insertGetId($data); // 成功返回自增主键值
  1. 添加多条
$list = [
    ['name' => 'alias1', 'pwd' => '123'],
    ['name' => 'alias2', 'pwd' => '456'],
    ['name' => 'alias3', 'pwd' => '789']
];
Db::name('user')->insertAll($list); //成功返回 添加成功的条数
  1. 助手函数方式
db('user')->insert($data); // 添加单条数据,成功返回 1
db('user')->insertAll($list);  // 添加多条数据,成功返回 添加成功的条数
  1. 快捷方式
$data = ['name' => 'alias1', 'pwd' => '123'];
Db::table('data')->data($data)->insert();

三、删除

删除成功返回删除成功的条数

  1. 删除单条
Db::name('user')->delete(1); // 根据自增主键删除
Db::name('user')->where('id',1)->delete();
Db::name('user')->where('id','=',1)->delete();
  1. 删除多条
Db::name('user')->delete([1,2,3]); // 根据自增主键删除
Db::name('user')->where('id','<',3)->delete();
  1. 助手函数方式
db('user')->delete(1); 
db('user')->where('id','<',3)->delete();

四、修改

修改成功返回修改成功的条数

  1. 修改单条
$data = ['name' => 'mac1','update_time'  => Db::raw('now()')];
Db::name('user')->where('id', 2)->update($data); //成功返回1,没有修改返回0
  1. 修改多条
  2. 助手函数方式
$data = ['name' => 'mac1'];
db('user')->where('id', 2)->update($data); //成功返回1,没有修改返回0

相关文章

  • 关于python的list的增查删改

    说到增查删改,想起了数据库,我们在关系型数据库当中就会对表进行增查删改。 在python当中我们也可以对list进...

  • MYSQL数据库的增删改查

    MYSQL数据库的增删改查 一.对于库的增删改查 增create database 库名称;create data...

  • 数据库的存储

    如何创建数据库 数据库的增删改查 增insert into student (name,phone) values...

  • SQL查询结构总结

    SQL 增删改查 对数据库有修改的操作是:增删改 增 insert into 表名 values(); 删 del...

  • SQL-增删改查

    从增山改查开始,增删改查都是从数据库,数据表,数据三个维度展开。 新增 新增数据库 CREATE DATABASE...

  • SQL语句

    数据库的增删改查 数据表的增删改查 表内记录的增删改查

  • JAEE学习笔记(17)mysql

    MySQL数据库 数据库(CURD -- 增删改查) 表(table)(CURD -- 增删改查) 数据(CURD...

  • thinkphp5.0 数据库增删改查

    一、查询 1. sql语句查询 sql查询传递条件参数的两种方式返回多条数据,只查询到一条数据也以数组的方式返给前...

  • 2018-01-11 JDBC连接数据库代码

    1.JDBC操作mysql数据库-增删改查 2.JDBC操作Oracle数据库-增删改查

  • 数据库增查删改实例

    在数据库中有三个表,分别是Sstudent,Course,SC

网友评论

    本文标题:thinkphp5.0 数据库增删改查

    本文链接:https://www.haomeiwen.com/subject/cldihdtx.html