Navicat 部落格

2019 年 4 月 23 日,由 Robert Gravelle 撰寫

如果你經常使用 MySQL 或 MariaDB,那麼你會發現 Navicat PremiumNavicat for MySQL是不可或缼的。除了 MySQL 和 MariaDB,Navicat for MySQL 還支援多種雲端服務,包括 Amazon RDS、Amazon Aurora、Oracle Cloud、Google Cloud、Microsoft Azure、Alibaba Cloud、Tencent Cloud 和 Huawei Cloud。而 Navicat Premium 是一個允許你從單一個應用程式同時連線到 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和SQLite 資料庫的資料庫開發工具,並且還與雲端資料庫相容。兩者都有易於使用的 GUI 介面,幫助你建立檢視、查詢和函式。此外,你可以將工作儲存到雲端中,以便可以重複使用和與團隊成員一同協作。

在本篇文章中,我將分享一些 MySQL 的秘訣和訣竅。你可以使用 Navicat for MySQL 或 Navicat Premium 來實踐。

1:從單欄擷取唯一值

假設你有一個數千個員工記錄的資料庫,並且你想知道在這些員工記錄中有多少個唯一的姓氏。我們可以建立一個 SELECT DISTINCT 查詢來執行此操作:

SELECT DISTINCT
    lastname
FROM
    employees
ORDER BY lastname;

當我們想要查看不同的員工時,除了執行上述查詢外,我們可以建立一個執行查詢的檢視:

CREATE VIEW distinct_emp_names AS
SELECT DISTINCT
    lastname
FROM
    employees
ORDER BY lastname;

以下是結果:

2:從多個欄中擷取唯一的資料

DISTINCT 子句也適用於多個欄。在這種情況下,MySQL 依賴於在這些欄中值的組合來判斷它們在結果集中的唯一性。例如,若要從資料表中取得城市和州的唯一組合,你可以建立以下檢視:

CREATE VIEW distinct_cities_and_states AS
SELECT DISTINCT
    state, city
FROM
    customers
WHERE
    state IS NOT NULL
ORDER BY state, city;

以下是檢視的結果:

3:修改欄名稱

假設你只想變更欄的名稱,可以執行 ALTER TABLE 語句來執行此操作。

ALTER TABLE MyTable CHANGE COLUMN `Old Name` to `New Name`;

在 Navicat 中,如果在資料表設計器中的某個欄位上按一下滑鼠右鍵,則可以選擇加入、插入、刪除和重新命名該欄位:

4:將全名拆分為名字和姓氏

有很多時候都需要將包含全名的欄(也就是 full_name)拆分為兩欄,例如 first_name 和 last_name。以下是使用 ALTER TABLE 語句的方法:

ALTER TABLE emails
        ADD COLUMN `first_name` VARCHAR(30) AFTER `full_name`,
        ADD COLUMN `last_name` VARCHAR(30) AFTER `first_name`;
UPDATE emails
SET
        # Trim the white space
        `full_name` = LTRIM(RTRIM(`full_name`)),
        # Get the first name and copy it to a new column
        `first_name` = SUBSTRING_INDEX(`full_name`, ' ', 1),
        # Get the second name and copy it to a new column
        `last_name` = SUBSTRING_INDEX(`full_name`, ' ', -1)

以下是 Navicat 查詢編輯器中顯示的上述語句:

總結

在今天的文章中,我們學習了一些 MySQL 的秘訣和訣竅,可以使用 Navicat PremiumNavicat for MySQL來實踐。Navicat 資料庫管理工具使大多數的 DBA 和開發工作變得更容易。兩者都有 14 天免費試用期,立即親自嘗試一下!

Navicat 文章
頻道記錄
分享
部落格封存檔