在MySQL中,可以使用**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 秒。
- 數據庫入門
- 1.常用的數據庫
- 2.數據管理技術的3個發展階段
- 3.數據庫是什么?關系型數據庫和非關系型數據庫又是什么?
- 4.為什么要使用數據庫?
- 5.數據庫系統是什么?它由哪幾部分組成?
- 6.常用數據庫訪問接口簡介
- 7.數據庫的種類有哪些?
- 8.幾種常用的數據庫
- 9.MySQL是什么
- 10.MySQL適用于哪些場景?
- 11.學MySQL前,需要了解這些數據庫專業術語
- 12.MySQL客戶端和服務器架構(C/S架構)
- 13.明白了MySQL內部結構才能成為高手!
- 14.如何學習數據庫(新手必看)?
- 15.小白學習MySQL需要多長時間,能從事哪方面的工作?
- 16.當前市場對數據庫程序員的需求如何?待遇如何?
- 17.DBA到底要做什么,成為一名DBA需要具備什么能力?
- 一、數據庫的概念和常用工具
- 二、MySQL規范、配置及登錄退出操作
- 三、MySQL中的數據類型
- 四、數據庫增查改刪等操作
- 五、數據表增查改刪操作
- 六、MySQL數據增查改刪操作
- 七、MySQL存儲引擎
- 八、MySQL常用函數
- MySQL的安裝和配置
- 1.MySQL 5.7的新特性(新功能)
- 2.MySQL下載步驟詳解
- 3.MySQL安裝配置教程(Windows系統)
- 4.MySQL免安裝版配置教程
- 5.MySQL配置環境變量
- 6.安裝MySQL后,如何判斷是否已安裝成功
- 7.啟動MySQL服務的兩種方式(圖解)
- 8.登錄MySQL數據庫
- 9.對Linux MySQL軟件包的一些說明
- 10.Linux CentOS卸載MySQL(Linux安裝MySQL前的準備)
- 11.Linux安裝配置MySQL詳細步驟
- 12.MySQL my.cnf配置文件詳解
- 13.MySQL常用圖形化管理工具
- 14.MySQL安裝后的目錄結構介紹
- 15.MySQL數據庫文件存放目錄結構詳解
- 16.MySQL配置文件(my.ini)詳解
- 17.與其它數據庫不同,MySQL可以在不同的SQL模式下運行
- 18.MySql Command Line Client閃退原因及解決方案
- MySQL數據庫的基本操作
- 1.SQL是什么?它能做什么?
- 2.SQL的基本書寫規則
- 3.MySQL查看或顯示數據庫(SHOW DATABASES語句)
- 4.MySQL創建數據庫(CREATE DATABASE語句)
- 5.MySQL修改數據庫:ALTER DATABASE用法簡介
- 6.MySQL刪除數據庫(DROP DATABASE語句)
- 7.MySQL選擇數據庫(MySQL USE語句)
- 8.MySQL注釋:單行注釋和多行注釋
- 9.MySQL中SQL語句的大小寫規則
- 10.如何查看MySQL系統幫助?
- 11.看懂SQL錯誤代碼,提高學習效率!
- 數據庫高級
- 一、視圖的操作
- 二、觸發器的操作
- 三、事務的操作
- 四、索引的操作
- 五、存儲過程的操作
- 六、數據庫的優化方案
- 1.分庫、分表和索引
- 2.讀寫分離和查詢優化
- 3.join代替子查詢
- 4.盡量使用短小的事務
- 5.常用小技巧
- MySQL使用注意事項
- 1.字符亂碼及連接驅動