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

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

时间:2014-09-06 16:10来源:网络整理 作者:网络 点击:
分享到:
下面是一个示例,展示了如何重命名表列: // ALTER TABLE `tbl_users` CHANGE `name` `username` varchar(255) NOT NULLrenameColumn('tbl_user', 'name', 'username') alterColumn() function a

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

// ALTER TABLE `tbl_users` CHANGE `name` `username` varchar(255) NOT NULL
renameColumn('tbl_user', 'name', 'username')

alterColumn()

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

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

下面是一个示例,展示了如何更改一个表列:

// ALTER TABLE `tbl_user` CHANGE `username` `username` varchar(255) NOT NULL
alterColumn('tbl_user', 'username', 'string NOT NULL')

addForeignKey()

function addForeignKey($name, $table, $columns,$refTable, $refColumns, $delete=null, $update=null)

addForeignKey() 方法创建和执行一条添加一个外键约束SQL语句。 $name 参数指定外键的名称。 $table 和 $columns 参数指定外键的表名和列名。如果有多个列,他们应该用逗号字符分隔。 $refTable 和 $refColumns 参数指定表名和列名的外键引用。 $delete 和 $update 参数指定 SQL语句中的 ON DELETE 和ON UPDATE选项。大多数的DBMS都支持这些选项:RESTRICT, CASCADE, NO ACTION, SET DEFAULT, SET NULL. 。查询生成器会正确地引用表名,索引名和列名。

下面是一个示例,演示如何添加一个外键约束:

// ALTER TABLE `tbl_profile` ADD CONSTRAINT `fk_profile_user_id`
// FOREIGN KEY (`user_id`) REFERENCES `tbl_user` (`id`)
// ON DELETE CASCADE ON UPDATE CASCADE
addForeignKey('fk_profile_user_id', 'tbl_profile', 'user_id', 'tbl_user', 'id', 'CASCADE', 'CASCADE')

dropForeignKey()

function dropForeignKey($name, $table)

dropForeignKey() 方法创建和执行一条删除一个外键约束的SQL语句。 $name 参数指定的要删除的外键约束的名称。 $table 参数指定外键所属的表的名称。查询生成器将正确地引用的表名以及约束名称。

下面是一个示例,显示了如何删除外键约束:

// ALTER TABLE `tbl_profile` DROP FOREIGN KEY `fk_profile_user_id`
dropForeignKey('fk_profile_user_id', 'tbl_profile')

createIndex()

function createIndex($name, $table, $column, $unique=false)

createIndex() 方法构建和执行一条创建索引的SQL语句。 $name 参数指定要创建的索引的名称。$table 参数指定索引所属的表的名称。$column 参数指定要索引的列的名称。 $unique 参数指定是否创建一个唯一索引。如果索引由多个列,则必须用逗号将它们隔开。查询生成器会正确地引用表名,索引名和列名。

下面是一个示例,显示了如何创建索引:

// CREATE INDEX `idx_username` ON `tbl_user` (`username`)
createIndex('idx_username', 'tbl_user', 'username')

dropIndex()

function dropIndex($name, $table)

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

下面是一个示例,显示了如何删除索引:

// DROP INDEX `idx_username` ON `tbl_user`
dropIndex('idx_username', 'tbl_user')

希望本文所述对大家yii学习有所帮助。

精彩图集

赞助商链接