//--------查询
// 原生sql语句查询
// $ret = Db::query("select * from tp5_user where id>10");
// dump($ret); // 占位写法 // 单个参数
// $sql = "select * from tp5_user where id=?";
// $ret = Db::query($sql,[1]); // $sql = "select * from tp5_user where id=:id";
// $ret = Db::query($sql,['id'=>1]); // 多个条件
// $sql = 'select * from tp5_user where name=:name and id=:id';
// $ret = Db::query($sql,['name'=>'zhangsan','id'=>2]);
// dump($ret); // db查询一条数据
// $ret = db('user')->find(10);
// dump($ret); // db查询多条数据
//所有数据
// $ret = db('user')->select(); // 条件查询
// $ret = db('user')->where('status',0)->select();
// 查不到会抛出异常
// $ret = db('user')->where('status',0)->selectOrFail(); # 查询某个字段的值可以用
// $ret = db('user')->where('status',0)->value('name'); # 查询某一列的值可以用
// $ret = Db::name('user')->where('id',10)->column('name');
// $ret = Db::name('user')->column('name'); # 排序并获取指定记录条数
// $ret = Db::name('user')->order('id', 'desc')->limit(0,10)->select(); # 聚合查询
// Db::name('user')->count();
// Db::name('user')->max('score');
// Db::name('user')->where('score', '>', 0)->min('score');
// Db::name('user')->avg('score');
// Db::name('user')->where('id',10)->sum('score'); # 批量条件(字段)查询
// $map = [
// ['name', 'like', '%tp%'],
// ['age', '>', '10'],
// ['id', '>', 0],
// ];
// $ret = Db::name('user')
// ->where([ $map ])
// ->where('status',1)
// ->select(); # 闭包查询
// $name = '%tp%';
// $age = 10;
// $ret = Db::table('tp5_user')->where(function ($query) use($name, $age) {
// $query->where('name','like' ,$name)->where('age', '>', $age);
// })->select(); # 获取器 5.1.20之后才有
$ret = Db::name('user')->withAttr('name', function($value, $data) {
return strtolower($value);
})->select(); dump($ret);
//--------增加
//插入数据
// $data = ['name'=>'liwu1','age'=>14];
// table需要写全表名
// $ret = Db::table('tp5_user')->insert($data);
// name不用写表前缀
// $ret = Db::name('user')->insert($data); // 推荐写法
// $ret = db('user')->insert($data);
// dump($ret); // 插入多条数据
// $data = [
// ['name'=>'liww','age'=>34],
// ['name'=>'li31','age'=>15],
// ['name'=>'lrty','age'=>16],
// ['name'=>'liii','age'=>24],
// ];
// $ret = db('user')->insertAll($data);
// dump($ret);
//--------修改
// 更新数据
// $data = ['name'=>'tp5','age'=>38];
// $ret = db('user')->where('id','=',1)->update($data); // 等号可以省略
// $ret = db('user')->where('id',1)->update($data); // $ret = db('user')->update($data);
//--------删除
// 删除数据
// 根据主键删除
// $ret = Db::name('user')->delete(1);
// $ret = Db::name('user')->delete('5,6');
// $ret = Db::name('user')->delete([2,3]); // 条件删除
// $ret = db('user')->where('id','>',13)->delete(); // 软删除
// $ret = db('user')->where('id','>',12)->useSoftDelete('delete_time',time())->delete(); // dump($ret); }

php手记之04-tp5数据库操作的更多相关文章

  1. tp5数据库操作 模型层

    一.数据模型作用 相同功能代码不用重复写多次 二.创建方式 在模块下建立model文件夹,php文件,文件名为数据库表名,其中类为数据库表名,继承Model类,模型层即为此表 namespace ap ...

  2. tp5数据库操作 Db类

    一.链接数据库 1.配置文件定义  application\database.php 注意:数据表前缀更改,在文件的prefix选项 2.类定义 二.数据库的基本使用 namespace app\de ...

  3. ThinkPHP5.0框架开发--第7章 TP5.0数据库操作

    ThinkPHP5.0框架开发--第7章 TP5.0数据库操作 第7章 TP5.0数据库操作 ===================================================== ...

  4. TP5对数据库操作的事物作用

    假如: 你写好了一段完整的代码,模型对数据库的操作,增删改查什么的,都没有问题,当然运行速度也是最快的,完全不用担心会出错, 前提肯定是已经写好的一整段代码, 但是,万一服务器中断了呢,执行一半,后面 ...

  5. 04:sqlalchemy操作数据库

    目录: 1.1 ORM介绍(作用:不用原生SQL语句对数据库操作) 1.2 安装sqlalchemy并创建表 1.3 使用sqlalchemy对表基本操作 1.4 一对多外键关联 1.5 sqlalc ...

  6. 04:sqlalchemy操作数据库 不错

    目录: 1.1 ORM介绍(作用:不用原生SQL语句对数据库操作) 1.2 安装sqlalchemy并创建表 1.3 使用sqlalchemy对表基本操作 1.4 一对多外键关联 1.5 sqlalc ...

  7. SQL 2005 中查询或执行另外的数据库操作的方法

    原文:SQL 2005 中查询或执行另外的数据库操作的方法 摘要: 如果,你想在一台数据库服务器上,查询另一个台数据服务器的数据该如何做呢?如果,你想在同一台数据服务器上,在不同的数据库之间查询数据, ...

  8. 使用ado.net打造通用的数据库操作类

    最近在项目中使用中碰到了这样一种情况,查询的数据是从Oracle中获取的,但是记录下来的数据是存在Sql Server中(企业Oracle数据库管理太严,没办法操作).而且我在之前的工作中也碰到过使用 ...

  9. TP5数据库操作方法

    一.TP5数据库操作方法 1.name()方法作用 : 指定默认的数据表名(不含前缀)示例 : Db::name(‘weiba_post’);返回 : Db对象 2.setTable()方法作用 : ...

  10. 05:ModelForm 数据验证 & 生成html & 数据库操作

    目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...

随机推荐

  1. springboot学习入门简易版一---springboot2.0介绍

    1.1为什么用springboot(2) 传统项目,整合ssm或ssh,配置文件,jar冲突,整合麻烦.Tomcat容器加载web.xml配置内容 springboot完全采用注解化(使用注解方式启动 ...

  2. Vue-filter指令全局过滤和稀有过滤

    简单介绍一下过滤器,顾名思义,过滤就是一个数据经过了这个过滤之后出来另一样东西,可以是从中取得你想要的,或者给那个数据添加点什么装饰,那么过滤器则是过滤的工具.例如,从['abc','abd','ad ...

  3. http协议工作原理(精简)

    HTTP协议进行通信时,需要有客户端(即终端用户)和服务端(即Web服务器),在Web客户端向Web服务器发送请求报文之前,先要通过TCP/IP协议在Web客户端和服务器之间建立一个TCP/IP连接 ...

  4. centos7创建共享文件夹

    0.检查是否已经安装samba rpm -qi samba 1.未安装,安装samba, 如果已安装,请忽略: yum -y install samba samba-client 2.共享一个目录,使 ...

  5. m_strcpy

    自己实现strcpy函数 #include <stdio.h> #include <assert.h> //如果它的条件返回错误,则终止程序执行 char *m_strcpy( ...

  6. fsLayuiPlugin树+数据表格使用

    fsLayuiPlugin 是一个基于layui的快速开发插件,支持数据表格增删改查操作,提供通用的组件,通过配置html实现数据请求,减少前端js重复开发的工作. GitHub下载 码云下载 测试环 ...

  7. 进程 multiprocessing Process join Lock Queue

    多道技术 1.空间上的复用 多个程序公用一套计算机硬件 2.时间上的复用 cpu 切换程序+保存程序状态 1.当一个程序遇到IO操作,操作系统会剥夺该程序的cpu执行权限(提高了cpu的利用率,并且不 ...

  8. 61、springmvc-异步请求-返回DeferredResult

    61.springmvc-异步请求-返回DeferredResult 61.1 DeferredResult 官方文案 61.2 使用 /** * 创建订单加入 订单处理队列 * * @return ...

  9. 使用PS进行切图

    一,设置PS 使用PS进行切图前的设置: 1,打开PS----打开PSD图片----点击窗口-----分别把:历史记录,信息,图层,三个打勾. 历史记录:可以回到之前想要的步骤,特别是不小心把图层的文 ...

  10. VIM--保存和退出等命令

    在 Linux 中使用 vim 时,输入 vim xxx.file 按 ESC,左下角就可以进行输入 :w 保存但不退出 :wq 保存并退出 :q 退出 :q! 强制退出,不保存 :e! 放弃所有修改 ...