一.TP5数据库操作方法

1.name()方法
        作用 : 指定默认的数据表名(不含前缀)
        示例 : Db::name('weiba_post');
        返回 : Db对象
        
    2.setTable()方法
        作用 : 指定默认数据表名(含前缀)
        示例 : Db::setTable('op_weiba_post');
        返回 : Db对象
    
    3.getTable()方法
        作用 : 得到当前或者指定名称的数据表(有前缀)
        示例 : Db::getTable('weiba_post'); //返回op_weiba_post,带有表前缀,并且转换成了C风格
               Db::getTable();  //返回由setTable()设置的表名称(官方所说的是返回 "当前" 表名称).
        返回 : 表名(字符串)
    
    4.parseSqlTable()方法
        作用 : 将SQL语句中的__TABLE_NAME__字符串替换成带前缀的表名(小写)...此方法一般用不到,主要用于Db类自己调用
        示例 : Db::parseSqlTable(__WEIBA_POST__); //返回op_weiba_post,带有表前缀,并且转换成了小写
        返回 : 表名(字符串)
    
    5.query()方法 
        参数 : 
            1.$sql          命令字符串[必填], 
            2.$bind=[]      绑定参数,默认空数组[选填], 
            3.$master=false,服务器序号(主从服务器有效),如果数据库没有配置主从服务器.则db类忽略该参数.一般用不到.[选填]
            4.$class = false返回值处理方式.默认直接返回
                true : PDO对象
                类名 : 当前类处理
                ''   : 不做任何处理.直接返回
            
        作用 : 执行查询 返回数据集(查询)
        示例 : Db::query($sql);   //返回查询结果
        返回 : 返回查询结果(数组或对象)

6.execute()方法
        参数 :  $sql, $bind = [], $getLastInsID = false, $sequence = null
            1.$sql          命令字符串[必填], 
            2.$bind=[]      绑定参数,默认空数组[选填], 
            3.$getLastInsID=false  是否返回上次插入的ID.如果true则返回上次上次插入ID.false返回影响行数.默认为false.[选填]
            4.$sequence=null 如果没有为参数 sequence 指定序列名称,则返回一个表示最后插入数据库那一行的行ID的字符串。如果为参数 sequence 指定了序列名称,则返回一个表示从指定序列对象取回最后的值的字符串。如果当前 PDO 驱动不支持此功能,则触发一个 IM001 SQLSTATE 。

作用 : 执行语句(编辑)
        示例 : Db::execute($sql); //返回一个整型的数字
        返回 : 返回编辑结果,
        
    7.getLastInsID()方法
        作用 : 获取最近插入的ID
        示例 : $id = Db::getLastInsID()
        返回 : ID
        
    8.getLastSql()方法
        作用 : 获取最近一次查询的sql语句
        示例 : $sql = Db::getLastSql()
        返回 : sql命令,字符串类型
        
    9.transaction()方法       php好强大...
        参数 : 1.$callback,回调函数[可选]
        作用 : 执行数据库事务,回调函数执行成功则提交事务,否则回滚
        示例 : Db::transaction($this->update($data));
        返回 : 回调函数的返回值
        
    10.startTrans()方法
        作用 : 开启事务
        示例 : Db::startTrans()
        返回 : 失败返回假,成功无返回值,注意false跟null的区别(===)
        
    11.commit()方法
        作用 : 用于非自动提交状态下面的查询提交
        示例 : Db::commit()
        返回 : 无返回值
        
    12.rollback()方法
        作用 : 事务回滚
        示例 : Db::rollback();
        返回 : 无返回值
        
    13.batchQuery()方法
        参数 : 就一个.类型必须是数组.否则直接返回假
        作用 : 批处理执行SQL语句,强制认为是编辑操作,内部启动了事务.也就是说要么都成功.要么都失败(失败会抛出一个异常)
        示例 : Db::batchQuery($arr);//参数是sql命令数组
        返回 : 总是返回true
        
    14.getConfig()方法
        作用 : 返回数据库配置参数
        示例 : $config = Db::getConfig();
        返回 : 配置信息
        
    15.getPartitionTableName()方法
        作用 : 得到分表的的数据表名(用到再说吧.说不定要改写.)
        示例 : 
        返回 : 表名
        
    16.value()方法
        参数 : 1.字段.2默认值
        作用 : 得到某个字段的值
        示例 : Db::table('op_user')->value('uid' , false);
        作用 : 得到某个字段的值
        
    17.column()方法
        参数 : 
            1.字段名.多个用逗号隔开[必填]
            2.索引字段[选填]
        作用 : 得到某个列的数组
        示例 : 不想写
        作用 : 这就是value()方法组团来的...
        
    18.count()方法
        参数 : 他的参数默认是*,建议以后使用的时候用0
        作用 : COUNT查询,数量
        示例 : Db::table('op_user')->count(0);
        返回 : 数量
        
    19.sum()方法
        参数 : 默认是*.建议改
        作用 : 求和
        示例 : Db::table('op_user')->sum('uid');  //uid的总数,好神奇的需求...
        返回 : 数量
        
    20.min()方法
        参数 : 默认是*.建议改
        作用 : 求最小值
        示例 : Db::table('op_user')->min(`uid`);  //最小uid
        返回 : 字段值
        
    21.max()方法
        参数 : 默认是*.建议改
        作用 : 求最大值
        示例 : Db::table('op_user')->max(`uid`);  //最大uid
        返回 : 字段值
        
    22.avg()方法
        参数 : 默认是*.建议改
        作用 : 求平均值
        示例 : Db::table('op_user')->avg(`uid`);  //最大uid
        返回 : 字段值
    
    23.setField()方法
        参数 : 可以是数组,也可以是字符串
        作用 : 修改某一字段的值(内部调用的update)
        示例 : 
            Db::table('op_user')->where(['uid'=>1])->setField('phone' , '110');
            Db::table('op_user')->where(['uid'=>1])->setField(['phone' => '110']);
        返回 : 影响行数
        
    24.setInc()方法
        参数 : 
            1.$field:同setField().归根结底还是调用的update
            2.$step : 增长值
            3.$lazyTime : 延迟时间,大于0时才延迟
        作用 : 延迟更新.保存在缓存中.Db类自动调用.
        
    25.setDec()方法
        参数 : 
            1.$field:同setField().归根结底还是调用的update
            2.$step : 减少值
            3.$lazyTime : 延迟时间,大于0时才延迟
        作用 : 同setInc()方法
            
    
    26.join()方法
        参数 : 
            1.表名,支持__WEIBA_POST__,
            2.on条件.可以是字符串.也可以是数组.如果是数组连接用的and.
            3.join类型.left,right,inner
            注意.如果只传一个参数,必须为数组.格式就是上面的三个值,否则报错.
        作用 : 关联查询
        示例 : 
            Db::table('aa')->join('__BB__','aa.id=bb.id and aa.name=bb.name','left');   //aa left join bb on aa.id=bb.id and aa.name=bb.name
            Db::table('aa')->join('bb',['aa.id=bb.id','aa.name=bb.name'],'left');       ////aa left join bb on aa.id=bb.id and aa.name=bb.name
            Db::table('op_user as u')->field('u.uid')->join(['op_bz_binzhouq'=>'q'] , 'u.uid = q.uid' , 'left')->select();  //SELECT u.uid FROM op_user as u LEFT JOIN op_bz_binzhouq q ON u.uid = q.uid 
            
            
    27.union()方法
        参数 : 
            1.$union,可以是数组,也可以是字符串
            2.$all,有值UNION ALL ,否则为UNION
        作用 : 合并结果集
        示例 : Db::union($union , true);
    
    28.field()方法
        参数 : 
            1.$field:true全部字段,字符串(自动去重)
            2.真假,是否去重,如果$field是全部字符串(true)时,不支持去重.
            3.$tableName:表名.会组成$tableName.$field的形式
            后面还有俩参数...用不到了...
            
        作用 : 指定field字段
        示例 : Db::field('id, name' , 0,'user')->field('pid , pname , psex' , 0 , 'ping') //user.id , user.name , ping.pid , ping.pname , ping.psex
            
    29.view()方法
        参数 :
            1.$join : 表名
            2.$field : 字段名
            3.$on : 关联条件,同join方法
            4.$type : 关联类型.left.right
            
        作用 : 该方法设置的字段会在前面加上表
        示例 :  Db::table('user')->field('uid' , 0 , 'user')->view('binzhour' , 'name' , 'user.uid=binzhour.uid' , 'left')->select();    
                //select `user`.`uid` , `binzhour`.`name` from `user` left join `binzhour` on `user`.`uid` = `binzhour`.`uid`;
        
    30.partition()方法
        参数 : 
            1.data,         
            2.field,
            3.rule[可选]
        
        作用 : 设置分表规则,内部调用的getPartitionTableName()方法
        示例 : 见getPartitionTableName方法
        
    31.where()方法
        参数 : 
            1.field 查询字段
            2.op[可选] 查询表达式
            3.condition 查询条件
            
        作用 : 指定AND查询条件.内部调用的 parseWhereExp()方法,
        示例 : 详见 parseWhereExp() 方法
        
    32.whereOr()方法
        参数 : 同where()方法
        作用 : 指定OR查询条件.与where唯一不同的是用or连接.内部调用的 parseWhereExp() 方法
        示例 : 详见 parseWhereExp() 方法

33.whereXor()方法
        参数 : 同where()方法
        作用 : 异或,两边布尔值相同为假.不同为真.内部调用的 parseWhereExp() 方法
        示例 : 详见 parseWhereExp() 方法

34.limit()方法
        参数 : 
            1.起始位置
            2.查询数量
        作用 : 指定查询数量
        示例 : limit(0 , 20);
        
    35.page()方法
        参数 : 
            1.页数[必选]
            2.每页数量,[可选 20].
        作用 : 指定分页
        示例 : page(1,20);    //第一页.每页20条.
        
    36.table()方法
        参数 : 
            1.表名
        作用 : 指定当前操作的数据表
        示例 : table('tableName')
        
    37.using()方法(不知道用法...)
        参数 : 
            1.字段名
        作用 : USING支持 
        示例 : select a.*, b.* from a left join b using(colA); 等同于 select a.*, b.* from a left join b on a.colA = b.colA;
        
    38.order()方法
        参数 : 
            1.字段名
            2.排序
        作用 : 排序
        示例 : order('id','desc') 或者 order(['id'=>'desc','create_time'=>'desc'])
        
    39.cache()方法
        参数 :
            1.缓存KEY.
            2.缓存有效期.
        作用 : 查询缓存
        返回对象...
        示例 : cache('id' , 10)
        
    40.group()方法
        参数 : 1.字段名
        作用 : 分组查询
        示例 :
        
    41.having()方法
    
    42.distinct()方法
    
    43.alias()方法.别名
    
    44.force()方法
        参数 : 索引名
        作用 : 强制使用索引,不使用其他索引
        
    45.comment()方法
        参数 : 注释内容
        作用 : 给sql命令写注释.
        示例 : Db::name('bz_live')->comment('好无聊的方法')->find(); 等同于 SELECT * FROM `op_bz_live` LIMIT 1   /* 好无聊的方法 */
        
    46.fetchSql()方法
        参数 : 写true
        作用 : 返回sql语句
        示例 : $sql = Db::name('bz_live')->fetchSql(true)->select();   
        
    47.fetchPdo()方法
        参数 : 写true
        作用 : 返回 PDOStatement 对象
        示例 : Db::name('bz_live')->fetchPdo(true)->select();
        
    48.strict()方法
        参数 : true/false
        作用 : 是否严格检查字段名
        示例 : 
        
    49.failException()方法
        参数 : true/false
        作用 : 设置查询数据不存在是否抛出异常

TP5数据库操作方法总结的更多相关文章

  1. TP5数据库操作方法

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

  2. C#-数据库访问技术 ado.net——创建 数据库连接类 与 数据库操作方法 以及简单的数据的添加、删除、修改、查看

    数据库访问技术 ado.net 将数据库中的数据,提取到内存中,展示给用户看还可以将内存中的数据写入数据库中去 并不是唯一的数据库访问技术,但是它是最底层的数据库访问技术 1.创建数据库,并设置主外键 ...

  3. 常用的PHP数据库操作方法(MYSQL版)

    常用的PHP数据库操作方法(MYSQL版) 作者: 字体:[增加 减小] 类型:转载 时间:2011-06-08   最近一直在折腾自己的网站首页,写的大部分PHP脚本都要用到和MYSQL数据库相关的 ...

  4. 黄聪:Discuz!X/数据库操作方法、DB::table、C::t

    函数 功能 DB::table($tablename) 获取正确带前缀的表名,转换数据库句柄, DB::delete($tablename, 条件,条数限制) 删除表中的数据 DB::insert($ ...

  5. VB通用数据库操作方法

    1.VB通用数据操作方法. 2.通用数据库查询方法. 3.通用数据库操作方法. 'ERP查询数据库 Public Function YZQuery(sqls As String, msgstring ...

  6. ylb: 数据库操作方法基础

    ylbtech-SQL Server:SQL Server-数据库操作方法基础 数据库操作方法基础. ylb: 数据库操作方法基础 返回顶部 ----------试图操作(view)--------- ...

  7. TP5 数据库迁移工具 migrate 教程

    第一步: 安装compose,不赘述,安装详情可百度或查看https://pkg.phpcomposer.com/#how-to-install-composer 第二步: 通过 composer   ...

  8. ThinkPHP5实用的数据库操作方法

    1.update方法总结 /** * 设置记录的某个字段值 * 支持使用数据库字段和方法 * @access public * @param string|array $field 字段名 * @pa ...

  9. ASP数据库操作方法

    首先,必须要使用打开数据库方法: <% dim objconn,objconnstr set objconn=server.createobject("adodb.connection ...

随机推荐

  1. SharePoint 2010开发方面的课堂中整理有关问题

    SharePoint 2010开发方面的课堂中整理有关问题 这是我这几天在做一个SharePoint开发的课程的时候,大家提出的一些问题,及我的解答,分享给更多的朋友参考一下 这个文档,也可以在这里下 ...

  2. Swift网络库Alamofire的导入

    一.手动导入 1, 官网下载 Alamofire 2, 解压下载的文件 放入工程的顶层目录下 3, 打开工程 Add Files 4, 选中项目 TARGETS > General > E ...

  3. java+elipse安装及部分问题

    1. elipse下载.安装.jdk环境配置教程: https://www.cnblogs.com/ForestDeer/p/6647402.html 2.eclipse使用教程: https://j ...

  4. 完美解决Android在listview添加checkbox实现单选多选操作问题

    在Android某些开发需求当中,有时候需要在listveiw中加入checkbox实现单选,多选操作.表面上看上去只是改变checkbox那么简单,然而实际开发中,实现起来并不是那么得心应手.尤其当 ...

  5. jQuery读取和设定KindEditor值的方法

    转载自:https://www.jb51.net/article/43595.htm 侵删 jQuery读取和设定KindEditor值的方法 更新时间:2013年11月22日 09:03:56   ...

  6. swift 2特性记录

    swift 团队一直在优化,让大家准备在秋天的时候,迁移到swift2做准备. 一.错误处理 异常处理,不是NSError对象和双指针. 可以使用 throws   来指定方法来抛出一个错误. 调用d ...

  7. linux 跳过登陆修改用户密码

      2017-02-11 20:41 6人阅读 评论(0) 收藏 编辑 删除  分类: Linux 版权声明:本文为博主原创文章,未经博主允许不得转载. Linux 系统默认的是有0 1 2  3   ...

  8. bootstrapValidator 如何重新启用提交按钮

    bootstrapValidator 使用中,由于字段检查等原因,致使提交按钮失效.如何重新启用提交按钮呢? 下面一句代码可以实现启用提交按钮: $('#loginForm').bootstrapVa ...

  9. Filter过滤器,xml配置与页面不乱码整理

    1.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ...

  10. mysql decimal类型与decimal长度用法详解

    三者的区别介绍 float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位) double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E ...