Drupal7中常用的数据库操作实例
作者:
Drupal 7 提供的新功能其中一个就是可以使用 Query Builder and Query Objects 查询生成器来构造查询对象的能力,无需在代码中写原始的SQL语句,一是提高了代码可阅读性,二是兼容所有数据库
1.插入单条记录
复制代码 代码如下:
db_insert("table")->fields(array('field1' => 'value1', 'field2' => 'value2', 'fieldn' => $valuen))->execute();
2.插入多条记录
复制代码 代码如下:
$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();
$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.更新某条记录
复制代码 代码如下:
db_update('imports')
->condition('name', 'Chico')
->fields(array('address' => 'Go West St.'))
->execute();
//等同于:
->condition('name', 'Chico')
->fields(array('address' => 'Go West St.'))
->execute();
//等同于:
UPDATE {imports} SET address = 'Go West St.' WHERE name = 'Chico';
4.删除某条记录
复制代码 代码如下:
db_delete('imports')
->condition('name' => 'Zeppo')
->execute();
->condition('name' => 'Zeppo')
->execute();
5.合并记录
复制代码 代码如下:
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的记录。
->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.对数据库某字段值自动加一或者自增。
复制代码 代码如下:
db_update('example_table')
->expression('count', 'count + 1')
->condition('field1', $some_value)
->expression('field2', 'field2 + :inc', array(':inc' => 2))
->execute();
->expression('count', 'count + 1')
->condition('field1', $some_value)
->expression('field2', 'field2 + :inc', array(':inc' => 2))
->execute();
7.查询数据库某字段为另一别名(alias)
复制代码 代码如下:
$query = db_select('node', 'n');
$query->addField('n', 'name', 'label');
$query->addField('n', 'name', 'value');
$query->addField('n', 'name', 'label');
$query->addField('n', 'name', 'value');
您可能感兴趣的文章:
- js读取被点击次数的简单实例(从数据库中读取)
- sql server 2008数据库连接字符串大全
- 上传图片后使用数据库保存图片的示例分享
- openfiledialog读取txt写入数据库示例
- sql2000数据库清除重复数据的二种方法
- linux数据库备份并通过ftp上传脚本分享
- java使用jdbc操作数据库示例分享
- MySQL数据库命名规范及约定
- net操作access数据库示例分享
- mysql跨数据库复制表(在同一IP地址中)示例
- Drupal7连接多个数据库及常见问题解决
- Drupal读取Excel并导入数据库实例
- sqlserver备份还原数据库功能封装分享
- android通过jxl读excel存入sqlite3数据库
- java自定义动态链接数据库示例
- php把session写入数据库示例
- 在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)
- 四种数据库随机获取10条数据的方法