//--------查询
// 原生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. JDBCUtils工具类配置文件的读取方式

    //第一种方式 Properties prop= new Properties();        //读取文件   通过类加载读取        InputStream is = JDBCUtils ...

  2. VUe键盘修饰符及自定义指令获取焦点

    首先需要在keyup事件之后. 修饰符 来绑定事件 <body> <div class="box"> <!-- 这里的 @keyup.enter=&q ...

  3. 【坑】select2 模态框中下拉input无法focus

    select2的组件bug 解决方案: 在bootstrap.js中修改: Modal.prototype.enforceFocus = function () { $(document) .off( ...

  4. 手写代码之写斐波那契数列-传入key值求对应的value

    public class Testany { public static void main(String[] args) { int value = number(10); System.out.p ...

  5. jQuery 中的 Ajax 方法(节选)

    $.ajax() 基本用法: $.ajax({ url: url, // 地址 data: data, // 参数 type: 'POST', // 提交方式 可以选择 post/get 推荐 pos ...

  6. 《少年先疯队》第七次作业:团队项目设计完善&编码

    博文简要信息表: 项目 内容 软件工程 https://www.cnblogs.com/nwnu-daizh/ 本次实验链接地址 https://www.cnblogs.com/nwnu-daizh/ ...

  7. Mybatis的一级缓存机制简介

    1.接口 public interface MemberMapperCache { public Members selectMembersById(Integer id); } 2.配置文件xml ...

  8. CentOS7.x安装mariadb-10.3

    1.配置mariadb yum源 vim /etc/yum.repos.d/mariadb.repo # 写入如下内容 [mariadb] name = MariaDB baseurl = http: ...

  9. js+css 动效+1的效果

    点击数值 +1 的动效 vue data:{ timer: null,plus:''// 次数 } method:{ animate(plus) { var _this = this; clearIn ...

  10. [Dart] final vs const

    void main() { ; print(a); ; print(b); final c = 'Hello'; // c = 'Hello again'; // Uncomment to throw ...