drupal7常用数据库操作实例

发布时间:2020-10-30编辑:脚本学堂
本文介绍了drupal7常用数据库操作的一些例子,学习下drupal7数据库操作方法,有需要的朋友参考下。

drupal 7 提供的新功能其中一个就是可以使用 query builder and query objects 查询生成器来构造查询对象的能力,无需在代码中写原始的sql语句,一是提高了代码可阅读性,二是兼容所有数据库

具体操作如下:
 
1,插入单条记录
 

复制代码 代码示例:
db_insert("table")->fields(array('field1' => 'value1', 'field2' => 'value2', 'fieldn' => $valuen))->execute();

2,插入多条记录
 

复制代码 代码示例:
<?php
$values[] = array('field1' => 'val1', 'field2' => 'val2', 'fieldn' => $valn);
$values[] = array('field1' => 'value1', 'field2' => 'value2', 'fieldn' => $valuen);
$query = db_insert(‘table')->fields(array('field1', 'field2', 'fieldn'));
foreach ($values as $record) {
   $query->values($record);
}
$query->execute();

3,更新某条记录
 

复制代码 代码示例:
<?php
db_update('imports')
   ->condition('name', 'chico')
   ->fields(array('address' => 'go west st.'))
   ->execute();
//等同于:
update {imports} set address = 'go west st.' where name = 'chico';

4,删除某条记录
 

复制代码 代码示例:
<?php
db_delete('imports')
   ->condition('name' => 'zeppo')
   ->execute();

5,合并记录
 

复制代码 代码示例:
<?php
db_merge('people')
  ->key(array('job' => 'speaker'))
  ->insertfields(array('age' => 31,'name' => 'meredith'))
  ->updatefields(array('name' => 'tiffany'))
  ->execute();
//如果存在job为speaker的一条记录,则更新name为tiffany,如果不存在,就插入一条age为31,name为meredith,job为speaker的记录。

6,对数据库某字段值自动加一或者自增。
 

复制代码 代码示例:
<?php
db_update('example_table')
  ->expression('count', 'count + 1')
  ->condition('field1', $some_value)
  ->expression('field2', 'field2 + :inc', array(':inc' => 2))
  ->execute();

7,查询数据库某字段为另一别名(alias
 

复制代码 代码示例:
<?php
$query = db_select('node', 'n');
$query->addfield('n', 'name', 'label');
$query->addfield('n', 'name', 'value');