MySQL基礎教學


這個MySQL基礎教學解釋一些基本的SQL語句。 如果這是您第一次使用關聯式資料庫管理系統,本教學將為您提供使用MySQL資料庫伺服器所需的一切內容,例如查詢資料,更新資料,管理資料庫和建立表。

如果您已經熟悉其他關聯式資料庫管理系統(如PostgreSQLOracle或Microsoft SQL Server等),則可以使用本教學來重新整理您的知識,並了解MySQL的SQL方言與其他資料庫系統的不同之處。

第1節. MySQL入門

本節將開始介紹和學習使用MySQL。我們將開始安裝MySQL,下載範例資料庫並將資料匯入到MySQL伺服器以進行練習。

第2節. 查詢資料

本節將幫助您了解如何從MySQL資料庫伺服器查詢資料。 我們將從一個簡單的SELECT語句開始,從單個表查詢資料。

  • SELECT語句 - 顯示如何使用簡單的SELECT語句來查詢單個表中的資料。
  • SELECT DISTINCT語句 - 了解如何在SELECT語句中使用DISTINCT運算子來消除結果集中的重複行。

第3節. 過濾資料

  • WHERE - 學習如何使用WHERE子句根據指定的條件過濾行記錄。
  • AND運算子 - 介紹如何使用AND運算子以組合布林表示式以形成用於過濾資料的複雜條件。
  • OR運算子 - 介紹OR運算子,並展示如何將OR運算子與AND運算子組合以過濾資料。
  • IN運算子 - 學習如何在WHERE子句中使用IN運算子來確定值是否匹配列表或子查詢中的指定值。
  • BETWEEN運算子 - 顯示如何使用BETWEEN運算子來根據指定範圍查詢資料。
  • LIKE - 提供基於特定模式匹配查詢資料的技術範例,以執行一些模糊查詢。
  • LIMIT子句 - 使用LIMIT來限制SELECT語句返回的行數
  • IS NULL - 使用IS NULL運算子測試值是否為NULL

第4節. 排序資料

  • ORDER BY - 顯示如何使用ORDER BY子句排序結果集。還將介紹使用FIELD函式的自定義排序順序。
  • 使用ORDER BY子句進行自然排序 - 通過使用ORDER BY子句,演示MySQL中的各種自然排序技術。

第5節. 連線表

  • MySQL別名 - 引入別名,包括表別名和列別名,以提高複雜查詢的可讀性,並避免在查詢具有相同列名稱的多個表中的資料時發生歧義錯誤。
  • INNER JOIN - 應用內部聯接技術來查詢來自多個相關表的資料。
  • LEFT JOIN - 學習如何使用左連線來生成包含來自連線左側表中的行的結果集,並使用NULL值來補充不匹配行。
  • CROSS JOIN - 學習如何使來自多個表的行的笛卡爾乘積。
  • 自連線 – 使用表別名將表連線到自身,並使用其他型別的連線(如INNER JOINLEFT JOIN)連線同一表中的行記錄。

第6節. 分組資料

第7節. MySQL子查詢,派生表和通用表示式

  • MySQL子查詢 - 學習如何在另一個查詢(外部查詢)中巢狀另一個查詢語句(內部查詢),並使用內部查詢的結果值作為外部查詢條件。
  • MySQL派生表 - 介紹派生表概念,並演示如何使用它來簡化複雜查詢。
  • MySQL通用表表示式 - 解釋通用表表示式概念,並向您展示如何使用CTE查詢表中的資料。
  • 遞回CTE - 演示如何使用遞迴通用表表示式(CTE)遍歷分層資料。

第8節. 使用SET操作符

  • UNION和UNION ALL - 使用UNIONUNION ALL操作符將兩個或多個多個SELECT語句的結果集合合併到一個結果集中。
  • INTERSECT模擬 - 顯示了幾種模擬MySQL中INTERSECT運算子的方法。

第9節. 修改MySQL中的資料

在本節中,將學習如何使用各種MySQL語句來在表上執行插入,更新和刪除資料操作。

  • INSERT語句 - 學習如何使用各種形式的INSERT語句將資料插入到資料庫表中。
  • INSERT IGNORE - 解釋將資料行插入到表中並忽略導致錯誤或異常的行的INSERT IGNORE語句。
  • UPDATE語句 - 了解如何使用UPDATE語句及其選項來更新資料庫表中的資料。
  • UPDATE JOIN語句 - 顯示如何使用帶有INNER JOINLEFT JOINUPDATE JOIN語句執行交叉表更新。
  • DELETE - 學習如何使用DELETE語句從一個或多個表中刪除資料。
  • ON DELETE CASCADE - 學習如何從父表中刪除資料時,使用外部鍵從DELETE CASCADE參照動作刪除子表中的資料。
  • DELETE JOIN - 學習如何從多個表中刪除資料。
  • REPLACE語句 - 學習如何插入或更新資料,這取決於資料是否存在於表中。
  • PREPARE語句 - 顯示如何使用PREPARE語句執行查詢。

第10節. MySQL事務

  • MySQL事務 - 了解MySQL事務,以及如何使用COMMITROLLBACK來管理MySQL中的事務。
  • MySQL表鎖定 - 了解如何使用MySQL鎖來協調對談之間的表存取。

第11節. 管理MySQL資料庫和表

本節介紹如何管理MySQL中最重要的資料庫物件,包括資料庫和表。

  • MySQL資料庫管理 - 學習各種語句來管理MySQL資料庫,包括建立新資料庫,刪除現有資料庫,選擇資料庫以及列出所有資料庫。
  • MySQL表型別 - 了解每個表型別的功能至關重要,以便您可以有效地使用它們來最大限度地提高資料庫的效能。
  • CREATE TABLE - 學習如何使用CREATE TABLE語句在資料庫中建立新表。
  • MySQL序列 - 學習如何使用序列為表的主鍵列自動生成唯一的數位。
  • ALTER TABLE - 學習如何使用ALTER TABLE語句來更改現有表的結構。
  • 重新命名表 - 演示如何使用RENAME TABLE語句重新命名表。
  • 從表中刪除列 - 學習如何使用ALTER TABLE DROP COLUMN語句從表中刪除一個或多個列。
  • 向表中新增新列 - 學習如何使用ALTER TABLE ADD COLUMN語句向現有表新增一個或多個列。
  • 刪除表 - 學習如何使用DROP TABLE語句刪除現有表。
  • MySQL臨時表 - 討論MySQL臨時表,並學習如何管理臨時表。
  • TRUNCATE TABLE - 學習如何使用TRUNCATE TABLE語句刪除表中的所有資料。

第12節. MySQL索引

第13節. MySQL資料型別

  • MySQL資料型別 - 學習MySQL中的各種資料型別,以便您可以在設計資料庫表時有效應用它們。
  • INT - 學習如何使用整數資料型別。並演示如何使用ZEROFILL和整數列的寬度屬性。
  • DECIMAL - 學習如何使用DECIMAL資料型別儲存十進位制格式的精確值。
  • BIT - 介紹BIT資料型別以及如何在MySQL中儲存位值。
  • BOOLEAN - 學習MySQL如何通過內部使用TINYINT(1)來處理布林值。
  • CHAR - 學習如何使用儲存固定長度字串的CHAR資料型別。
  • VARCHAR - 提供VARCHAR資料型別的基本指南。
  • TEXT - 演示如何使用TEXT資料型別儲存文字資料。
  • DATE - 介紹DATE資料型別,並顯示一些日期功能來有效處理日期資料。
  • TIME - 學習TIME資料型別的功能,並向您演示如何使用一些有用的時間功能來處理時間資料。
  • DATETIME - 介紹DATETIME資料型別和一些有用的函式來操作日期時間值。
  • TIMESTAMP - 介紹TIMESTAMP型別及其功能,呼叫自動初始化和自動更新,允許您為表定義自動初始化和自動更新的列。
  • JSON格式型別 - 顯示如何使用JSON資料型別來儲存JSON文件。
  • ENUM - 了解如何正確使用ENUM資料型別來儲存列舉值。

第14節. MySQL約束

  • NOT NULL約束 - 引入NOT NULL約束,並顯示如何為列定義NOT NULL約束或將NOT NULL約束新增到現有列。
  • 主鍵約束 - 指導如何使用主鍵約束來建立表的主鍵。
  • 外來鍵約束 - 學習外來鍵概念,並逐步顯示如何建立和刪除外來鍵。
  • UNIQUE約束 - 顯示如何使用UNIQUE約束來強制表中列或一組列的值的唯一性。
  • CHECK約束 - 通過各種方式來模擬MySQL中的CHECK約束。

第15節. MySQL全球化

  • MySQL字元集 - 本教學討論MySQL字元集,並演示如何對字元集執行各種操作。
  • MySQL排序規則 - 本教學討論了MySQL排序規則,並向您展示了如何為MySQL伺服器,資料庫,表和列設定字元集和排序規則。

第16節. MySQL匯入和匯出