亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄 搜尋
歡迎 目錄 快速參考圖 基本信息 服務(wù)器要求 許可協(xié)議 變更記錄 關(guān)于CodeIgniter 安裝 下載 CodeIgniter 安裝指導(dǎo) 從老版本升級(jí) 疑難解答 介紹 開始 CodeIgniter 是什么? CodeIgniter 速記表 支持特性 應(yīng)用程序流程圖 模型-視圖-控制器 架構(gòu)目標(biāo) 教程 內(nèi)容提要 加載靜態(tài)內(nèi)容 創(chuàng)建新聞條目 讀取新聞條目 結(jié)束語 常規(guī)主題 CodeIgniter URL 控制器 保留字 視圖 模型 輔助函數(shù) 使用 CodeIgniter 類庫 創(chuàng)建你自己的類庫 使用 CodeIgniter 適配器 創(chuàng)建適配器 創(chuàng)建核心系統(tǒng)類 鉤子 - 擴(kuò)展框架的核心 自動(dòng)裝載資源 公共函數(shù) URI 路由 錯(cuò)誤處理 緩存 調(diào)試應(yīng)用程序 以CLI方式運(yùn)行 管理應(yīng)用程序 處理多環(huán)境 PHP替代語法 安全 開發(fā)規(guī)范 類庫參考 基準(zhǔn)測(cè)試類 日歷類 購物車類 配置類 Email 類 加密類 文件上傳類 表單驗(yàn)證詳解 FTP 類 圖像處理類 輸入類 Javascript 類 語言類 裝載類 遷移類 輸出類 分頁類 模板解析器類 安全類 Session 類 HTML 表格類 引用通告類 排版類 單元測(cè)試類 URI 類 User-Agent 類 表單驗(yàn)證 XML-RPC 和 XML-RPC 服務(wù)器 Zip 編碼類 緩存適配器 適配器參考 適配器 數(shù)據(jù)庫類 Active Record 類 數(shù)據(jù)庫緩存類 自定義函數(shù)調(diào)用 數(shù)據(jù)庫配置 連接你的數(shù)據(jù)庫 數(shù)據(jù)庫快速入門例子代碼 字段數(shù)據(jù) 數(shù)據(jù)庫維護(hù)類 查詢輔助函數(shù) 數(shù)據(jù)庫類 查詢 生成查詢記錄集 表數(shù)據(jù) 事務(wù) 數(shù)據(jù)庫工具類 JavaScript類 輔助函數(shù)參考 數(shù)組輔助函數(shù) CAPTCHA 輔助函數(shù) Cookie Helper 日期輔助函數(shù) 目錄輔助函數(shù) 下載輔助函數(shù) Email 輔助函數(shù) 文件輔助函數(shù) 表單輔助函數(shù) HTML輔助函數(shù) Inflector 輔助函數(shù) 語言輔助函數(shù) 數(shù)字輔助函數(shù) 路徑輔助函數(shù) 安全輔助函數(shù) 表情輔助函數(shù) 字符串輔助函數(shù) 文本輔助函數(shù) 排版輔助函數(shù) URL 輔助函數(shù) XML 輔助函數(shù)
文字

CodeIgniter 用戶指南 版本 2.1.0

編輯文檔、查看近期更改請(qǐng) 登錄 或 注冊(cè)  找回密碼
查看原文

數(shù)據(jù)庫維護(hù)類

該類包含了一些幫助你管理數(shù)據(jù)庫的函數(shù)。

目錄

  • 初始化
  • 創(chuàng)建數(shù)據(jù)庫
  • 刪除數(shù)據(jù)庫
  • 添加字段
  • 添加主鍵
  • 創(chuàng)建表
  • 刪除表
  • 重命名表
  • 修改表

初始化

注意:? 欲初始化數(shù)據(jù)庫維護(hù)類,請(qǐng)確保你的數(shù)據(jù)庫驅(qū)動(dòng)已經(jīng)運(yùn)行,因?yàn)樵擃愐蕾囉跀?shù)據(jù)庫驅(qū)動(dòng)。

使用如下方法載入數(shù)據(jù)庫維護(hù)類:

$this->load->dbforge()

一旦初始化,就可以使用$this->dbforge 對(duì)象訪問類中函數(shù):

$this->dbforge->some_function()

$this->dbforge->create_database('db_name')

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

if ($this->dbforge->create_database('my_db'))
{
??? echo '數(shù)據(jù)庫已經(jīng)被創(chuàng)建!';
}

$this->dbforge->drop_database('db_name')

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

if ($this->dbforge->drop_database('my_db'))
{
??? echo '數(shù)據(jù)庫已經(jīng)被刪除!';
}

創(chuàng)建和刪除表

創(chuàng)建表時(shí)有這么幾件事需要你來完成。添加字段,添加主鍵和修改列。CodeIgniter提供如下方法完成這些操作。

添加字段

字段由關(guān)聯(lián)數(shù)組創(chuàng)建。在數(shù)組中必須包含與字段數(shù)據(jù)類型相關(guān)的“類型”鍵。例如,INT,VARCHAR,TEXT等等。許多數(shù)據(jù)類型(如 VARCHAR)還需要“約束”鍵。

$fields = array(
????????????????????????'users' => array(
?????????????????????????????????????????????????'type' => 'VARCHAR',
?????????????????????????????????????????????????'constraint' => '100',
??????????????????????????????????????????),
????????????????);

// 當(dāng)字段被添加后,將被翻譯為 "users VARCHAR(100)" .

此外,還可以使用下列鍵/值:

  • unsigned/true:?在字段定義中生成“UNSIGNED”。
  • default/value:?在字段定義中生成一個(gè)缺省值。
  • null/true:?在字段定義中生成“NULL” 。沒有這個(gè),字段缺省為“NOT NULL”。
  • auto_increment/tue:?為字段生成自動(dòng)增量標(biāo)記。注意,字段類型必須支持自動(dòng)增量標(biāo)記,如整型。

$fields = array(
????????????????????????'blog_id' => array(
?????????????????????????????????????????????????'type' => 'INT',
?????????????????????????????????????????????????'constraint' => 5,
?????????????????????????????????????????????????'unsigned' => TRUE,
?????????????????????????????????????????????????'auto_increment' => TRUE
??????????????????????????????????????????),
????????????????????????'blog_title' => array(
?????????????????????????????????????????????????'type' => 'VARCHAR',
?????????????????????????????????????????????????'constraint' => '100',
??????????????????????????????????????????),
????????????????????????'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() 函數(shù)創(chuàng)建表。

$this->dbforge->add_field()

添加字段函數(shù)將接受上面這個(gè)數(shù)組。

傳遞字符串作為字段定義

如果你確切地知道自己要如何創(chuàng)建一個(gè)字段,你可以將字符串作為字段定義傳遞給 add_field():

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

說明: 多次調(diào)用 add_field() 是累加性的。

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

創(chuàng)建id字段有一種特殊的例外情況。一個(gè)id類型的字段將會(huì)被自動(dòng)地賦值為 INT(9) 類型的自動(dòng)遞增主鍵。

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

添加鍵

一般來說,你會(huì)需要表中有鍵。這是通過 $this->dbforge->add_key('field') 來實(shí)現(xiàn)的??蛇x的第二個(gè)參數(shù)如果被設(shè)置為TRUE,那么就會(huì)生成一個(gè)主鍵。請(qǐng)注意 add_key() 后面必須調(diào)用 create_table()。

多列的非主鍵必須通過數(shù)組來傳遞。下面的示例輸出是用于 MySQL 的。

$this->dbforge->add_key('blog_id', TRUE);
// 生成 PRIMARY KEY `blog_id` (`blog_id`)

$this->dbforge->add_key('blog_id', TRUE);
$this->dbforge->add_key('site_id', TRUE);
// 生成 PRIMARY KEY `blog_id_site_id` (`blog_id`, `site_id`)

$this->dbforge->add_key('blog_name');
// 生成 KEY `blog_name` (`blog_name`)

$this->dbforge->add_key(array('blog_name', 'blog_label'));
// 生成 KEY `blog_name_blog_label` (`blog_name`, `blog_label`)

創(chuàng)建表

聲明了字段和鍵之后,你就可以使用下面的方法來創(chuàng)建一個(gè)表:

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

可選的第二個(gè)參數(shù)如果被設(shè)置為TRUE,那么,表的定義中就會(huì)添加 "IF NOT EXISTS" 子句

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

刪除表

執(zhí)行一條 DROP TABLE 語句

$this->dbforge->drop_table('table_name');
// 生成 DROP TABLE IF EXISTS table_name

重命名表

執(zhí)行一次表重命名

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

修改表

$this->dbforge->add_column()

這里的 add_column() 函數(shù)用來修改已經(jīng)存在的表,并添加一個(gè)或多個(gè)字段。 它接受與上面相同的數(shù)組參數(shù),并可用于無限數(shù)量的附加字段。

$fields = array(
????????????????????????'preferences' => array('type' => 'TEXT')
);
$this->dbforge->add_column('table_name', $fields);

// 生成 ALTER TABLE table_name ADD preferences TEXT

$this->dbforge->drop_column()

用于從表中移除一個(gè)列。

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

$this->dbforge->modify_column()

本函數(shù)的用法與 add_column() 幾乎完全相同,唯一的區(qū)別在于,本函數(shù)的用途是修改一個(gè)已存在的列,而不是添加一個(gè)新的。要重命名的話,你可以在字段定義數(shù)組中添加一個(gè) "name" 鍵。

$fields = array(
????????????????????????'old_name' => array(
?????????????????????????????????????????????????????????'name' => 'new_name',
?????????????????????????????????????????????????????????'type' => 'TEXT',
????????????????????????????????????????????????),
);
$this->dbforge->modify_column('table_name', $fields);

// 生成 ALTER TABLE table_name CHANGE old_name new_name TEXT

?

?

翻譯貢獻(xiàn)者: Hex, ianyang, yeto, yinzhili, 籠中
最后修改: 2011-12-10 19:11:07
上一篇: 下一篇: