Drupal8

DRUPAL8模块开发 - DRUPAL8数据库API - 删除语句

drupal开发中,删除查询必须始终使用查询生成器对象。Drupal使用delete()方法如下:$num_deleted = $connection->delete('mytable') ->condition('myfield', 5) ->execute();

DRUPAL8模块开发 - DRUPAL8数据库API - 合并查询

Drupal开发中,合并查询是一种特殊类型的混合查询。虽然在SQL 2003规范中为它们定义了语法,但实际上没有数据库支持标准语法。然而,大多数使用特定于数据库的语法提供一些替代的实现。Drupal中的合并查询生成器将合并查询的概念抽象为结构化对象,该结构对象可以被编译成每个数据库的适当语法。这些有时被称为“UPSERT”查询,UPDATE 和INSERT的组合。

DRUPAL8模块开发 - DRUPAL8数据库API - 更新查询

在Drupal开发中,更新查询必须始终使用查询生成器对象。某些数据库需要特殊处理LOB(大对象,如文本对MySQL)和BLOB(二进制大对象)的领域,所以一个抽象层必须允许个人数据库驱动程序执行任何特殊处理要求。

DRUPAL8模块开发 - DRUPAL8数据库API - 插入数据(二)

DRUPAL8数据库API - 插入数据第二节中,我们介绍了多插入语句、基于选择查询的结果插入、默认值的使用。Drupal开发中,插入查询对象也可以采用多个值集。也就是说,可以多次调用Values()来将多个INSERT语句并入。究竟如何发生将取决于所讨论的数据库的能力。在大多数数据库中,多个INSERT语句将在事务内部一起执行,以获得更大的数据完整性和速度。在MySQL中,它将使用MySQL的多值插入语法。

DRUPAL8模块开发 - DRUPAL8数据库API - 插入数据(一)

Drupal开发中,插入查询必须始终使用查询生成器对象。某些数据库需要对LoB(大型对象,如MySQL中的文本)和BLB(二进制大对象)字段进行特殊处理,因此需要一个抽象层来允许各个数据库驱动程序执行它们所需的任何特殊处理。使用INSERT()方法启动插入查询如下:

DRUPAL8模块开发 - DRUPAL8数据库API - 取(结果)到一个自定义对象中

Drupal开发中,查询可以基于自定义类获取到对象中。例如,如果我们有一个名为ExampleClass的类,下面的查询将返回示例类的对象。

DRUPAL8模块开发 - DRUPAL8数据库API - 结果集

Drupal8或者Drupal7的选择查询将始终返回一个零或多个记录的结果集对象。根据用例,在Drupal开发过程中有几种方法可以从结果集检索数据。最常见的情况是用 foreach()循环迭代结果集

DRUPAL8模块开发 - DRUPAL8数据库API - 函数和操作

Drupal8的数据库层不提供SQL函数的跨数据库抽象。对于支持的数据库引擎的可移植性,各位Drupal开发者的代码应该只使用已知的ANSI标准的一部分,并支持Drupal8支持的所有数据库。下面是一个仍然不完整的列表。这里推荐使用的表单,因为其他语法变体可能对所有数据库都不起作用

DRUPAL8模块开发 - DRUPAL8数据库API - Expressions

Drupal8查询语句创建器支持在字段中使用expressions, 比如“所有的名字字段的数量”。请注意,许多表达式可以使用SQL函数,并不是所有SQL函数都在所有数据库中都是标准化的。只有模块开发人员才能确保只使用跨数据库兼容的表达式。

DRUPAL8模块开发 - DRUPAL8数据库API - 关于Drupal8动态查询的介绍

1、关于Drupal8动态查询的介绍;动态查询指的是由Drupal8动态生成的查询,而不是作为显式查询字符串提供的查询。 所有的插入、更新、删除、合并语句都必需是动态查询,选择语句可以是动态查询或者静态查询,隐藏,动态查询通常关联动态的选择查询。 注意:在90%的选择查询例子中,你科选择静态查询,如果从性能优先的角度考虑,你应该使用query()而不是select();

Pages