## 3.3 創建和使用數據庫
一旦知道如何輸入 SQL 語句, 就可以訪問數據庫了.
假設你家里有幾只寵物(你的動物園(menagerie)), 并且你希望跟蹤關于他們的各種類型的信息. 你可以通過創建表來保存數據并將所需信息加載到表中來實現這一點. 然后, 你可以通過從表中檢索數據來回答關于你的動物的各種問題. 本節向你展示如何執行以下操作:
- 創建數據庫
- 創建表
- 加載數據到表中
- 以各種方式從表中檢索數據
- 使用多個表
The menagerie database is simple (deliberately), but it is not difficult to think of real-world situations in which a similar type of database might be used. 例如, 這樣的數據庫被農民用來追蹤牲畜, 被獸醫用來追蹤病人的記錄. 可以從 MySQL 網站獲取一個包含以下部分中使用的一些查詢和示例數據的 menagerie 分發版. 它有兩種壓縮格式, **tar** 文件和 Zip 格式: https://dev.mysql.com/doc/.
使用 [`SHOW`](https://dev.mysql.com/doc/refman/8.0/en/show.html) 語句查詢出當前服務器中存在哪些數據庫:
```sql
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
| tmp |
+----------+
```
`mysql` 數據庫描述了用戶訪問權限. `test` 數據庫通常作為工作區供用戶試用.
語句顯示的數據庫列表在你的計算機上可能 有所不同; 如果你沒有[`SHOW DATABASES`](https://dev.mysql.com/doc/refman/8.0/en/show-databases.html) 權限, [`SHOW DATABASES`](https://dev.mysql.com/doc/refman/8.0/en/show-databases.html) 不會展示你沒有權限的數據庫. 參閱 [Section 13.7.6.14, “SHOW DATABASES 語法”](https://dev.mysql.com/doc/refman/8.0/en/show-databases.html).
如果 `test` 數據庫存在, 嘗試訪問它:
```sql
mysql> USE test
Database changed
```
[`USE`](https://dev.mysql.com/doc/refman/8.0/en/use.html) 和 `QUIT` 一樣不需要分號. (如果你愿意, 你可以用分號結束這類語句; 它并沒有害處.) [`USE`](https://dev.mysql.com/doc/refman/8.0/en/use.html) 語句在另外一方面也很特殊: 它必須在一行中給出.
對下面的示例, 你可以使用 `test` 數據庫(如果你能夠訪問的話), 但是你在該數據庫中創建的任何內容都可以被訪問它的人刪除. 出于這個原因, 你應該請求 MySQL 管理員允許你使用自己的數據庫. 假如你想調用你的 `menagerie`. 管理員需要執行這樣的語句:
```sql
mysql> GRANT ALL ON menagerie.* TO 'your_mysql_name'@'your_client_host';
```
其中 `your_mysql_name` 是分配給你的 MySQL 用戶名, `your_client_host` 是連接到服務器的主機地址.
- 簡介
- 前言和法律條款
- 安裝和更新 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)
- 檢查線程信息