Tuesday, June 15, 2021
更多
    Home網站後端開發MySQL前端工程師也該會的後端:MySQL 的 DDL DML DQL DCL

    前端工程師也該會的後端:MySQL 的 DDL DML DQL DCL

    對於前端工程師來說,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 前端工程師也該會的後端:MySQL 的 DDL DML DQL DCLLanguage)

    定義資料庫的結構,常見語句有 CREATE、DROP、ALTER。

    DROP

    丟棄或刪除資料庫。寫法如下:

    刪除一個「已經確定存在」的資料庫:

    DROP DATABASE 資料庫名稱;

    範例:

    DROP DATABASE xz;

    刪除一個「不確定是否存在」的資料庫:

    DROP DATABASE 資料庫名稱;

    範例一. 在不確定名為「xz」的資料庫是否存在的狀況下,刪除 xz 資料庫:

    DROP DATABASE IF EXISTS xz;

    在cmd操作MySQL刪除資料庫
    ▲ 在命令提示字元使用 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 混淆導致無法建表 (如下圖)。

    在cmd操作MySQL創建的欄目名稱與保留字重複而無法建表
    ▲ 在命令提示字元使用 MySQL 創建的欄目名稱「usage」與保留字重複,而導致無法建表。

     

    為了區分,因此加了反引號,為「`usage`」。

    其實 MySQL 的保留字很多,前端工程師不可能每個都記熟。所以寧可在每次創建表格時,都在欄目名稱的左右側加上反引號。如下圖所示:

    在cmd操作MySQL創建名為「FrontEndElements」的表格
    ▲ 在命令提示字元使用 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','資料庫');

    在cmd操作MySQL創建4個內容
    ▲ 在命令提示字元使用 MySQL 創建 4 個內容,內容的值對應到兩個表格欄目「element(元素)」、「usage(用途)」。

     

    下圖為從 MySQL 叫出表格「FrontEndElements」的所有內容。指令稍後在本文 DQL 段落會講解。

    在cmd操作MySQL觀看表中內容
    ▲ 在命令提示字元使用 MySQL 觀看 FrontEndElements 表中所有內容

     

    UPDATE

    更改資料到資料表中。寫法如下:

    UPDATE 資料表名稱 SET 欄位名稱='更新後的內容' WHERE 條件敘述;

    範例、今天將上述的表格中,’JavaScript’ 的 ‘usage’ 修改為 ‘管理網頁的互動與動態內容’。如下所示:

    UPDATE FrontEndElements SET `usage`='管理網頁的互動與動態內容' WHERE element='JavaScript';

    在cmd修改MySQL其中一個內容
    ▲ 在命令提示字元使用 MySQL 將「JavaScript」的 `usage`欄目中,內容改為 ‘管理網頁的互動與動態內容’。

     

    DELETE

    刪除資料表中的資料。寫法如下:

    DELETE FROM 資料表名稱 WHERE 條件敘述;

    範例、今天將上述的表格的 ‘SQL’ 刪掉,寫法如下所示:

    DELETE FROM FrontEndElements WHERE element='SQL';

    在cmd刪除MySQL其中一個內容
    ▲ 在命令提示字元使用 MySQL 將名稱為「MySQL」的 整欄刪除。

     

    資料庫查詢語言 – DQL (Data Query Language)

    查詢資料使用,不會對資料產生任何更動的語句。指令只有一種:

    SELECT

    撈出表中的資料,例如我們要撈出上述表格的所有內容,寫法如下:

    SELECT * FROM  FrontEndElements;

    在cmd操作MySQL觀看表中內容
    ▲ 在命令提示字元使用 MySQL 觀看 FrontEndElements 表中所有內容

     

    資料庫控制語言 – DCL (Data Control Language)

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

    GRANT

    授予權限

    REVOKE

    收回權限

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

    最新文章

    熱門文章

    - Advertisment -