mysql怎么加入一個數據庫?

mysql中添加數據庫的方法:使用“CREATE database”語法來創建一個數據庫,語法格式“CREATE DATABASE 數據庫名;”。數據庫名稱必須符合操作系統的文件夾命名規則,不能以數字開頭,盡量要有實際意義。

mysql怎么加入一個數據庫?

在 MySQL 中,可以使用 CREATE DATABASE 語句創建數據庫,

簡單語法格式如下:

CREATE?DATABASE?;

詳細語法格式如下:

CREATE?DATABASE?[if?NOT?EXISTS]? [[default]?CHARACTER?SET?]? [[DEFAULT]?COLLATE?];

[ ]中的內容是可選的。語法說明如下:

  • :創建數據庫的名稱。MySQL 的數據存儲區將以目錄方式表示 MySQL 數據庫,因此數據庫名稱必須符合操作系統的文件夾命名規則,不能以數字開頭,盡量要有實際意義。注意在 MySQL 中不區分大小寫。

  • IF NOT EXISTS:在創建數據庫之前進行判斷,只有該數據庫目前尚不存在時才能執行操作。此選項可以用來避免數據庫已經存在而重復創建的錯誤。

  • [DEFAULT] CHARACTER SET:指定數據庫的字符集。指定字符集的目的是為了避免在數據庫中存儲的數據出現亂碼的情況。如果在創建數據庫時不指定字符集,那么就使用系統的默認字符集。

  • [DEFAULT] COLLATE:指定字符集的默認校對規則。

MySQL 的字符集(CHARACTER)和校對規則(COLLATION)是兩個不同的概念。字符集是用來定義 MySQL 存儲字符串的方式,校對規則定義了比較字符串的方式。后面我們會單獨講解 MySQL 的字符集和校對規則。

實例1:最簡單的創建 MySQL 數據庫的語句

在 MySQL 中創建一個名為 test_db 的數據庫。在 MySQL 命令行客戶端輸入 SQL 語句CREATE DATABASE test_db;即可創建一個數據庫,輸入的 SQL 語句與執行結果如下。

mysql>?CREATE?DATABASE?test_db; Query?OK,?1?row?affected?(0.12?sec);

“Query OK, 1 row affected (0.12 sec);”提示中,“Query OK”表示上面的命令執行成功,“1 row affected”表示操作只影響了數據庫中一行的記錄,“0.12 sec”則記錄了操作執行的時間。

若再次輸入CREATE DATABASE test_db;語句,則系統會給出錯誤提示信息,如下所示:

mysql>?CREATE?DATABASE?test_db; ERROR?1007?(HY000):?Can't?create?database?'test_db';?database?exists

提示不能創建“test_db”數據庫,數據庫已存在。MySQL 不允許在同一系統下創建兩個相同名稱的數據庫。

可以加上IF NOT EXISTS從句,就可以避免類似錯誤,如下所示:

mysql>?CREATE?DATABASE?IF?NOT?EXISTS?test_db; Query?OK,?1?row?affected?(0.12?sec)

實例2:創建 MySQL 數據庫時指定字符集和校對規則

使用 MySQL 命令行工具創建一個測試數據庫,命名為 test_db_char,指定其默認字符集為 utf8,默認校對規則為 utf8_chinese_ci(簡體中文,不區分大小寫),輸入的 SQL 語句與執行結果如下所示:

mysql>?CREATE?DATABASE?IF?NOT?EXISTS?test_db_char ????->?DEFAULT?CHARACTER?SET?utf8 ????->?DEFAULT?COLLATE?utf8_chinese_ci; Query?OK,?1?row?affected?(0.03?sec)

這時,可以使用SHOW CREATE DATABASE查看 test_db_char 數據庫的定義聲明,發現該數據庫的指定字符集為 utf8,運行結果如下所示:

mysql>?SHOW?CREATE?DATABASE?test_db_char; +--------------+-----------------------------------------------------+ |?Database?????|?Create?Database?????????????????????????????????????| +--------------+-----------------------------------------------------+ |?test_db_char?|?CREATE?DATABASE?`test_db_char`?/*!40100?DEFAULT?CHARACTER?SET?utf8?*/?| +--------------+-----------------------------------------------------+ 1?row?in?set?(0.00?sec)

“1 row in set (0.00 sec)”表示集合中有 1 行信息,處理時間為 0.00秒。時間為 0.00 秒并不代表沒有花費時間,而是時間非常短,小于 0.01 秒。

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享