龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

Yii查询生成器(Query Builder)用法实例教程(6)

时间:2014-09-06 16:10来源:网络整理 作者:网络 点击:
分享到:
createTable() 方法构建和执行一条创建表的SQL语句。$table 参数指定要创建的表的名称。 $columns 参数指定在新表中的列。他们必须被指定为名称类型的键值对

createTable() 方法构建和执行一条创建表的SQL语句。$table 参数指定要创建的表的名称。 $columns 参数指定在新表中的列。他们必须被指定为名称类型的键值对(e.g. 'username'=>'string')。 $options 参数指定应附加到生成的SQL上的任何额外的SQL片段。查询生成器将正确的引用的表名以及列名。

当指定一个列的定义时,可以使用如上所述的抽象数据类型。查询生成器会根据当前使用的数据库管理系统的抽象数据类型转换成相应的物理数据类型。例如,string 类型将被转换为MySQL的 varchar(255)。

一个列定义还可以包含非抽象数据类型或规格。他们将没有任何改变的被放置在生成的SQL中。例如,point 不是一个抽象数据类型,如果用在列定义,它会出现在生成的SQL中,而且 string NOT NULL将被转换varchar(255) NOT NULL(即只有抽象类型的字符串转换)。

下面是一个例子,显示了如何创建一个表:

// CREATE TABLE `tbl_user` (
//   `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
//   `username` varchar(255) NOT NULL,
//   `location` point
// ) ENGINE=InnoDB
createTable('tbl_user', array(
  'id' => 'pk',
  'username' => 'string NOT NULL',
  'location' => 'point',
), 'ENGINE=InnoDB')

renameTable()

function renameTable($table, $newName)

renameTable() 方法创建和执行一条重命名表名的SQL语句。 $table 参数指定要重命名的表的名称。 $newName 参数指定表的新名称。查询生成器将正确引用的表名。

下面是一个示例,演示了如何重命名表:

// RENAME TABLE `tbl_users` TO `tbl_user`
renameTable('tbl_users', 'tbl_user')

dropTable()

function dropTable($table)

dropTable() 方法创建和执行一条删除表的SQL语句。在$table 参数指定要删除的表的名称。查询生成器会正确地引用的表名。

下面是一个示例展示如何删除一个表:

// DROP TABLE `tbl_user`
dropTable('tbl_user')

truncateTable()

function truncateTable($table)

truncateTable() 方法建立和执行一条清空表数据的SQL语句。 $table 参数指定清空的表名。查询生成器会正确地引用的表名。

下面是一个示例显示如何清空表:

// TRUNCATE TABLE `tbl_user`
truncateTable('tbl_user')

addColumn()

function addColumn($table, $column, $type)

addColumn() 方法创建并执行一条添加一个表的新列的SQL语句。 $table 参数指定新列将被添加到的表的名称。 $column 参数指定新列的名称。 $type 指定新列的定义。列定义中可以包含抽象数据类型,如 "createTable"小节中的描述。查询生成器将正确的引用的表名以及列名。

下面是一个示例,演示如何添加一个表的列:

// ALTER TABLE `tbl_user` ADD `email` varchar(255) NOT NULL
addColumn('tbl_user', 'email', 'string NOT NULL')

dropColumn()

function dropColumn($table, $column)

dropColumn() 方法创建和执行一条删除表列的SQL语句。 $table 参数指定要被删除的列所属的表名。 $column 参数指定要被删除的列名。查询生成器将正确地引用的表名以及列名。

下面是一个示例展示如何删除一个表列:

// ALTER TABLE `tbl_user` DROP COLUMN `location`
dropColumn('tbl_user', 'location')

renameColumn()

function renameColumn($table, $name, $newName)

renameColumn() 方法创建和执行一条重命名列的SQL语句。 $table 参数指定要重命名的列所属的表的名称。 $name 参数指定的旧列名。 $newName 指定新的列名。查询生成器将正确地引用的表名以及列名。

精彩图集

赞助商链接