Drupal7中常用的数据库操作实例


Posted in PHP onMarch 02, 2014

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();

3.更新某条记录

db_update('imports')
   ->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();

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的记录。

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

db_update('example_table')
  ->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');
PHP 相关文章推荐
兼容性最强的PHP生成缩略图的函数代码(修改版)
Jan 18 PHP
php中利用post传递字符串重定向的实现代码
Apr 21 PHP
PHP图片自动裁切应付不同尺寸的显示
Oct 16 PHP
如何实现php图片等比例缩放
Jul 28 PHP
PHP比较运算符的详细介绍
Sep 29 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 PHP
深入理解PHP中的empty和isset函数
May 26 PHP
Yii使用smsto短信接口的函数demo示例
Jul 13 PHP
微信随机生成红包金额算法php版
Jul 21 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
May 29 PHP
PHP字符串中抽取子串操作实例分析
Jun 22 PHP
深入解析PHP底层机制及相关原理
Dec 11 PHP
php设计模式之命令模式使用示例
Mar 02 #PHP
php接口和抽象类使用示例详解
Mar 02 #PHP
php通过字符串调用函数示例
Mar 02 #PHP
php多维数组去掉重复值示例分享
Mar 02 #PHP
PHP 函数call_user_func和call_user_func_array用法详解
Mar 02 #PHP
PHP 字符串长度判断效率更高的方法
Mar 02 #PHP
PHP static局部静态变量和全局静态变量总结
Mar 02 #PHP
You might like
用定制的PHP应用程序来获取Web服务器的状态信息
2006/10/09 PHP
PHP的FTP学习(一)
2006/10/09 PHP
php SQL防注入代码集合
2008/04/25 PHP
php 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
PHP中常用的魔术方法
2017/04/28 PHP
JavaScript Distilled 基础知识与函数
2010/04/07 Javascript
JS 无限级 Select效果实现代码(json格式)
2011/08/30 Javascript
appendChild() 或 insertBefore()使用与区别介绍
2013/10/11 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
2015/04/16 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
分享jQuery封装好的一些常用操作
2016/07/28 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
2016/10/05 Javascript
ionic2 tabs 图标自定义实例
2017/03/08 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
原生js实现form表单序列化的方法
2018/08/02 Javascript
详解微信小程序网络请求接口封装实例
2019/05/02 Javascript
[05:20]卡尔工作室_DOTA2新手教学_DOTA2超强新手功能
2013/04/22 DOTA
[08:47]2018国际邀请赛 OG战队举杯时刻
2018/08/29 DOTA
跟老齐学Python之从if开始语句的征程
2014/09/14 Python
Python语言描述最大连续子序列和
2017/12/05 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
2020/03/12 Python
python将数据插入数据库的代码分享
2020/08/16 Python
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
事业单位公务员的职业生涯规划
2014/01/15 职场文书
三提三创主题教育活动查摆整改措施
2014/10/25 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
2015年设计师个人工作总结
2015/04/25 职场文书
公司档案管理制度
2015/08/05 职场文书
Pytest之测试命名规则的使用
2021/04/16 Python
SpringAop日志找不到方法的处理
2021/06/21 Java/Android