Drupal 7操作数据库常用sql(更新,删除,查询)
发布:smiling 来源: PHP粉丝网 添加日期:2014-12-05 13:54:05 浏览: 评论:0
本文章总结了在Drupal 7中数据库的插入保存,删除记录,更新指定记录及合并记录等等代码片段了,希望本文章对你带来帮助.
Drupal 7 提供的新功能其中一个就是可以使用 Query Builder and Query Objects 查询生成器来构造查询对象的能力,无需在代码中写原始的SQL语句,一是提高了代码可阅读性,二是兼容所有数据库.
插入单条记录,代码如下:
- db_insert("table")->fields(array('field1' => 'value1', 'field2' => 'value2', 'fieldn' => $valuen))->execute();插入多条记录
- $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();
更新某条记录,代码如下:
- db_update('imports')
- ->condition('name', 'Chico')
- ->fields(array('address' => 'Go West St.'))
- ->execute();
等同于如下代码:
UPDATE {imports} SET address = 'Go West St.' WHERE name = 'Chico';
删除某条记录,代码如下:
- db_delete('imports')
- ->condition('name' => 'Zeppo')
- ->execute();
合并记录,代码如下:
- db_merge('people')
- ->key(array('job' => 'Speaker'))
- ->insertFields(array('age' => 31,'name' => 'Meredith'))
- ->updateFields(array('name' => 'www.phpfensi.com'))
- ->execute();
如果存在job为Speaker的一条记录,则更新name为www.phpfensi.com,如果不存在,就插入一条age为31,name为Meredith,job为Speaker的记录.
对数据库某字段值自动加一或者自增,代码如下:
- db_update('example_table')
- ->expression('count', 'count + 1')
- ->condition('field1', $some_value)
- ->expression('field2', 'field2 + :inc', array(':inc' => 2))
- ->execute();
查询数据库某字段为另一别名(alias),代码如下:
- $query = db_select('node', 'n');
- $query->addField('n', 'name', 'label');
- $query->addField('n', 'name', 'value');
Tags: Drupal7 Drupal7常用sql
相关文章
- ·Drupal 7自定义表单开发要点与例子(2014-12-05)
- ·Drupal7通过form API 建立无刷新的图片上传功能的四个方法(2015-12-07)
- ·Drupal7使用Entity metadata wrappers (Entity API)教程(2015-12-07)
- ·Drupal7 form表单二次开发要点与实例(2020-10-06)
- ·Drupal7中常用的数据库操作实例(2020-10-06)
- ·Drupal7连接多个数据库及常见问题解决(2020-10-06)
- ·Drupal7连接多个数据库及常见问题解决(2020-10-12)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)