這是一個基礎的MySQL教程,經過教程的學習後能夠到達一個初級到中級 MySQL應用水平級別 ,主要介紹一些MySQL中基本的SQL語句。若是這是您第一次使用關係數據庫管理系統(以前沒有學習SQL相關知識)那麼也沒有關係,本教程將爲您提供使用 MySQL數據庫服務器的工做所需知識和示例,如:查詢數據,更新數據,管理數據庫和建立表等等。html
若是已經熟悉其它的關係數據庫管理系統,如:PostgreSQL,甲骨文(Oracle),或Microsoft SQL Server等,那麼將有助於理解和使用本教程,刷新知識並理解MySQL的SQL語句,看看MySQL與其餘數據庫系統有怎樣的不一樣。mysql
本節將幫助您快速使用MySQL。咱們將開始安裝MySQL,下載一個樣本數據庫,並將樣本數據加載到MySQL服務器中,做爲後續示例練習使用。sql
安裝MySQL數據庫服務器 - 一步一步演示如何在您的計算機上安裝 MySQL 數據庫服務器(軟件)。數據庫
下載MySQL的示例數據庫 - 介紹一個MySQL的示例數據庫(studymysql)。咱們將提供連接下載示例數據庫和它的ER圖。安全
加載示例數據庫到本地MySQL數據庫服務器 – 演示如何將示例數據庫(studymysql)加載到MySQL數據庫服務器中進行練習。服務器
本節學習如何從MySQL數據庫服務器中查詢數據。咱們將用一個簡單的 SELECT
語句,讓您能夠從單個表中查詢數據。函數
MySQL SELECT語句查詢數據 – 演示如何簡單使用 SELECT
語句從單個數據庫表查詢數據。性能
DISTINCT操做符消除重複行數據 – 學會如何使用 DISTINCT
運算符在 SELECT
語句來消除結果集中的重複行。學習
WHERE過濾行數據 – 學會如何使用 WHERE
子句來基於特定條件過濾行數據。spa
AND運算符 – 介紹如何使用 AND
運算符與布爾表達式相結合,造成過濾數據的複雜條件。
OR運算符 – 介紹OR運算符,並演示如何使用AND
運算符結合OR
運算符來過濾數據。
IN操做符查詢數據 – 演示如何使用IN操做符在 WHERE
子句中匹配列表中的一個值或匹配在子查詢的任何值。
BETWEEN運算符查詢數據 – 介紹如何使用 BETWEEN
運算符在指定範圍內查詢數據。
LIKE操做符基於模式查詢數據 – 提供了一種基於特定模式匹配的技術來查詢數據。
LIMIT子句 – 使用 LIMIT
來限制由 SELECT
語句返回的行數。
ORDER BY
子句對結果集進行排序。同時也使用FIELD
函數來自定義排序。MySQL ORDER BY子句天然排序 – 使用ORDER BY
子句在MySQL各類天然排序技術中。
使用MySQL別名使查詢更具可讀性 – 介紹別名,包括表的別名和列別名,以提升複雜查詢的可讀性和查詢來自具備相同的列名多個表中的數據時避免不明確的錯誤(或叫做歧義錯誤)。
使用內鏈接表(INNER JOIN) – 內部鏈接技術適用於從多個相關表中查詢數據。
使用左鏈接表(LEFT JOIN) – 學會如何使用左鏈接,以產生包含聯接的左側表數據在結果集中,並用NULL
值代替未找到匹配的行。
使用MySQL表自聯接 – 一個表與自身使用表的別名實現自鏈接,並使用其它鏈接在同一個錶鏈接行,如內鏈接或左鏈接。
使用GROUP BY子句分組行到子組 – 學習如何分組行到基於列或表達式的分組。
使用MySQL HAVING過濾分組 – 經過指定特定條件來過濾分組。
使用MySQL UNION和UNION ALL合併結果集 – 使用UNION
和UNION ALL
幫助您合併由多個SELECT
語句產生兩個或多個結果集。
MySQL INTERSECT模擬 – 本教程介紹了幾種方法來模擬在MySQL中的INTERSECT
運算符功能。
在本節中,您將學習如何在表上使用各類MySQL語句,如:插入,更新和刪除數據。
使用MySQL INSERT語句將數據插入表中 – 學習如何使用INSERT
語句和各類形式將數據插入到數據庫的表中。
使用MySQL UPDATE語句更新數據 – 學習如何使用UPDATE
語句及其選項來更新數據庫表中的數據。
使用MySQL UPDATE JOIN執行交跨表更新 – 本教程介紹UPDATE JOIN
語句如何使用INNER JOIN
和LEFT JOIN
進行跨表更新。
使用MySQL DELETE刪除數據 – 本教程將向您展現如何使用DELETE
語句從一個或多個表中刪除數據。
使用MySQL ON DELETE CASCADE從多個表中刪除數據 – 瞭解如何使用ON DELETE CASCADE
參考操做,當您從父表中刪除數據時,MySQL將自動從引用外鍵的子表中刪除數據。
使用DELETE JOIN刪除數據 – 本教程介紹如何使用DELETE JOIN
語句(使用INNER JOIN
和LEFT JOIN
)從多個表中刪除數據。
MySQL Replace – 學習如何使用REPLACE
語句插入或更新數據。
MySQL預處理語句 – 本教程將向您介紹如何使用預處理語句以及佔位符來執行查詢,以提升查詢速度,並使查詢更加安全。
本節介紹如何管理 MySQL 中最重要的數據庫對象,包括:數據庫和表。
在MySQL中管理數據庫 – 在本教程中將學習用來管理MySQL數據庫的各類語句,包括建立新數據庫,刪除現有數據庫,選擇數據庫和列出全部數據庫。
瞭解MySQL表類型 – 有必要了解每一個表類型的功能特性,以便您能夠有效地使用它們來最大限度地提升數據庫的性能。
使用MySQL CREATE TABLE語句建立表 – 演示如何使用CREATE TABLE語句在數據庫中建立新表。
MySQL序列 – 演示如何使用序列爲表的主鍵列自動生成惟一編號。
使用MySQL ALTER TABLE修改表的結構 – 您將瞭解如何使用ALTER TABLE
語句來更改現有表的結構,例如添加或刪除列,更改列屬性等。
重命名錶 – 咱們將演示如何使用RENAME TABLE
語句來重命名錶。
從表中刪除列 – 演示如何使用ALTER TABLE DROP COLUMN語句從表中刪除一個或多個列。
向表中添加新列 – 本教程將向您介紹如何使用ALTER TABLE ADD COLUMN
語句將一個或多個列添加到現有表中。
使用MySQL DROP TABLE語句刪除表 – 演示如何使用DROP TABLE
語句刪除現有表。
MySQL臨時表 – 討論學習MySQL臨時表,並一步一步地演示如何管理臨時表。
MySQL TRUNCATE TABLE(截斷表) – 本教程介紹如何使用TRUNCATE TABLE
語句刪除表(截斷)中的全部數據。
UNIQUE
索引來強制在一個或多個列中的值的惟一性。MySQL數據類型 – 演示各類MySQL數據類型,以便在設計數據庫表時有效地應用它們。
MySQL INT – 演示如何使用整數數據類型。 咱們還將向您展現如何使用ZEROFILL,並顯示整數列的寬度屬性。
MySQL DECIMAL – 演示如何使用DECIMAL
數據類型以十進制格式存儲精確值。
MySQL DATE – 介紹DATE
數據類型,並演示一些日期函數來有效處理日期數據。
MySQL TIME – 引導您瞭解TIME數據類型的功能,並向您展現如何使用一些有用的時間函數來處理時間數據。
MySQL DATETIME – 介紹DATETIME
數據類型和一些有用的函數來操做DATETIME
日期時間值。
MySQL TIMESTAMP – 介紹TIMESTAMP及其功能特性,自動初始化和自動更新時間戳,容許在表定義時自動初始化和自動更新列的時間值。
MySQL主鍵(primary key) – 指導您如何使用主鍵約束爲表建立主鍵。
MySQL外鍵(foreign key) – 向您介紹外鍵,並逐步介紹如何建立和刪除外鍵。
MySQL惟一約束(UNIQUE) – 演示如何使用UNIQUE
惟一約束來強制在表中的一列或一組列中的值的惟一性。
MySQL CHECK約束模擬 – 經過各類方法來模擬MySQL中的CHECK約束。
MySQL字符集 – 本教程討論MySQL字符集,並向您逐步介紹如何對字符集執行各類操做。
MySQL整理(排序順序) – 本教程討論了MySQL的整理(排序順序)和演示瞭如何爲MySQL服務器,數據庫,表和列設置字符集和(排序順序)。
將CSV文件導入MySQL表 – 演示如何使用LOAD DATA INFILE
語句將CSV文件導入MySQL表。
MySQL將表導出爲CSV文件 – 學習如何將MySQL表導出爲CSV文件格式的各類技術。