相關(guān)學(xué)習(xí)推薦:php編程(視頻),mysql教程
上篇教程我們介紹了 MySQL 的安裝以及如何在客戶端連接并管理 MySQL 數(shù)據(jù)庫,今天我們來簡單過一下日常常用的 SQL 語句,以 phpMyAdmin 作為 GUI 工具為例進(jìn)行演示。
SQL 語句總體上分為三個(gè)部分:
- DDL(Data Definition Language,數(shù)據(jù)定義語言)
- DML(Data Manipulation Language,數(shù)據(jù)操作語言)
- DCL(Data Control Language,數(shù)據(jù)控制語言)
DDL
DDL 語句主要針對數(shù)據(jù)庫中的對象操作,這些對象包含數(shù)據(jù)庫、數(shù)據(jù)表、索引、列、視圖等,這些操作包含創(chuàng)建、刪除、重命名等。
新建數(shù)據(jù)庫
要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫可以通過 CREATE DATABASE
語句完成,不過編寫 SQL 語句過于繁瑣,GUI 工具都提供了按鈕進(jìn)行對應(yīng)可視化操作,更加方便,我們以 phpMyAdmin 為例,點(diǎn)擊左側(cè)面板中的「新建」,然后在右側(cè)面板表單中填寫數(shù)據(jù)庫名稱和編碼信息,最后點(diǎn)擊「創(chuàng)建」按鈕,即可創(chuàng)建一個(gè)新的數(shù)據(jù)庫:
如果通過 SQL 語句執(zhí)行,對應(yīng)的 SQL 語句是:
CREATE DATABASE `test` DEFAULT CHARACTER SET = `utf8mb4`;
這里設(shè)置編碼為 utf8mb4
主要是為了支持中文字符以及 Emoji 表情符號(hào)的存儲(chǔ)。
數(shù)據(jù)庫重命名和刪除
對于已創(chuàng)建的數(shù)據(jù)庫,可以通過重命名數(shù)據(jù)庫修改數(shù)據(jù)庫名稱,還可以點(diǎn)擊刪除鏈接進(jìn)行刪除,這些都位于選中指定數(shù)據(jù)庫后,右側(cè)面板頂部導(dǎo)航條「操作」面板中:
重命名其實(shí)就包含了刪除操作,再新建一個(gè)新的數(shù)據(jù)庫。
新建數(shù)據(jù)表
創(chuàng)建完數(shù)據(jù)庫之后,默認(rèn)就會(huì)進(jìn)入創(chuàng)建數(shù)據(jù)表界面,我們新建一個(gè)名為 post
的數(shù)據(jù)表,點(diǎn)擊右下角「執(zhí)行」按鈕保存:
接下來,就進(jìn)入了數(shù)據(jù)表字段(列)創(chuàng)建頁面,我們首先需要設(shè)置一個(gè)主鍵 ID 字段,當(dāng)選擇索引為 PRIMARY(主鍵索引)時(shí),會(huì)彈出創(chuàng)建索引窗口:
點(diǎn)擊「執(zhí)行」創(chuàng)建該索引并關(guān)閉窗口,然后繼續(xù)設(shè)置字段信息:
目前就創(chuàng)建四個(gè)字段,如果要新增字段可以通過頂部數(shù)據(jù)表名右側(cè)的添加功能添加,這里我們需要區(qū)分下不同的字段類型,ID 字段一般是整型數(shù)字,所以類型設(shè)置為 INT
,文章標(biāo)題一般是字符串,所以類型設(shè)置為 VARCHAR
,文章內(nèi)容是長文本,類型設(shè)置為 TEXT
,最后 created_at
字段存儲(chǔ)創(chuàng)建時(shí)間,所以類型設(shè)置為 DATETIME
。
在表結(jié)構(gòu)選項(xiàng)中設(shè)置存儲(chǔ)引擎為 InnoDB,保存之前,可以通過「預(yù)覽 SQL 語句」按鈕預(yù)覽下創(chuàng)建 post
表的 SQL 語句:
然后點(diǎn)擊頁面右下角保存按鈕保存數(shù)據(jù)表設(shè)置,即可進(jìn)入數(shù)據(jù)表結(jié)構(gòu)頁面:
我們可以點(diǎn)擊每個(gè)字段對應(yīng)的修改鏈接修改該字段,如果要對整張表進(jìn)行修改,可以通過頂部「操作」導(dǎo)航完成(刪除和清空表也在這里完成,下拉到底部就可以看到對應(yīng)的操作選項(xiàng)):
當(dāng)然所有這些操作都可以通過對應(yīng)的 SQL 語句完成,只是通過圖形化界面更直觀、更快捷。
數(shù)據(jù)表索引
關(guān)于數(shù)據(jù)表索引的類型、創(chuàng)建和維護(hù)我們在后面會(huì)結(jié)合實(shí)戰(zhàn)項(xiàng)目進(jìn)行介紹,這里不單獨(dú)展開了。
DML
DML 語句主要針對數(shù)據(jù)表的增刪改查操作,即對數(shù)據(jù)表的 INSERT、DELETE、UPDATE、SELECT 操作。
插入語句
新建數(shù)據(jù)表后,可以通過 INSERT INTO
插入數(shù)據(jù),這里我們還可以通過 phpMyAdmin 演示,選中左側(cè)面板的 post
數(shù)據(jù)表,點(diǎn)擊右側(cè)「插入」頂部導(dǎo)航,在表單字段中填寫字段值,ID 是自增字段可以留空,最后點(diǎn)擊「執(zhí)行」按鈕保存:
插入成功后,可以看到對應(yīng)的 SQL 插入語句:
再點(diǎn)擊頂部「瀏覽」導(dǎo)航條,就可以看到插入的記錄了:
查詢語句
你也可以通過「SQL」導(dǎo)航進(jìn)入 SQL 查詢面板通過 SELECT
語句進(jìn)行查詢:
不指定查詢條件默認(rèn)返回所有查詢結(jié)果,你也可以通過 WHERE
子句指定查詢條件返回特定結(jié)果:
SELECT * FROM `post` WHERE id = 1;
還可以指定要查詢的字段:
SELECT id, title, content FROM `post`;
另外,還可以通過 ORDER BY
語句對查詢結(jié)果進(jìn)行排序:
SELECT * FROM `post` ORDER BY id DESC;
更新語句
我們可以通過「瀏覽」界面每一條記錄左側(cè)的「編輯」功能修改每條記錄的字段值:
也可以在「SQL」界面通過 UPDATE
語句進(jìn)行更加復(fù)雜的自定義修改,點(diǎn)擊「UPDATE」按鈕,會(huì)在輸入框填充更新語句模板,按需進(jìn)行填寫即可:
點(diǎn)擊「執(zhí)行」按鈕進(jìn)行更新,就可以看到修改后的字段值了,在進(jìn)行 UPDATE 更新時(shí),需要特別關(guān)注 WHERE
子句,因?yàn)槿绻麤]有設(shè)置 WHERE
條件,會(huì)更新整張表。
刪除語句
要?jiǎng)h除單條記錄,可以通過「瀏覽」界面記錄左側(cè)的刪除按鈕刪除,也可以在「SQL」面板通過 DELETE
語句進(jìn)行更加復(fù)雜的自定義刪除操作:
和 UPDATE
一樣,如果沒有通過 WEHRE
子句設(shè)置刪除條件,也會(huì)刪除整張表記錄,所以在執(zhí)行刪除操作前需要格外注意。
要清空整張表記錄,并將自增 ID 重置為 1,需要在「操作」面板通過 TRUNCATE
操作完成: