• Discuz!X3.1数据库的操作(一)


    数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的余度、与应用程序彼此独立的数据集合。产品中的主题,帖子,用户,关注等等。所有数据都存储在数据库中。

    官方数据字典

    http://faq.comsenz.com/library/database/x3/x3_index.htm

    数据库规范

    http://dev.discuz.org/wiki/index.php?title=编码规范

    数据表插入操作

    方法名:DB::insert()

    1
    2
    3
    4
    5
    <?php
        DB::insert('test_db',array(
              'dname' => 'ppc',
        ),true);
    ?>

    参数解释:

    $table:插入数据的表

    $data:插入的数据,字段对应值

    $return_insert_id:是否返回插入数据的ID

    $replace:是否使用replace into

    1
    2
    3
    4
    5
    6
    7
    <?php
        //$replace 当存在数据执行修改,不存在执行写入
        DB::insert('test_db',array(
              'did' => '1',
              'dname' => 'ppc',
        ),true,true);
    ?>

    $slient:操作失败是否不提示

    数据表删除操作

    方法名:DB::delete()

    1
    2
    3
    <?php
        DB::delete('test_db','dId=4',1,true)
    ?>

    参数解释:

    $table:删除数据的表

    $condition:删除条件

    $limit:删除满足条件的目数

    $unbuffered:是否使用无缓存查询

    数据表更新操作

    方法名:DB::update()

    1
    2
    3
    4
    5
    <?php
            DB::update('test_db',array(
                  'dName' => 'ppc2'
            ),'dId=5',true);
    ?>

    插入的值如果是变量用array()

    1
            DB::update('borle_do',array('countMoney' => $countMoney),array('doId'=> $doId),true);}

    参数解释:

    $table:(更新数据的表)

    $data:更新的数据,字段对应的

    $condition:更新的条件

    $unbuffrerd:是否使用无缓存查询

    $low_priority:是否采用无损更新表

    绑定查询的参数解释

    表达式 数据处理
    %t DB::table()
    %d Intval()
    %s addslashes
    %n IN(1,2,3)
    %f Sprintf(‘%f,%var’)
    %i 不做任何处理

    数据表查询操作(单条)

    方法名:DB::fetch_first()

    1
    2
    3
    4
    5
    6
    7
    <?php 
           $dId 5;//可以使用$dId = '2admin',输出2,由于Intval()将指转换为2
           $data = DB::fetch_first('select * from %t where dId=%d',
                   array('test_db',$dId)
           );
           print_r($data);
    ?>

    参数解释:

    $sql:查询数据的sql语句

    $arg:绑定查询的参数

    $silent:查询失败时是否不提示

    数据表查询操作(多条)

    方法名:DB::fetch_all()

    1
    2
    3
    4
    5
    6
    7
    8
    <?php 
        $data = DB::fetch_all("select * from %t where dId>=%d and dId<=%d",
                array('test_db',1,9),
                'dId'
        );
        
        print_r($data);
    ?>

    通过%n进行数据查询

    1
    2
    3
    4
    5
    6
    7
    <?php 
        //%n表示array(1,2,3,4,5,6)
        $data = DB::fetch_all("select * from %t where dId in (%n)",
                 array('test_db',array(1,2,3,4,5,6))
        );
        print_r($data);
    ?>

    参数解释:

    $sql:查询数据的SQL语句

    $arg:绑定查询的参数

    $keyfield:一维索引的字段名称

    $silent:查询失败的是否不提示

    数据表查询操作(单字段)

    方法名:DB::result_first()

    1
    2
    3
    4
    5
    6
    7
    <?php 
        //查询dName字段id=1的数据
        $data = DB::result_first("select dName from %t where dId=%d",
                 array('test_db',1)
        );
        echo $data;
    ?>

    比较常用语统计查询

    1
    2
    3
    4
    5
    6
    <?php 
        $data = DB::result_first("select count(*) from %t",
                array('test_db')
        );
        echo $data;
    ?>

    取最大值id

    1
    2
    3
    4
    5
    6
    <?php 
        $data = DB::result_first("select max(dId) from %t",
                array('test_db')
        );
        echo $data;
    ?>

    参数解释:

    $sql:查询数据的sql语句

    $arg:绑定查询的参数

    $silent:查询失败时是否不提示

  • 相关阅读:
    事务处理多数据库的方法
    微信定位js
    linux命令大全
    git团队协作
    springboot入门的一点基础
    Spring Boot Actutaur + Telegraf + InFluxDB + Grafana 构建监控平台
    Hadoop+HBase+ZooKeeper三者关系与安装配置
    Centos7网络配置-转载
    【Java EE 学习 21 下】【 使用易宝支付接口实现java网上支付功能】
    linux 中 iptables关于ping的问题
  • 原文地址:https://www.cnblogs.com/alleyonline/p/7498571.html
Copyright © 2020-2023  润新知