身為前端工程師,後端考試也不能交白卷!


身為前端工程師,後端考試也不能交白卷!


前端工程師除了前端知識,後端的MySQL也不可或缺,肯定讓你在工作上更順手!

對於前端工程師來說,MySQL 是屬於後端工程師的技能。但是若前端工程師也略懂 MySQL 的話,無論是求職上會有莫大幫助。

因為在人力銀行網站搜尋前端工程師的職缺,會發現有些公司會把 MySQL 列為前端工程師的必備技能。通常 (非全部) 擁有 MySQL 技能的前端工程師獲得高薪的機會較大。多一項能力,調薪的籌碼就越大。

推薦閱讀:前端工程師的學習路線圖整理

我們就直接切入基礎的 MySQL教學!本篇先來簡介一下資料庫 4 大基要語句,他們分別是定義資料庫的 DDL (Data Definition Language)、操作資料庫的 DML (Data Manipulation Language)、控制資料庫的 DQL (Data Control Language) 與查詢資料用的 DCL (Data Query Language)。簡介如下:

 

資料庫定義語言 - 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)

控制用戶權限,例如把某個電商網站的管理權、上架權等不同層級的權限,分派給不同的員工。

授予權限

REVOKE

收回權限

上述的 MySQL 語句種類,前端工程師只須看得懂 DDL、DML 與 DQL 就好。下一篇文章會講述 MySQL教學中, 中文亂碼的解決方式。請想提升技能的前端工程師多多關注我們的知識庫!


延伸閱讀:

半年的Java課程,讓他無縫接軌,順利重操舊業!

保險業務員終於不用再靠人脈吃飯,成功轉職Java工程師啦!

從務農子弟到Java工程師,竟只要X個月??

Facebook 開源 Python 語言的安全與隱私工具 Pysa

人工智慧又寫歌了!這次是跟重金屬天團 Metallica 致敬

暴躁老人唱情歌、憂鬱阿嬤笑了!4個翻轉家庭的人工智慧 讓家更溫暖

人工智慧貓砂盆 - 因愛貓腎病過世 工程師研發預防性貓用醫療品

這個網誌中的熱門文章

Python控制結構一點就通!(5)while迴圈

前端工程師絕不能搞錯的CSS中:逗號.空格的差別!

網頁前端CSS必學兩屬性:display與visible