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:查詢失敗時是否不提示
Discuz!X3.1數據庫的操作(一)