### 3.3.1 創建和選擇數據庫
如果管理員在設置權限時為你創建了數據庫, 你可以開始使用它. 否則, 你需要自己創建:
```sql
mysql> CREATE DATABASE menagerie;
```
在 Unix 下, 數據庫名稱區分大小寫(不像 SQL 關鍵字), 因此必須始終將數據庫成為 `menagerie`, 而不是 `Menagerie`, `MENAGERIE`, 或其它變體. 對于表名也是如此. (在 Windows 下, 此限制并不適用, 盡管在給定的查詢中必須使用相同字母大小寫的數據庫和表. 然而, 由于各種原因, 建議的最佳實踐始終使用創建數據庫時使用相同大小寫字幕.)
> **注意**
>
> 如果你在創建數據庫時出現此類錯誤: `ERROR 1044 (42000): Access denied for user 'micah'@'localhost' to database 'menagerie'`, 這意味著您的用戶賬戶沒有執行此操作所需的權限. 請與管理員你討論或者參閱 [Section 6.2, “訪問控制和賬戶管理”](https://dev.mysql.com/doc/refman/8.0/en/access-control.html).
創建數據庫時并沒有選擇它; 你必須顯式的這樣做. 要使 menagerie 成為當前數據庫, 使用以下語句:
```sql
mysql> USE menagerie
Database changed
```
數據庫只需要創建一次, 但你必須在每次開始 [mysql](mysql.md) 會話時選擇它. 你可以通過發出 [`USE`](https://dev.mysql.com/doc/refman/8.0/en/use.html) 語句來實現, 如示例所示. 或者, 你可以在調用 [mysql](mysql.md) 時在命令行上選擇數據庫. 只需要在你可能需要提供的任何連接參數后指定其名稱. 例如:
```sql
shell> mysql -h host -u user -p menagerie
Enter password: ********
```
> **[danger] 重要**
>
> 剛才顯示的命令中 `menagerie` ***不***是你的密碼. 如果希望在命令行的 `-p` 選項之后提供密碼, 則必須在不使用空格的情況下提供(例如, 是 `-ppassword`, 而不是 `-p password`). 然而, 不建議將密碼放在命令行上, 因為這樣做會讓登錄到此機器上的其它用戶窺探密碼.
> **[warning] 注意**
>
> 你可以隨時使用 [`SELECT`](https://dev.mysql.com/doc/refman/8.0/en/select.html) [`DATABASE()`](https://dev.mysql.com/doc/refman/8.0/en/information-functions.html#function_database) 查看當前選擇了哪個數據庫.
- 簡介
- 前言和法律條款
- 安裝和更新 MySQL
- 在 Linux 上安裝 MySQL
- 在 Linux 上使用 APT 庫安裝 MySQL
- 在 Linux 上使用 Docker 部署 MySQL
- 使用 Docker 部署 MySQL 服務器的基本步驟
- 使用 Docker 部署 MySQL 服務器的更多主題
- 教程
- 連接到服務器和從服務器斷開
- 輸入查詢
- 創建和使用數據庫
- 創建和選擇數據庫
- 創建表
- 將數據加載到表中
- 從表中檢索數據
- 選擇所有數據
- 選擇特定行
- 選擇指定列
- 行排序
- 日期計算
- 處理 NULL 值
- 模式匹配
- 計算行數
- 使用多個表
- 獲取數據庫和表的信息
- 在批處理模式使用 mysql
- 常見查詢示例
- 列的最大值
- 包含某一行最大值的記錄
- 每組中列的最大值
- 擁有某個字段的組間最大值的行
- 使用用戶自定義變量
- 使用外鍵
- 兩個鍵上搜索
- 計算每日訪問量
- 使用 AUTO_INCREMENT
- 在 Apache 中使用 MySQL
- MySQL 程序
- MySQL 客戶端程序
- mysql — MySQL 命令行客戶端
- 優化
- 優化概述
- 優化 SQL 語句
- 優化和索引
- 優化數據庫結構
- 優化 InnoDB 表
- 優化 MyISAM 表
- 優化 MEMORY 表
- 理解查詢執行計劃
- 控制查詢優化器
- 緩沖和緩存
- 優化鎖操作
- 優化 MySQL 服務器
- 測量性能 (Benchmarking)
- 檢查線程信息