1. 程式人生 > >Learning-MySQL【2】:MySQL儲存引擎及資料庫的操作管理

Learning-MySQL【2】:MySQL儲存引擎及資料庫的操作管理

一、儲存引擎

儲存引擎實際上就是如何儲存資料、如何為儲存的資料建立索引和如何更新、查詢資料。儲存引擎也可以稱為表型別。

MySQL提供了外掛式(pluggable)的儲存引擎,儲存引擎是基於表的。同一個資料庫,不同的表,儲存引擎可以不同。甚至,同一個資料庫表在不同的場合可以應用不同的儲存引擎。

檢視當前MySQL資料庫支援的儲存引擎。有兩種方式,第一種通過 show engines 命令;第二種是通過 show variables like ‘have%’ 語句。

語法格式如下:

SHOW ENGINES;

說明:上述語句可以使用分號 “;” 結束,也可以使用 “\g” 或者 “\G” 結束,其中,“\g” 的作用於分號作用相同,而 ”\G” 可以讓結果更加美觀。

二、字符集

1、概述

  字符集簡單地說就是一套文字元號及其編碼、比較規則的集合。

  產生原因:計算機只能識別二進位制程式碼,為了使計算機不僅能做科學計算,也能處理文字資訊,人們想出了給每個文字元號編碼以便於計算機識別處理的辦法,這就是計算機字符集產生的原因。

2、MySQL支援的字符集

  MySQL 伺服器可以支援多種字符集,在同一臺伺服器、同一個資料庫甚至同一個表的不同欄位都可以使用相同的字符集,可以用 show character set  檢視所有可以使用的字符集。

  MySQL 字符集包括字符集和校對規則兩個概念。字符集用來定義 MySQL 儲存字串的方式,校對規則定義比較字串的方式。

  MySQL 支援 30 多種字符集的 70 多種校對規則。

3、MySQL 字符集的設定

(1)伺服器字符集和校對規則

show variables like 'character_set_server';  命令查詢字符集
show variables like 'collation_server';      命令檢視校對規則

(2)資料庫字符集和校驗規則

要顯示當前資料庫字符集和校驗規則可用以下兩條命名分別檢視:

show variables like 'character_set_database';
show variables like 'collation_database
';

三、資料庫的操作管理

1、建立資料庫

語法格式:

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS ]db_name 
[[DEFAULT] CHARACTER SET charset_name]
[[DEFALUT] COLLATE collation_name] 

在MySQL中不區分大小寫,在一定程度上方便使用。

【例1】建立一個名為 StudentInfo 的資料庫,一般情況下在建立之間要用 IF NOT EXISTS 命令先判斷資料庫是否不存在。 

CREATE DATABASE IF NOT EXISTS studentInfo ;

為了檢驗資料庫中是否已經存在名為 studentInfo 的資料庫,使用 SHOW DATABASES; 命令檢視所有的資料庫

2. 修改資料庫

語法格式:

ALTER {DATABASE | SCHEMA} [db_name] 
[DEFAULT CHARACTER SET charset_name]
| [[DEFAULT] COLLATE collation_name]

ALTER DATABASE用於更改資料庫的全域性特性,使用者必須有資料庫修改許可權,才可以使用ALTER DATABASE修改資料庫。

【例2】修改 studentInfo 資料庫的字符集為 gbk,執行結果如下:

3. 刪除資料庫

語法格式:

DROP DATABASE [IF EXISTS] db_name;

注意:刪除資料庫是指在資料庫系統刪除已經存在的資料庫,刪除資料庫成功後,原來分配的空間將被收回。再刪除資料庫時,會刪除資料庫中的所有的表和所有的資料,因此,刪除資料庫時需要慎重考慮。

【例3】用 drop database studentInfo 命令刪除剛才建立的 studentInfo 資料庫,執行結果如下:

【例4】用以下兩種命令再次刪除 studentInfo 資料庫,會有不同的提示: