2 创建数据库表
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
Drupal在安装过程中,一般将数据库表的创建,委托给drupal_install_schema()函数;而drupal_install_schema()负责从模块的schema钩子中获取模式定义,转换为具体数据库上的语法,最后创建相应的表结构。我们回顾一下,第二章中,我们创建的模式:
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
Drupal在安装过程中,一般将数据库表的创建,委托给drupal_install_schema()函数;而drupal_install_schema()负责从模块的schema钩子中获取模式定义,转换为具体数据库上的语法,最后创建相应的表结构。我们回顾一下,第二章中,我们创建的模式:
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们在第2章中已经看到,当我们编写的模块需要创建一个或者多个数据库表来存储信息时,创建和维护表结构的指令都放在了模块的install文件中。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
通过数据库抽象层, Drupal可以支持多个数据库,比如内置支持的MySQL、PostreSQL、SQLite,以及通过第三方模块支持的SqlServer、Oracle等等。除此以外,Drupal在数据库方面,还提供了进一步的支持,这就是使用Schema来描述数据库表结构,这对于那些需要创建自己的数据库表的模块,提供了极大的方便。这样,我们创建好Schema定义,Drupal就能够将其翻译成具体数据库的语法,比如MySQL的、PostreSQL的。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
通过本章的学习,你应该可以
了解数据库API的一般概念
熟悉数据库的配置
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
COUNT(expression)
SUM(expression)
AVG(expression)
MIN(expression)
MAX(expression)
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
日期/时间函数
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
GREATEST(num1, num2)
POW(num1, num2)
LOG(base, value)
RAND()
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
CONCAT(string1, string2)
SUBSTRING(string, from, length)
SUBSTRING_INDEX(string, delimiter, count)
LENGTH(string)