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

thinkphp学习09-数据库的数据新增

单数据新增

使用 insert()方法可以向数据表添加一条数据,更多的字段采用默认

public function index()
{$data = ['username' => '犬夜叉','password' => '123','gender' => '男','email' => 'wjl@163.com','price' => 999,'details' => '犬夜叉介绍'];echo Db::name('user')->insert($data);
}

返回的是影响的行数
在这里插入图片描述
在这里插入图片描述
如果你添加一个不存在的字段数据,会抛出一个异常 Exception

public function index()
{$data = ['username' => '犬夜叉','password' => '123','gender' => '男','email' => 'wjl@163.com','price' => 999,'details' => '犬夜叉介绍','cv' => "个人简历"];echo Db::name('user')->insert($data);
}

在这里插入图片描述
如果想强行新增抛弃不存在的字段数据,则使用 strick(false)方法,忽略异常

public function index()
{$data = ['username' => '犬夜叉','password' => '123','gender' => '男','email' => 'wjl@163.com','price' => 999,'details' => '犬夜叉介绍','cv' => "个人简历"];echo Db::name('user')->strict(false)->insert($data);
}

在这里插入图片描述
如果我们采用的数据库是 mysql,可以支持 replace 写入

insert 和 replace 写入的区别,前者表示表中存在主键相同则报错,后者则修改

public function index()
{$data = ['id' => 22,'username' => '犬夜叉','password' => '123','gender' => '男','email' => 'wjl@163.com','price' => 999,'details' => '犬夜叉介绍',];Db::name('user')->replace()->insert($data);return Db::getLastSql();
}

在这里插入图片描述
在这里插入图片描述
使用 insertGetId()方法,可以在新增成功后返回当前数据 ID

public function index()
{$data = ['username' => '孙悟空','password' => '123','gender' => '男','email' => 'wjl@163.com','price' => 11111,'details' => '孙悟空介绍',];$id = Db::name('user')->replace()->insertGetId($data);return $id;
}

在这里插入图片描述

批量数据新增

使用 insertAll()方法,可以批量新增数据,但要保持数组结构一致

public function index()
{$datas = [['username' => '孙悟空','password' => '123','gender' => '男','email' => 'wjl@163.com','price' => 11111,'details' => '孙悟空介绍',],['username' => '蜡笔小新','password' => '123','gender' => '男','email' => 'wjl@163.com','price' => 2222,'details' => '蜡笔小新介绍',],];// 返回的是受影响的行数return Db::name('user')->insertAll($datas);
}

在这里插入图片描述
在这里插入图片描述
批量新增也支持 replace()方法,添加后改变成 replace into

 public function index(){$datas = [['username' => '孙悟空','password' => '123','gender' => '男','email' => 'wjl@163.com','price' => 11111,'details' => '孙悟空介绍',],['username' => '蜡笔小新','password' => '123','gender' => '男','email' => 'wjl@163.com','price' => 2222,'details' => '蜡笔小新介绍',],];Db::name('user')->replace()->insertAll($datas);echo Db::getLastSql();}

在这里插入图片描述

save()新增

save()方法是一个通用方法,可以自行判断是新增还是修改(更新)数据,save()方法判断是否为新增或修改的依据为,是否存在主键,不存在即新增

public function index(){$data = ['username' => '孙悟空','password' => '123','gender' => '男','email' => 'wjl@163.com','price' => 11111,'details' => '孙悟空介绍',];Db::name('user')->save($data);$data = ["id" => 22,'username' => '孙悟空','password' => '123','gender' => '男','email' => 'wjl@163.com','price' => 11111,'details' => '孙悟空介绍',];Db::name('user')->save($data);echo "完成";}

更新之前
在这里插入图片描述
更新之后
在这里插入图片描述
在这里插入图片描述

相关文章:

  • 面试 React 框架八股文十问十答第二期
  • 【电源专题】案例:不同的充电芯片在没插入电池但插入USB充电器情况下为什么无法兼容?
  • 计算机网络夯实之路-HTTP详解
  • 微服务治理:微服务断路器(微服务故障隔离模式)详解
  • 阿里云国际服务器设置安全防护程序
  • 阿里云提示服务器ip暴露该怎么办?-速盾网络(sudun)
  • 如何激活数据要素价值
  • LeetCode 36. 有效的数独
  • Docker的基本管理
  • sklearn快速实现python机器学习算法
  • Java后端开发——Mybatis实验
  • idea使用docker-compose发布应用程序
  • 开机自启动android app
  • 嵌入式-Stm32-江科大基于寄存器点亮LED灯
  • docker 批量更改镜像标签
  • ECMAScript6(0):ES6简明参考手册
  • mysql 5.6 原生Online DDL解析
  • mysql innodb 索引使用指南
  • SpiderData 2019年2月13日 DApp数据排行榜
  • webpack入门学习手记(二)
  • Yii源码解读-服务定位器(Service Locator)
  • 不上全站https的网站你们就等着被恶心死吧
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 基于webpack 的 vue 多页架构
  • 让你的分享飞起来——极光推出社会化分享组件
  • 如何合理的规划jvm性能调优
  • 如何选择开源的机器学习框架?
  • 微信开放平台全网发布【失败】的几点排查方法
  • 温故知新之javascript面向对象
  • 学习Vue.js的五个小例子
  •  一套莫尔斯电报听写、翻译系统
  • 移动端 h5开发相关内容总结(三)
  • 大数据全解:定义、价值及挑战
  • 回归生活:清理微信公众号
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • #android不同版本废弃api,新api。
  • #QT(一种朴素的计算器实现方法)
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • $ git push -u origin master 推送到远程库出错
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .chm格式文件如何阅读
  • .net core 6 集成和使用 mongodb
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .NET中统一的存储过程调用方法(收藏)
  • /deep/和 >>>以及 ::v-deep 三者的区别