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:查詢失敗時是否不提示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM