> 持續更新中...
# MySQL 介紹
## 介紹
MySQL是一種廣泛使用的開源關係型數據庫管理系統(RDBMS)。它使用結構化查詢語言(SQL)進行數據庫管理,並以其速度、可靠性和靈活性而聞名。以下是MySQL的一些主要特點:
1. **開源軟件**:MySQL是基於GPL(通用公共許可)許可的開源軟件,這意味著它可以免費使用和修改。
2. **廣泛支持的平台**:它可在多種操作系統上運行,包括Windows、Linux和MacOS。
3. **高性能**:MySQL被設計為處理大量數據,提供高速數據處理和檢索功能。
4. **可擴展性**:它支持大型數據庫,能夠處理數十億條記錄和數千萬的查詢每天。
5. **安全性**:MySQL提供強大的數據安全功能,包括加密和用戶訪問控制。
6. **易於使用**:它提供了一個直觀的界面和命令行工具,使得數據庫管理變得簡單。
7. **豐富的API支持**:MySQL與多種編程語言(如PHP、Python、Java等)提供良好的集成。
8. **多種存儲引擎**:MySQL支持多種存儲引擎,每種引擎都有其特定的特性和用途,如InnoDB用於事務處理,MyISAM用於高速讀取等。
9. **復制和分區**:MySQL支持數據庫的復制和分區,這有助於提高可用性、擴展性和性能。
MySQL廣泛用於各種應用中,從小型個人項目到大型企業級應用,是現代Web開發中最流行的數據庫之一。
## 安裝及啟用
mac 輸入以下命令完成安裝
```bash=
brew install mysql
```
安裝完成後輸入以下命令來啟動服務端
```bash=
mysql.server start
```
> 
接著輸入
```bash=
mysql -u root -p
```
啟用客戶端
當出現輸入密碼時,直接按下enter即可
> 
當看到mysql 代表成功連接客戶端
輸入myqsql 語法`show databases;`來查看Database
以下都是安裝後預設創建的
> 
輸入`use mysql;`切換數據庫,再輸入`show tables;`來查看數據庫中有哪些表
> 
如果要查看表中數據可以輸入`SELECT * from tables_priv;`查看表中數據
> 
簡單練習基本操作後,下一章節要來介紹GUI介面 workbench
## workbench
### 安裝
直接去[官網](https://dev.mysql.com/downloads/workbench/)點擊對應版本下載
> 
mac 下載完後將檔案移到application即可
開啟後的畫面長這樣,點擊MySQL Connections 上的+上新增一個數據庫
> 
在connection name 自己輸入想要的名稱即可
> 
其他不用設定即可連接到剛剛啟用本地端書據庫
## mysql 基礎
### 基本概念
- 數據庫 (Database): 存儲數據的集合。在MySQL中,一個數據庫包含一個或多個表。
- 表 (Table): 數據庫中存儲數據的結構化形式,由行和列組成。
- 行 (Row): 表中的一條記錄,代表一組相關的數據。
- 列 (Column): 表中的一個字段,代表某種特定類型的數據。
### 基本操作類型
在SQL(Structured Query Language)中,根據操作的類型,命令可以分為幾個不同的類別:DDL、DML、DQL和DCL。這些分類幫助於區分數據庫管理和操作中的不同任務:
1. **DDL (Data Definition Language) - 數據定義語言**:
- DDL涉及數據庫結構的創建、修改和刪除。
- 主要命令包括:
- `CREATE`:用於創建新的數據庫或數據庫對象(如表、索引、視圖等)。
- `ALTER`:修改現有數據庫對象的結構,如增加、刪除或修改表的欄位。
- `DROP`:用於刪除數據庫對象。
- `TRUNCATE`:刪除表中的所有記錄,並重置表的大小為零。
2. **DML (Data Manipulation Language) - 數據操縱語言**:
- DML主要用於插入、修改、刪除和查詢數據庫中的數據。
- 主要命令包括:
- `INSERT`:向表中插入新記錄。
- `UPDATE`:修改表中的現有記錄。
- `DELETE`:從表中刪除記錄。
3. **DQL (Data Query Language) - 數據查詢語言**:
- DQL主要用於查詢數據庫中的數據。
- 它主要包括`SELECT`命令,用於從一個或多個表中檢索數據。
4. **DCL (Data Control Language) - 數據控制語言**:
- DCL包括與數據庫權限和安全性相關的命令。
- 主要命令包括:
- `GRANT`:賦予用戶對數據庫對象的特定權限。
- `REVOKE`:收回已賦予的權限。
理解這些不同類型的SQL命令是管理和操作關係型數據庫的重要部分。每一類命令都有其特定的用途和應用場景。
新增一個game database

刪除一個game database

## 常見指令
可以參考[MySQL 常見指令](/lWri1XtVS3OuSqlgDaqlOw)