mysql中新增資料庫的方法:使用「CREATE DATABASE」語法來建立一個資料庫,語法格式「CREATE DATABASE 資料庫名稱;」。資料庫名稱必須符合作業系統的資料夾命名規則,不能以數字開頭,盡量要有實際意義。
在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 秒。
以上是mysql怎麼加入一個資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!