当前位置: 首页 > news >正文

2024全栈元年-thinkphp-数据操作

thinkphp 数据相关操作

1.单数据查询

1、单数据查询 ,Db::table(‘tp_stu’) 必须加前缀
2、如果只是查询符合条件的使用where find,如果没有符合条件的返回null
3、使用 findOrFail 没有数据会抛出异常
4、使用 findOrEmpty 没有数据会返回【】
5、得到最近一个原生SQL 语句,Db::getlastSql();
<?phpnamespace app\controller;use think\facade\Db;class TestDb
{public function  find(){//1、单数据查询 ,Db::table('tp_stu') 必须加前缀//http://localhost:8000/testDb/find// $res =   Db::table('tp_stu')->select();//如果只是查询符合条件的使用where find,如果没有符合条件的返回null// $res =   Db::table('tp_stu')->where('id', 14)->find();//使用 findOrFail 没有数据会抛出异常// $res =   Db::table('tp_stu')->where('id', 4)->findOrFail();//使用 findOrEmpty 没有数据会返回【】$res =   Db::table('tp_stu')->where('id', 14)->findOrEmpty();//得到最近一个原生SQL 语句// return Db::getlastSql();return json($res);}
}

2.增删改查

<?phpnamespace app\controller;use think\facade\Db;class Testgsc
{public function find(){$data = Db::name('stu');//数据库链式调用// var_dump($data);// $data = $data->where('id', 4)->select();// dump($data);//save 自动判断新增还是修改,如果传入主键//可以使用save方法统一写入数据,自动判断是新增还是更新数据(以写入数据中是否存在主键数据为依据)。$testData = ["age" => 3035,'name' => '皇帝的新装3bbbb00-x',"address" => 'xian'];echo $testData['age'];echo '<br/>';// $data->save($testData);//如果插入的字段数据库表没有会抛出异常// $n = $data->insert($testData);//strict(false) 忽略异常不错报错//可以使用insertGetId方法新增数据并返回主键值:// $n = $data->strict(false)->insertGetId($testData);// $n = $data->replace()->insert($testData);// echo $n;//数据新增方法//多条新增;//insertAll 添加多条数据$datas = [["name" => "name1",'age' => 24],["name" => "name2",'age' => 20],["name" => "name3",'age' => 22],["name" => "name4",'age' => 29]];// $data->insertAll($datas);//1.更新数据通用方法 save// $data->save([//     "id" => 11,//     "name" => '修改名字了'// ]);//2、修改数据update方法// $data->where('id', 23)->update([//     "name" => '修改了名字用update',//     "age" => 200// ]);//3、删除delete 不到条件是全部清空表数据$data->where('id', '>', 10)->delete();#数据查询表达式return Db::getLastSql();return json($data);}
}
http://www.lryc.cn/news/299188.html

相关文章:

  • HTML世界之第二重天
  • 社区经营的好处与优势:为何越来越多的人选择社区店?
  • C语言系列1——详解C语言:变量、常量与数据类型
  • WordPress修改所有用户名并发送邮件通知的插件Easy Username Updater
  • C语言中的数据类型-强转
  • 大数据可视化BI分析工具Apache Superset结合内网穿透实现远程访问
  • C# 线程与线程池的使用方法、注意事项
  • 2024年华为OD机试真题-按身高和体重排队-Python-OD统一考试(C卷)
  • openGauss学习笔记-218 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-I/O
  • 去除vue自带的边距
  • ElasticSearch级查询Query DSL上
  • 120.乐理基础-五线谱-五线谱的多声部与指法问题
  • YOLOv5独家改进:上采样算子 | 超轻量高效动态上采样DySample,效果秒杀CAFFE,助力小目标检测
  • 洛谷 P1102 A-B 数对 (Java)
  • 情人节到了,写一份爱心程序(python)
  • Java图形化界面编程—— 基本组件和对话框 笔记
  • 使用Docker,拉取Nginx镜像,创建并运行Nginx容器
  • InstantBox:开箱即用的临时 Linux 环境
  • 【面试】国家公务员考试复试,面试内容准备方向(非技术面试考察点)
  • 点餐|外卖订餐小程序|基于微信小程序的外卖订餐系统设计与实现(源码+数据库+文档)
  • 使用Cargo创建、编译与运行Rust项目
  • Js中toFixed(2)精度问题的原因及解决办法
  • 【医学大模型 知识增强】SMedBERT:结构化语义知识 + 医学大模型 = 显著提升大模型医学文本挖掘性能
  • Python爬虫:安全与会话管理
  • [Python进阶] 识别验证码
  • 华为问界M9:全方位自动驾驶技术解决方案
  • Java 与 JavaScript 的区别与联系
  • React18原理: 时间分片技术选择
  • 【QT+QGIS跨平台编译】之三十三:【SpatiaLite+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
  • 【JavaEE】_CSS选择器