国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

directory search
Array Array Helper Benchmarking Benchmarking Class Caching Caching Driver Calendaring Calendaring Class CAPTCHA CAPTCHA Helper Config Config Class Cookie Cookie Helper Database Connecting to your Database Custom Function Calls Database Caching Class Database Configuration Database Forge Class Database Metadata Database Quick Start: Example Code Database Reference Database Utility Class DB Driver Reference Generating Query Results Queries Query Builder Class Query Helper Methods Transactions Date Date Helper Directory Directory Helper Download Download Helper Email Email Class Email Helper Encrypt Encrypt Class Encryption Encryption Library File File Helper File Uploading File Uploading Class Form Form Helper Form Validation Form Validation FTP FTP Class Functions compatibility_functions common_functions HTML HTML Helper HTML Table HTML Table Class Image Manipulation Image Manipulation Class Inflector Inflector Helper Input Input Class Javascript Javascript Class Language Language Class Language Helper Loader Loader Class Migrations Migrations Class Number Number Helper Output Output Class Pagination Pagination Class Path Path Helper Security Security Class Security Helper Session Session Library Shopping Cart Shopping Cart Class Smiley Smiley Helper String String Helper Template Parser Template Parser Class Text Text Helper Trackback Trackback Class Typography Typography Class Typography Helper Unit Testing Unit Testing Class URI URL User Agent XML XML-RPC and XML-RPC Server Zip Encoding Zip Encoding Class XML-RPC and XML-RPC Server Classes XML Helper User Agent Class URL Helper URI Class
characters

Database Forge類(lèi)包含幫助您管理數(shù)據(jù)庫(kù)的方法。

目錄

  • 數(shù)據(jù)庫(kù)偽造類(lèi)

    • 添加字段

    • 添加鍵

    • 創(chuàng)建一個(gè)表格

    • 丟下一張桌子

    • 重命名表

    • 初始化Forge類(lèi)

    • 創(chuàng)建和刪除數(shù)據(jù)庫(kù)

    • 創(chuàng)建和刪除表格

 -  [修改表格](about:blank#修改表格)    
     -  [向列添加列](about:blank#將列添加到表中)    
     -  [從表中刪除列](about:blank#從表中刪除列)    
     -  [修改表格中的列](about:blank#modify-a-column-in-a-table)
 -  [類(lèi)參考](about:blank#class-reference)

初始化Forge類(lèi)

重要

為了初始化Forge類(lèi),您的數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序必須已經(jīng)運(yùn)行,因?yàn)閒orge類(lèi)依賴(lài)它。

按如下所示加載Forge類(lèi):

$this->load->dbforge()

您還可以將另一個(gè)數(shù)據(jù)庫(kù)對(duì)象傳遞給DB Forge加載程序,以防您要管理的數(shù)據(jù)庫(kù)不是默認(rèn)數(shù)據(jù)庫(kù):

$this->myforge = $this->load->dbforge($this->other_db, TRUE);

在上面的例子中,我們傳遞一個(gè)自定義的數(shù)據(jù)庫(kù)對(duì)象作為第一個(gè)參數(shù),然后告訴它返回dbforge對(duì)象,而不是直接指定給它$this->dbforge。

注意

這兩個(gè)參數(shù)都可以單獨(dú)使用,只要傳遞一個(gè)空值作為第一個(gè)參數(shù)就可以跳過(guò)它。

初始化后,您將使用該$this->dbforge對(duì)象訪問(wèn)方法:

$this->dbforge->some_method();

創(chuàng)建和刪除數(shù)據(jù)庫(kù)

$this->dbforge->create_database(‘db_name’)

允許您創(chuàng)建在第一個(gè)參數(shù)中指定的數(shù)據(jù)庫(kù)。根據(jù)成功或失敗返回TRUE / FALSE:

if ($this->dbforge->create_database('my_db')){
        echo 'Database created!';}

$this->dbforge->drop_database(‘db_name’)

允許您刪除第一個(gè)參數(shù)中指定的數(shù)據(jù)庫(kù)。根據(jù)成功或失敗返回TRUE / FALSE:

if ($this->dbforge->drop_database('my_db')){
        echo 'Database deleted!';}

創(chuàng)建和刪除表格

創(chuàng)建表格時(shí),您可能希望做幾件事情。添加字段,將關(guān)鍵字添加到表中,更改列。CodeIgniter為此提供了一種機(jī)制。

添加字段

字段通過(guò)關(guān)聯(lián)數(shù)組創(chuàng)建。在數(shù)組中,您必須包含與該字段的數(shù)據(jù)類(lèi)型相關(guān)的“類(lèi)型”鍵。例如,INT,VARCHAR,TEXT等。許多數(shù)據(jù)類(lèi)型(例如VARCHAR)也需要一個(gè)'約束'鍵。

$fields = array(        
    'users' => array(                
        'type' => 'VARCHAR',                
        'constraint' => '100',        
    ),
);// will translate to "users VARCHAR(100)" when the field is added.

另外,可以使用以下鍵/值:

  • unsigned / true:在字段定義中生成“UNSIGNED”。

  • 默認(rèn)值/值:在字段定義中生成默認(rèn)值。

  • null / true:在字段定義中生成“NULL”。沒(méi)有這個(gè),該字段將默認(rèn)為“NOT NULL”。

  • auto_increment / true:在該字段上生成一個(gè)auto_increment標(biāo)志。請(qǐng)注意,字段類(lèi)型必須是支持此類(lèi)型的類(lèi)型,例如整數(shù)。

  • 唯一/真實(shí):為字段定義生成唯一鍵。

$fields = array(        
    'blog_id' => array(                
            'type' => 'INT',                
            'constraint' => 5,                
            'unsigned' => TRUE,                
            'auto_increment' => TRUE
            ),
    'blog_title' => array(                
            'type' => 'VARCHAR',                
            'constraint' => '100',                
            'unique' => TRUE,        
            ),        
    'blog_author' => array(                
            'type' =>'VARCHAR',                
            'constraint' => '100',                
            'default' => 'King of Town',        
            ),        
    'blog_description' => array(                
            'type' => 'TEXT',                
            'null' => TRUE,        
            ),
);

在字段被定義之后,可以使用它們添加,$this->dbforge->add_field($fields);然后調(diào)用該create_table()方法。

$this->dbforge->add_field()

添加字段方法將接受上述數(shù)組。

將字符串作為字段傳遞

如果您確切知道如何創(chuàng)建字段,則可以使用add_field()將字符串傳遞到字段定義中

$this->dbforge->add_field("label varchar(100) NOT NULL DEFAULT 'default label'");

注意

將原始字符串作為字段傳遞后,不能add_key()在這些字段上進(jìn)行調(diào)用。

注意

多次調(diào)用add_field()是累積的。

創(chuàng)建一個(gè)ID字段

創(chuàng)建ID字段有一個(gè)特殊的例外。類(lèi)型為id的字段將被自動(dòng)分配為INT(9)auto_incrementing主鍵。

$this->dbforge->add_field('id');// gives id INT(9) NOT NULL AUTO_INCREMENT

添加鍵

一般來(lái)說(shuō),你會(huì)希望你的桌子有鑰匙。這是通過(guò)$ this-> dbforge-> add_key('field')完成的。將可選的第二個(gè)參數(shù)設(shè)置為T(mén)RUE將使其成為主鍵。請(qǐng)注意,add_key()后面必須跟調(diào)用create_table()。

多列非主鍵必須作為數(shù)組發(fā)送。下面的示例輸出是針對(duì)MySQL的。

$this->dbforge->add_key('blog_id', TRUE);// gives PRIMARY KEY `blog_id` (`blog_id`)
$this->dbforge->add_key('blog_id', TRUE);
$this->dbforge->add_key('site_id', TRUE);// gives PRIMARY KEY `blog_id_site_id` (`blog_id`, `site_id`)
$this->dbforge->add_key('blog_name');// gives KEY `blog_name` (`blog_name`)
$this->dbforge->add_key(array('blog_name', 'blog_label'));// gives KEY `blog_name_blog_label` (`blog_name`, `blog_label`)

創(chuàng)建一個(gè)表格

在聲明了字段和鍵后,可以使用創(chuàng)建一個(gè)新表

$this->dbforge->create_table('table_name');// gives CREATE TABLE table_name

將可選的第二個(gè)參數(shù)設(shè)置為T(mén)RUE會(huì)將“IF NOT EXISTS”子句添加到定義中

$this->dbforge->create_table('table_name', TRUE);// gives CREATE TABLE IF NOT EXISTS table_name

你也可以傳遞可選的表屬性,比如MySQL的ENGINE

$attributes = array('ENGINE' => 'InnoDB');
$this->dbforge->create_table('table_name', FALSE, $attributes);// produces: CREATE TABLE `table_name` (...) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

注意

除非您指定CHARACTER SET和/或COLLATE屬性,create_table()否則將始終使用您配置的char_setdbcollat值添加它們,只要它們不為空(僅限MySQL)。

丟下一張桌子

執(zhí)行DROP TABLE語(yǔ)句并可選擇添加IF EXISTS子句。

// Produces: DROP TABLE table_name$this->dbforge->drop_table('table_name');// Produces: DROP TABLE IF EXISTS table_name
$this->dbforge->drop_table('table_name',TRUE);

重命名表

執(zhí)行TABLE重命名

$this->dbforge->rename_table('old_table_name', 'new_table_name');// gives ALTER TABLE old_table_name RENAME TO new_table_name

修改表格

向表中添加一列

$this->dbforge->add_column()

add_column()方法用于修改現(xiàn)有的表。它接受與上面相同的字段數(shù)組,并且可以用于無(wú)限數(shù)量的附加字段。

$fields = array(        'preferences' => array('type' => 'TEXT'));
$this->dbforge->add_column('table_name', $fields);// Executes: ALTER TABLE table_name ADD preferences TEXT

如果您使用的是MySQL或CUBIRD,那么您可以利用它們的AFTER和FIRST子句來(lái)定位新列。

例子:

// Will place the new column after the `another_field` column:
$fields = array(        'preferences' => array('type' => 'TEXT', 'after' => 'another_field'));// Will place the new column at the start of the table definition:$fields = array(        'preferences' => array('type' => 'TEXT', 'first' => TRUE));

從表中刪除一列

$this->dbforge->drop_column()

用于從表格中刪除一列。

$this->dbforge->drop_column('table_name', 'column_to_drop');

修改表中的列

$this->dbforge->modify_column()

這種方法的用法add_column()與之相同,只是它改變了現(xiàn)有的列而不是添加新的列。為了更改名稱(chēng),您可以在定義數(shù)組的字段中添加一個(gè)“名稱(chēng)”鍵。

$fields = array(        
        'old_name' => array(                
                    'name' => 'new_name',                
                    'type' => 'TEXT',        
                    ),
                );
$this->dbforge->modify_column('table_name', $fields);// gives ALTER TABLE table_name CHANGE old_name new_name TEXT

類(lèi)參考

class CI_DB_forgeadd_column($table[, $field = array()[, $_after = NULL]])

參數(shù):

$ table(string) - 將列添加到$ field(array)的列名 - 列定義$ _after(string) -  AFTER子句的列(不建議使用)

返回:

成功為T(mén)RUE,失敗為FALSE

返回類(lèi)型:

布爾

  • $ tablestring) - 要添加列的表名

  • $ fieldarray) - 列定義(s)

  • $ _after字符串) -  AFTER子句的列(不建議使用)

返回:成功時(shí)為T(mén)RUE,失敗時(shí)為FALSE
返回類(lèi)型:布爾值
向表中添加一列。用法:請(qǐng)參閱[將列添加到表](about:blank#將列添加到表)。

add_field($field)

參數(shù):

$ field(array) - 要添加的字段定義

返回:

CI_DB_forge實(shí)例(方法鏈接)

返回類(lèi)型:

CI_DB_forge

  • $ fieldarray) - 要添加的字段定義

返回:CI \ _DB \ _forge實(shí)例(方法鏈接)
返回類(lèi)型:CI \ _DB \ _forge
向?qū)⒂糜趧?chuàng)建表的集添加一個(gè)字段。用法:請(qǐng)參閱[添加字段](關(guān)于:空白#添加字段)。

add_key($key[, $primary = FALSE])

參數(shù):

$ key(array) - 鍵字段的名稱(chēng)$ primary(bool) - 如果它應(yīng)該是主鍵或常規(guī)鍵,則設(shè)置為T(mén)RUE

返回:

CI_DB_forge實(shí)例(方法鏈接)

返回類(lèi)型:

CI_DB_forge

  • $ key數(shù)組) - 一個(gè)關(guān)鍵字段的名稱(chēng)

  • $ primarybool) - 如果它應(yīng)該是主鍵或常規(guī)鍵,則設(shè)置為T(mén)RUE

返回:CI \ _DB \ _forge實(shí)例(方法鏈接)
返回類(lèi)型:CI \ _DB \ _forge
向?qū)⒂糜趧?chuàng)建表的集添加一個(gè)密鑰。用法:請(qǐng)參閱[添加密鑰](關(guān)于:空白#添加密鑰)。

create_database($db_name)

參數(shù):

$ db_name(string) - 要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)的名稱(chēng)

返回:

成功為T(mén)RUE,失敗為FALSE

返回類(lèi)型:

布爾

  • $ db_namestring) - 要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)的名稱(chēng)

返回:成功時(shí)為T(mén)RUE,失敗時(shí)為FALSE
返回類(lèi)型:布爾值
創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)。用法:請(qǐng)參閱[創(chuàng)建和刪除數(shù)據(jù)庫(kù)](關(guān)于:空白#創(chuàng)建和刪除數(shù)據(jù)庫(kù))。

create_table($table[, $if_not_exists = FALSE[, array $attributes = array()]])

參數(shù):

$ table(string) - 要?jiǎng)?chuàng)建的表的名稱(chēng)$ if_not_exists(string) - 設(shè)置為T(mén)RUE以添加'IF NOT EXISTS'子句$ attributes(string) - 表屬性的關(guān)聯(lián)數(shù)組

返回:

成功為T(mén)RUE,失敗為FALSE

返回類(lèi)型:

布爾

  • $ tablestring) - 要?jiǎng)?chuàng)建的表的名稱(chēng)

  • $ if_not_existsstring) - 設(shè)置為T(mén)RUE以添加'IF NOT EXISTS'子句

  • $ attributesstring) - 表格屬性的關(guān)聯(lián)數(shù)組

返回:成功時(shí)為T(mén)RUE,失敗時(shí)為FALSE
返回類(lèi)型:布爾值
創(chuàng)建一個(gè)新表。用法:請(qǐng)參閱[創(chuàng)建表格](關(guān)于:空白#創(chuàng)建表格)。

drop_column($table, $column_name)

參數(shù):

$ table(string) - 表名$ column_name(array) - 要?jiǎng)h除的列名

返回:

成功為T(mén)RUE,失敗為FALSE

返回類(lèi)型:

布爾

  • $ tablestring) - 表名

  • $ column_namearray) - 要?jiǎng)h除的列名稱(chēng)

返回:成功時(shí)為T(mén)RUE,失敗時(shí)為FALSE
返回類(lèi)型:布爾值
從表中刪除一列。用法:請(qǐng)參見(jiàn)[從表中刪除列](about:blank#從表中刪除列)。

drop_database($db_name)

參數(shù):

$ db_name(字符串) - 要?jiǎng)h除的數(shù)據(jù)庫(kù)的名稱(chēng)

返回:

成功為T(mén)RUE,失敗為FALSE

返回類(lèi)型:

布爾

  • $ db_name字符串) - 要?jiǎng)h除的數(shù)據(jù)庫(kù)的名稱(chēng)

返回:成功時(shí)為T(mén)RUE,失敗時(shí)為FALSE
返回類(lèi)型:布爾值
丟棄數(shù)據(jù)庫(kù)。用法:請(qǐng)參閱[創(chuàng)建和刪除數(shù)據(jù)庫(kù)](關(guān)于:空白#創(chuàng)建和刪除數(shù)據(jù)庫(kù))。

drop_table($table_name[, $if_exists = FALSE])

參數(shù):

$ table(string) - 要?jiǎng)h除的表的名稱(chēng)$ if_exists(string) - 設(shè)置為T(mén)RUE以添加'IF EXISTS'子句

返回:

成功為T(mén)RUE,失敗為FALSE

返回類(lèi)型:

布爾

  • $ tablestring) - 要?jiǎng)h除的表的名稱(chēng)

  • $ if_existsstring) - 設(shè)置為T(mén)RUE以添加'IF EXISTS'子句

返回:成功時(shí)為T(mén)RUE,失敗時(shí)為FALSE
返回類(lèi)型:布爾值
丟下一張桌子。用法:請(qǐng)參閱[刪除表](關(guān)于:空白#刪除表)。

modify_column($table, $field)

參數(shù):

$ table(string) - 表名$ field(array) - 列定義(s)

返回:

成功為T(mén)RUE,失敗為FALSE

返回類(lèi)型:

布爾

  • $ tablestring) - 表名

  • $ fieldarray) - 列定義(s)

返回:成功時(shí)為T(mén)RUE,失敗時(shí)為FALSE
返回類(lèi)型:布爾值
修改表格列。用法:請(qǐng)參見(jiàn)[修改表格中的列](about:blank#modify-a-column-in-a-table)。

rename_table($table_name, $new_table_name)

參數(shù):

$ table(string) - 表中的當(dāng)前值$ new_table_name(string) - 表的新名稱(chēng)

返回:

成功為T(mén)RUE,失敗為FALSE

返回類(lèi)型:

布爾

  • $ tablestring) - 表中的當(dāng)前值

  • $ new_table_name字符串) - 表的新名稱(chēng)

返回:成功時(shí)為T(mén)RUE,失敗時(shí)為FALSE
返回類(lèi)型:布爾值
重命名表格。用法:請(qǐng)參閱[重命名表](about:blank#renaming-a-table)。
Previous article: Next article: