MySQL基礎(chǔ)教程

這個(gè)MySQL基礎(chǔ)教程解釋一些基本的SQL語句。 如果這是您第一次使用關(guān)系數(shù)據(jù)庫管理系統(tǒng),本教程將為您提供使用MySQL數(shù)據(jù)庫服務(wù)器所需的一切內(nèi)容,例如查詢數(shù)據(jù),更新數(shù)據(jù),管理數(shù)據(jù)庫和創(chuàng)建表。

如果您已經(jīng)熟悉其他關(guān)系數(shù)據(jù)庫管理系統(tǒng)(如PostgreSQL,Oracle或Microsoft SQL Server等),則可以使用本教程來刷新您的知識(shí),并了解MySQL的SQL方言與其他數(shù)據(jù)庫系統(tǒng)的不同之處。

第1節(jié). MySQL入門

本節(jié)將開始介紹和學(xué)習(xí)使用MySQL。我們將開始安裝MySQL,下載示例數(shù)據(jù)庫并將數(shù)據(jù)導(dǎo)入到MySQL服務(wù)器以進(jìn)行練習(xí)。

第2節(jié). 查詢數(shù)據(jù)

本節(jié)將幫助您了解如何從MySQL數(shù)據(jù)庫服務(wù)器查詢數(shù)據(jù)。 我們將從一個(gè)簡單的SELECT語句開始,從單個(gè)表查詢數(shù)據(jù)。

  • SELECT語句 - 顯示如何使用簡單的SELECT語句來查詢單個(gè)表中的數(shù)據(jù)。
  • SELECT DISTINCT語句 - 了解如何在SELECT語句中使用DISTINCT運(yùn)算符來消除結(jié)果集中的重復(fù)行。

第3節(jié). 過濾數(shù)據(jù)

  • WHERE - 學(xué)習(xí)如何使用WHERE子句根據(jù)指定的條件過濾行記錄。
  • AND運(yùn)算符 - 介紹如何使用AND運(yùn)算符以組合布爾表達(dá)式以形成用于過濾數(shù)據(jù)的復(fù)雜條件。
  • OR運(yùn)算符 - 介紹OR運(yùn)算符,并展示如何將OR運(yùn)算符與AND運(yùn)算符組合以過濾數(shù)據(jù)。
  • IN運(yùn)算符 - 學(xué)習(xí)如何在WHERE子句中使用IN運(yùn)算符來確定值是否匹配列表或子查詢中的指定值。
  • BETWEEN運(yùn)算符 - 顯示如何使用BETWEEN運(yùn)算符來根據(jù)指定范圍查詢數(shù)據(jù)。
  • LIKE - 提供基于特定模式匹配查詢數(shù)據(jù)的技術(shù)示例,以執(zhí)行一些模糊查詢。
  • LIMIT子句 - 使用LIMIT來限制SELECT語句返回的行數(shù)
  • IS NULL - 使用IS NULL運(yùn)算符測試值是否為NULL。

第4節(jié). 排序數(shù)據(jù)

  • ORDER BY - 顯示如何使用ORDER BY子句排序結(jié)果集。還將介紹使用FIELD函數(shù)的自定義排序順序。
  • 使用ORDER BY子句進(jìn)行自然排序 - 通過使用ORDER BY子句,演示MySQL中的各種自然排序技術(shù)。

第5節(jié). 連接表

  • MySQL別名 - 引入別名,包括表別名和列別名,以提高復(fù)雜查詢的可讀性,并避免在查詢具有相同列名稱的多個(gè)表中的數(shù)據(jù)時(shí)發(fā)生歧義錯(cuò)誤。
  • INNER JOIN - 應(yīng)用內(nèi)部聯(lián)接技術(shù)來查詢來自多個(gè)相關(guān)表的數(shù)據(jù)。
  • LEFT JOIN - 學(xué)習(xí)如何使用左連接來生成包含來自連接左側(cè)表中的行的結(jié)果集,并使用NULL值來補(bǔ)充不匹配行。
  • CROSS JOIN - 學(xué)習(xí)如何使來自多個(gè)表的行的笛卡爾乘積。
  • 自連接 – 使用表別名將表連接到自身,并使用其他類型的連接(如INNER JOINLEFT JOIN)連接同一表中的行記錄。

第6節(jié). 分組數(shù)據(jù)

  • GROUP BY子句 - 學(xué)習(xí)如何根據(jù)列或表達(dá)式將行記錄分組到子組。
  • HAVING子句 - 按特定條件過濾組。

第7節(jié). MySQL子查詢,派生表和通用表達(dá)式

  • MySQL子查詢 - 學(xué)習(xí)如何在另一個(gè)查詢(外部查詢)中嵌套另一個(gè)查詢語句(內(nèi)部查詢),并使用內(nèi)部查詢的結(jié)果值作為外部查詢條件。
  • MySQL派生表 - 介紹派生表概念,并演示如何使用它來簡化復(fù)雜查詢。
  • MySQL通用表表達(dá)式 - 解釋通用表表達(dá)式概念,并向您展示如何使用CTE查詢表中的數(shù)據(jù)。
  • 遞歸CTE - 演示如何使用遞歸通用表表達(dá)式(CTE)遍歷分層數(shù)據(jù)。

第8節(jié). 使用SET操作符

  • UNION和UNION ALL - 使用UNIONUNION ALL操作符將兩個(gè)或多個(gè)多個(gè)SELECT語句的結(jié)果集合合并到一個(gè)結(jié)果集中。
  • INTERSECT模擬 - 顯示了幾種模擬MySQL中INTERSECT運(yùn)算符的方法。

第9節(jié). 修改MySQL中的數(shù)據(jù)

在本節(jié)中,將學(xué)習(xí)如何使用各種MySQL語句來在表上執(zhí)行插入,更新和刪除數(shù)據(jù)操作。

  • INSERT語句 - 學(xué)習(xí)如何使用各種形式的INSERT語句將數(shù)據(jù)插入到數(shù)據(jù)庫表中。
  • INSERT IGNORE - 解釋將數(shù)據(jù)行插入到表中并忽略導(dǎo)致錯(cuò)誤或異常的行的INSERT IGNORE語句。
  • UPDATE語句 - 了解如何使用UPDATE語句及其選項(xiàng)來更新數(shù)據(jù)庫表中的數(shù)據(jù)。
  • UPDATE JOIN語句 - 顯示如何使用帶有INNER JOINLEFT JOINUPDATE JOIN語句執(zhí)行交叉表更新。
  • DELETE - 學(xué)習(xí)如何使用DELETE語句從一個(gè)或多個(gè)表中刪除數(shù)據(jù)。
  • ON DELETE CASCADE - 學(xué)習(xí)如何從父表中刪除數(shù)據(jù)時(shí),使用外部鍵從DELETE CASCADE引用動(dòng)作刪除子表中的數(shù)據(jù)。
  • DELETE JOIN - 學(xué)習(xí)如何從多個(gè)表中刪除數(shù)據(jù)。
  • REPLACE語句 - 學(xué)習(xí)如何插入或更新數(shù)據(jù),這取決于數(shù)據(jù)是否存在于表中。
  • PREPARE語句 - 顯示如何使用PREPARE語句執(zhí)行查詢。

第10節(jié). MySQL事務(wù)

  • MySQL事務(wù) - 了解MySQL事務(wù),以及如何使用COMMITROLLBACK來管理MySQL中的事務(wù)。
  • MySQL表鎖定 - 了解如何使用MySQL鎖來協(xié)調(diào)會(huì)話之間的表訪問。

第11節(jié). 管理MySQL數(shù)據(jù)庫和表

本節(jié)介紹如何管理MySQL中最重要的數(shù)據(jù)庫對(duì)象,包括數(shù)據(jù)庫和表。

  • MySQL數(shù)據(jù)庫管理 - 學(xué)習(xí)各種語句來管理MySQL數(shù)據(jù)庫,包括創(chuàng)建新數(shù)據(jù)庫,刪除現(xiàn)有數(shù)據(jù)庫,選擇數(shù)據(jù)庫以及列出所有數(shù)據(jù)庫。
  • MySQL表類型 - 了解每個(gè)表類型的功能至關(guān)重要,以便您可以有效地使用它們來最大限度地提高數(shù)據(jù)庫的性能。
  • CREATE TABLE - 學(xué)習(xí)如何使用CREATE TABLE語句在數(shù)據(jù)庫中創(chuàng)建新表。
  • MySQL序列 - 學(xué)習(xí)如何使用序列為表的主鍵列自動(dòng)生成唯一的數(shù)字。
  • ALTER TABLE - 學(xué)習(xí)如何使用ALTER TABLE語句來更改現(xiàn)有表的結(jié)構(gòu)。
  • 重命名表 - 演示如何使用RENAME TABLE語句重命名表。
  • 從表中刪除列 - 學(xué)習(xí)如何使用ALTER TABLE DROP COLUMN語句從表中刪除一個(gè)或多個(gè)列。
  • 向表中添加新列 - 學(xué)習(xí)如何使用ALTER TABLE ADD COLUMN語句向現(xiàn)有表添加一個(gè)或多個(gè)列。
  • 刪除表 - 學(xué)習(xí)如何使用DROP TABLE語句刪除現(xiàn)有表。
  • MySQL臨時(shí)表 - 討論MySQL臨時(shí)表,并學(xué)習(xí)如何管理臨時(shí)表。
  • TRUNCATE TABLE - 學(xué)習(xí)如何使用TRUNCATE TABLE語句刪除表中的所有數(shù)據(jù)。

第12節(jié). MySQL索引

第13節(jié). MySQL數(shù)據(jù)類型

  • MySQL數(shù)據(jù)類型 - 學(xué)習(xí)MySQL中的各種數(shù)據(jù)類型,以便您可以在設(shè)計(jì)數(shù)據(jù)庫表時(shí)有效應(yīng)用它們。
  • INT - 學(xué)習(xí)如何使用整數(shù)數(shù)據(jù)類型。并演示如何使用ZEROFILL和整數(shù)列的寬度屬性。
  • DECIMAL - 學(xué)習(xí)如何使用DECIMAL數(shù)據(jù)類型存儲(chǔ)十進(jìn)制格式的精確值。
  • BIT - 介紹BIT數(shù)據(jù)類型以及如何在MySQL中存儲(chǔ)位值。
  • BOOLEAN - 學(xué)習(xí)MySQL如何通過內(nèi)部使用TINYINT(1)來處理布爾值。
  • CHAR - 學(xué)習(xí)如何使用存儲(chǔ)固定長度字符串的CHAR數(shù)據(jù)類型。
  • VARCHAR - 提供VARCHAR數(shù)據(jù)類型的基本指南。
  • TEXT - 演示如何使用TEXT數(shù)據(jù)類型存儲(chǔ)文本數(shù)據(jù)。
  • DATE - 介紹DATE數(shù)據(jù)類型,并顯示一些日期功能來有效處理日期數(shù)據(jù)。
  • TIME - 學(xué)習(xí)TIME數(shù)據(jù)類型的功能,并向您演示如何使用一些有用的時(shí)間功能來處理時(shí)間數(shù)據(jù)。
  • DATETIME - 介紹DATETIME數(shù)據(jù)類型和一些有用的函數(shù)來操作日期時(shí)間值。
  • TIMESTAMP - 介紹TIMESTAMP類型及其功能,調(diào)用自動(dòng)初始化和自動(dòng)更新,允許您為表定義自動(dòng)初始化和自動(dòng)更新的列。
  • JSON格式類型 - 顯示如何使用JSON數(shù)據(jù)類型來存儲(chǔ)JSON文檔。
  • ENUM - 了解如何正確使用ENUM數(shù)據(jù)類型來存儲(chǔ)枚舉值。

第14節(jié). MySQL約束

  • NOT NULL約束 - 引入NOT NULL約束,并顯示如何為列定義NOT NULL約束或?qū)?code>NOT NULL約束添加到現(xiàn)有列。
  • 主鍵約束 - 指導(dǎo)如何使用主鍵約束來創(chuàng)建表的主鍵。
  • 外鍵約束 - 學(xué)習(xí)外鍵概念,并逐步顯示如何創(chuàng)建和刪除外鍵。
  • UNIQUE約束 - 顯示如何使用UNIQUE約束來強(qiáng)制表中列或一組列的值的唯一性。
  • CHECK約束 - 通過各種方式來模擬MySQL中的CHECK約束。

第15節(jié). MySQL全球化

  • MySQL字符集 - 本教程討論MySQL字符集,并演示如何對(duì)字符集執(zhí)行各種操作。
  • MySQL排序規(guī)則 - 本教程討論了MySQL排序規(guī)則,并向您展示了如何為MySQL服務(wù)器,數(shù)據(jù)庫,表和列設(shè)置字符集和排序規(guī)則。

第16節(jié). MySQL導(dǎo)入和導(dǎo)出

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容