DukeAnn
做一个优雅的程序员

DZ-Discuz X!二次开发或插件开发数据库操作语句集合

NDZDaUNOenlpNUtFZlBTQytpWnE1VStSSTBEU3FjQ0pMVWs5dnViR0l6Y0VVeEVDTmtHaE5BPT0

DZ-Discuz X!二次开发数据库操作语句集合

数据表插入:
方法:
DB::insert()
参数:
$table:插入数据的表
$data:插入的数据,字段对应值
$return_insert_id:是否返回插入数据的ID
$replace:是否使用replace into(当原始表中存在不重复数据就插入,存在就更新)
$silent:操作失败是否不提示

实例
DB::insert('test_db',array(
 'name' => 'ppc',
),true,true);

数据表删除:
方法:
DB::delete()
参数:
$table:删除数据的表
$condition:删除的条件
$limit:删除满足条件的条目数
$unbufered:是否使用无缓存查询

实例:
DB::delete('test_db','id>2',1,true);m

数据表更新:
方法:
DB::update()
参数:
$table:更新数据的表
$data:更新的数据,字段对应值
$condition:更新的条件
$unbufered:是否使用无缓存查询
$low_priority:是否采用无锁表更新

数据表查询(单条):
方法:
DB::fetch_first()
参数:
$sql:查询数据的SQL语句
$arg:绑定查询的参数
$silent:查询失败是否不提示
实例:
$id = $_GET['id'];
DB::fetch_first('select * from %t where id=%d',array(
 'test_db',$id
));

DB::fetch_first('select * from %t where name=%s',array(
 'test_db','ccc'
));



数据表查询(多条):
方法:
DB::fetch_all()
参数:
$sql:查询数据的SQL语句
$arg:绑定查询的参数
$keyfield:一维索引的字段名称
$silent:查询失败是否不提示
实例:
DB::fetch_all('select * from %t where id >= %d AND id<=%d',array(
 'test_db',7,10
));

DB::fetch_all('select * from %t where id IN (%n)',array(
 'test_db',array(1,2,3,4,5)
));

数据表查询(单字段) 常用于统计查询:
方法:
DB::result_first()
参数:
$sql:查询数据的SQL语句
$arg:绑定查询的参数
$silent:查询失败是否不提示
实例:
DB::result_first('select name from %t where id=%d',array(
 'test_db',1
));

DB::result_first('select max(id) from %t',array(
 'test_db'
));

数据库自定义query
方法:
DB::query()
参数:
$sql:自定义SQL语句
$arg:需要绑定的数据
$silent:执行SQL失败时,是否不提示
$unbufered:是否使用无缓存查询
实例:
$query = DB::query("select * from %t where id IN (%n)",array(
 'test_db',array(1,2,3)
));
debug($query);

删除
DB::query("delete from %t where id = %id",array(
 'test_db',11
));


资源集转换结果集
方法:
DB::fetch()
参数:
$resourceid:数据库查询的query资源
$type:数组类型
实例:
查询
$query = DB::query("select * from %t where id IN (%n)",array(
 'test_db',array(1,2,3)
));
while($res = DB::fetch($query)){
   $result[] = $res;
}
debug($query);

单字段资源集转换结果集(一般用于查看获取统计值)
方法:
DB::result()
参数:
$resourceid:数据库查询的query资源
$row:指定行的第一个字段
实例:
$query =  DB::query("select count(*) from %t where id < %id order by id",array(
 'test_db',10
));
$data = DB::result($query,1);

常用实例:
$query = DB::query("select count(*) from %t where id > %d",array(
 'test_db',7
));
$data = DB::result($query,0);
echo $data;

资源集行数计算(不适合统计太多的资源,速度慢)
方法:
DB::num_rows()
参数:
$resourceid:数据库查询的query资源
实例:
$query = DB::query("select * from %t where id > %d",array(
 'test_db',7
));
$data = DB::num_rows($query);
echo $data;

资源集资源释放
方法:
DB::free_result()
参数:
$query:执行SQL语句的query资源
$query = DB::query("select count(*) from %t where id > %d",array(
 'test_db',7
));
$data = DB::result($query,0);
DB::free_result($query);
echo $data;

按字段排序
方法:
DB::order()
参数:
$field:需要排序的字段
$order:排序方式
实例:
$query = DB::query("select * from %t where id > %d order by".DB::order('id','desc'),array(
 'test_db',7
));
$data = DB::result($query,0);
DB::free_result($query);
echo $data;

取值区间设定
方法:
DB::query()
参数:
$start:开始的索引值
$limit:条目数
$query = DB::query("select * from %t where id > %d order by".DB::order('id').DB::limit(0,3),array(
 'test_db',7
));

字段拼接
方法:
DB::implode()
参数:
$array:需要拼接的字段数组
$glue:字段拼接的字符串
实例:
echo DB::implode(array('id' => 10,'name' => 'ddd'),'and');

应用:
DB::query("update %t set".DB::implode(array(
 'name' => 'ddd',
 'id' => 22
)).'where id=%d',array(
 'test_db',
 10,
)
);

字段数据设定
方法:
DB::field()
参数:
$field:需要排序的字段
$val:字段对应的值
$glue:连接字段与值的类型
实例:
DB::field('id', 99, '=');

应用(把3改成99):
DB::query("update %t set ".DB::field('id', '99', =)." where id=%d",array(
 array('test_db', 3);
));
DukeAnn的笔记本:DukeAnn的博客 » DZ-Discuz X!二次开发或插件开发数据库操作语句集合
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址