一.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. python入门之random模块

    #!/usr/bin/env python #_*_encoding: utf-8_*_ import random print(random.random()) #生成一个在0到1之间的随机浮点数 ...

  2. 【JavaEE】怎么设置tomcat管理员的用户名和密码

    如果我们输入错误的Tomcat管理员密码,那么就有提示如下: 2 从它的提示信息中,我们就能找到解决方法,请留意上图中标出的位置!   我们首先打开Tomcat的配置文件,具体如下:   我们进入To ...

  3. Docker | 第三章:Docker常用命令

    前言 上一章节,简单介绍了在CentOS下的Docker的安装过程,以及运行了一个官方提供的Hello,World镜像运行了第一个Docker.就像上一章中,验证Docker是否安装成功,我们执行的是 ...

  4. 内容显示分页数字分页 aspx

    此处是aspx里面分页显示,数据层和业务层是由动软生成 当然,我们也可以可以利用listView实现分页ListView(高效分页) public partial class NewList : Sy ...

  5. hibernate课程 初探单表映射1-3 hibernate简介

    1 hibernate定义: Java领域一项开源的orm框架技术: hibernate对jdbc进行轻量级的封装. hibernate 作为持久层存在.就是通过对象关系映射把项目中的对象持久化到数据 ...

  6. ps使用

    1.图片剪裁 1.按快捷键M(矩形选择工具)-> 选中要扣出的图片(按shift可正方形)->按快捷键C(剪裁工具)->双击鼠标选中区域,剪裁成功. 2.选中psd中的图标 1.按快 ...

  7. Counting blessings can actually increase happiness and health by reminding us of the good things in life.

    Counting blessings can actually increase happiness and health by reminding us of the good things in ...

  8. >>我要到处浪系列 之 JS随便投票小脚本

    首先郑重声明:我不是对任何网站或者任何个人或组织有意见,仅仅是觉得 4点几 的评分对某些玩票的片段都太高了,为了落实想法,切实履行公民的投票权,并且 bibibabibobi biubiubiu..所 ...

  9. ubuntu 16.04安装nVidia显卡驱动和cuda/cudnn踩坑过程

    安装深度学习框架需要使用cuda/cudnn(GPU)来加速计算,而安装cuda/cudnn,首先需要安装nvidia的显卡驱动. 我在安装的整个过程中碰到了驱动冲突,循环登录两个问题,以至于最后不得 ...

  10. javascript设计模式之中介者模式

    /* * 小游戏演示中介者模式 * Home 按键 1 * Guest 按键 0 * 半分钟内看谁按下的次数多 * * 参与的对象: * 玩家 * 计分板 * 中介者 * * 中介者模式使对象之间松耦 ...