前端工程師都該懂的後端基本功都在本篇,不藏私通通告訴你!!
各位想當前端工程師們,我們就直接切入基礎的 MySQL 教學!本篇先來簡介一下資料庫 4 大基要語句,他們分別是定義資料庫的 DDL (Data Definition Language)、操作資料庫的 DML (Data Manipulation Language)、控制資料庫的 DQL (Data Control Language) 與查詢資料用的 DCL (Data Query Language)。簡介如下:
推薦閱讀:前端工程師的學習路線圖整理
因為在人力銀行網站搜尋前端工程師的職缺,會發現有些公司會把 MySQL 列為前端工程師的必備技能。通常 (非全部) 擁有 MySQL 技能的前端工程師獲得高薪的機會較大。多一項能力,調薪的籌碼就越大。
對於前端工程師來說,MySQL 是屬於後端工程師的技能。但是若前端工程師也略懂 MySQL 的話,無論是求職上會有莫大幫助。
資料庫定義語言 - DDL (Data Definition Language)
定義資料庫的結構,常見語句有 CREATE、DROP、ALTER。
DROP
丟棄或刪除資料庫。寫法如下:
刪除一個「已經確定存在」的資料庫:
DROP DATABASE 資料庫名稱;
範例:
DROP DATABASE xz;
刪除一個「不確定是否存在」的資料庫:
DROP DATABASE 資料庫名稱;
範例一. 在不確定名為「xz」的資料庫是否存在的狀況下,刪除 xz 資料庫:
DROP DATABASE IF EXISTS xz;
▲ 在命令提示字元使用 MySQL 的 DROP DATABASE 語法
CREATE
創建資料庫或表格。寫法為:
CREATE DATABASE 資料庫/表格名稱;
範例一、創建名為 "xz" 的資料庫:
CREATE DATABASE xz;
範例二、創建名為「FrontEndElements (網頁元素)」的表格,表格有兩個欄目,分別為「element(元素)」、「usage(用途)」;又令「element」的內容限制為 10 個字元、「usage(用途)」則為 32 字元,代碼如下所示:
CREATE TABLE FrontEndElements(`element` VARCHAR(10),`usage` VARCHAR(32));
註:MySQL 本身內建一些具有特定功能的保留字,這些保留字中包含「usage」,與我們欲建的欄目名稱同名,會令 MySQL 混淆導致無法建表 (如下圖)。
▲ 在命令提示字元使用 MySQL 創建的欄目名稱「usage」與保留字重複,而導致無法建表。
為了區分,因此加了反引號,為「`usage`」。
其實 MySQL 的保留字很多,前端工程師不可能每個都記熟。所以寧可在每次創建表格時,都在欄目名稱的左右側加上反引號。如下圖所示:
▲ 在命令提示字元使用 MySQL 創建名為「FrontEndElements (網頁元素)」的表格,表格有兩個欄目,分別為「element(元素)」、「usage(用途)」;又令「element」的內容限制為 10 個字元、「usage(用途)」則為 32 字元
資料庫操作語言 - DML (Data Manipulation Language)
INSERT
新增資料到資料表中。寫法如下:
INSERT INTO 資料表名稱 VALUE('值一','值二');
範例、今天要新增 4 個內容到上述的 "FrontEndElements" 表中,對應的欄目分別為'element'、'usage':
INSERT INTO FrontEndElements VALUE('HTML','管理網頁的架構');
INSERT INTO FrontEndElements VALUE('CSS','管理網頁的外貌');
INSERT INTO FrontEndElements VALUE('JavaScript','管理網頁的內容以及使用者的操作行為、互動');
INSERT INTO FrontEndElements VALUE('MySQL','資料庫');
▲ 在命令提示字元使用 MySQL 創建 4 個內容,內容的值對應到兩個表格欄目「element(元素)」、「usage(用途)」。
下圖為從 MySQL 叫出表格「FrontEndElements」的所有內容。指令稍後在本文 DQL 段落會講解。
▲ 在命令提示字元使用 MySQL 觀看 FrontEndElements 表中所有內容
UPDATE
更改資料到資料表中。寫法如下:
UPDATE 資料表名稱 SET 欄位名稱='更新後的內容' WHERE 條件敘述;
範例、今天將上述的表格中,'JavaScript' 的 'usage' 修改為 '管理網頁的互動與動態內容'。如下所示:
UPDATE FrontEndElements SET `usage`='管理網頁的互動與動態內容' WHERE element='JavaScript';
▲ 在命令提示字元使用 MySQL 將「JavaScript」的 `usage`欄目中,內容改為 '管理網頁的互動與動態內容'。
DELETE
刪除資料表中的資料。寫法如下:
DELETE FROM 資料表名稱 WHERE 條件敘述;
範例、今天將上述的表格的 'SQL' 刪掉,寫法如下所示:
DELETE FROM FrontEndElements WHERE element='SQL';
▲ 在命令提示字元使用 MySQL 將名稱為「MySQL」的 整欄刪除。
資料庫查詢語言 - DQL (Data Query Language)
查詢資料使用,不會對資料產生任何更動的語句。指令只有一種:
SELECT
撈出表中的資料,例如我們要撈出上述表格的所有內容,寫法如下:
SELECT * FROM FrontEndElements;
▲ 在命令提示字元使用 MySQL 觀看 FrontEndElements 表中所有內容
資料庫控制語言 - DCL (Data Control Language)
控制用戶權限,例如把某個電商網站的管理權、上架權等不同層級的權限,分派給不同的員工。
GRANT
授予權限
REVOKE
收回權限
上述的 MySQL 語句種類,前端工程師只須看得懂 DDL、DML 與 DQL 就好。下一篇文章會講述 MySQL 中文亂碼的解決方式。請想提升技能的前端工程師多多關注我們的知識庫!
相關文章:
Facebook 開源 Python 語言的安全與隱私工具 Pysa
人工智慧又寫歌了!這次是跟重金屬天團 Metallica 致敬
暴躁老人唱情歌、憂鬱阿嬤笑了!4個翻轉家庭的人工智慧 讓家更溫暖
人工智慧貓砂盆 - 因愛貓腎病過世 工程師研發預防性貓用醫療品