MySQL 是全球最流行的用于管理關系數(shù)據(jù)庫的開源數(shù)據(jù)庫軟件。除了具有強大的功能外,它還比 Microsoft SQL Server 和 Oracle 數(shù)據(jù)庫快速、可擴展且更易于使用。因此,php 腳本通常用于創(chuàng)建功能強大且動態(tài)的服務器端/基于 Web 的應用程序。
注意:數(shù)據(jù)庫是數(shù)據(jù)的結構化集合
SQL是Structured Query Language的縮寫,是用于訪問數(shù)據(jù)庫的標準化語言。
SQL由三部分組成:
-
數(shù)據(jù)定義語言:這些語句可幫助你定義數(shù)據(jù)庫及其相關對象,例如表。
-
數(shù)據(jù)操作語言:包含允許你更新和查詢數(shù)據(jù)的語句。
-
數(shù)據(jù)控制語言:允許你授予用戶訪問數(shù)據(jù)庫中特定數(shù)據(jù)的權限。
現(xiàn)在讓我們深入了解如何使用 MySQL。
在使用 MySQL 之前,你首先必須在你的系統(tǒng)上安裝它。請查看我們之前發(fā)布的在 Ubuntu上安裝 MySQL以及如何在 windows 上安裝 MySQL并返回此處。
MySQL Workbench
MySQL Workbench 是一個統(tǒng)一的可視化數(shù)據(jù)庫工具或圖形用戶界面 (GUI) 工具,它允許用戶與數(shù)據(jù)庫架構師、管理員和開發(fā)人員一起工作。MySQL 工作臺由 Oracle 創(chuàng)建維護。
該工具必不可少,因為它提供了 SQL 開發(fā)、數(shù)據(jù)遷移、建模和用于服務器管理、配置等的完整管理工具。例如,開發(fā)人員可以使用服務器管理員為 SQL 開發(fā)創(chuàng)建新的 ER 圖、物理數(shù)據(jù)模型和查詢。
MySQL Workbench 適用于所有主要操作系統(tǒng),例如 Windows、macOS 和 linux。
MySQL Workbench 的 五個主要功能突出顯示如下:
-
服務器管理:此功能允許管理員和檢查員檢查審計數(shù)據(jù)來管理 MySQL 服務器實例。此外,它還有助于查看和監(jiān)控數(shù)據(jù)庫運行狀況、執(zhí)行恢復和備份以及監(jiān)控 MySQL 服務器性能。
-
SQL 開發(fā):此功能對開發(fā)人員至關重要,因為它使他們能夠在內置 SQL 編輯器的幫助下執(zhí)行 SQL 查詢、管理和創(chuàng)建數(shù)據(jù)庫服務器連接。
-
數(shù)據(jù)遷移:此功能增強了從 Microsoft SQL Server、Microsoft Access PostgreSQL、SQL Anywhere、SQLite、Sybase ASE 和其他關系數(shù)據(jù)庫管理系統(tǒng)以及對象、數(shù)據(jù)和表到 MySQL 的輕松遷移。此外,它還支持從 MySQL 舊版本遷移到新版本。
-
數(shù)據(jù)建模&設計:此功能使用戶能夠以圖形方式創(chuàng)建數(shù)據(jù)庫模型,在實時數(shù)據(jù)庫和模式之間執(zhí)行正向和反向工程。此外,此功能允許用戶使用完整的表格編輯器編輯所有數(shù)據(jù)庫方面。表編輯器至關重要,因為它為索引、視圖、分區(qū)、列和表提供了編輯工具。
1. 社區(qū)版:這是一個開源版;因此,用戶可以自由下載適合其操作系統(tǒng)和需求的任何版本。社區(qū)版遵循 GPL 許可;因此,它得到了社區(qū)開發(fā)人員的支持。
2. 標準版:有了這個商業(yè)版,保證了高性能交付,同時也保證了用戶可擴展的OLTP(在線事務處理)應用程序。這個版本使得 MySQL 以可靠性、性能和強大實力而聞名。
3. 企業(yè)版:這是另一個商業(yè)版,與所有其他版本相比,它包括更高級的功能、安全性、正常運行時間、技術支持、管理工具和可擴展性。企業(yè)版降低了管理和部署應用程序的成本、風險和開發(fā)復雜性。
下面是一個簡化的比較表:
功能性 | 社區(qū)版 | 標準版 | 企業(yè)版 |
---|---|---|---|
對象管理 | Yes | Yes | Yes |
用戶和會話管理 | Yes | Yes | Yes |
可視化 SQL 開發(fā) | Yes | Yes | Yes |
性能調優(yōu) | Yes | Yes | Yes |
可視化數(shù)據(jù)庫管理 | Yes | Yes | Yes |
數(shù)據(jù)管理 | Yes | Yes | Yes |
可視化數(shù)據(jù)建模 | Yes | Yes | Yes |
連接管理 | Yes | Yes | Yes |
正向工程 | Yes | Yes | Yes |
逆向工程 | Yes | Yes | Yes |
數(shù)據(jù)庫文檔 | No | Yes | Yes |
模式同步 | Yes | Yes | Yes |
MySQL Enterprise 備份的 GUI | No | No | Yes |
數(shù)據(jù)庫遷移 | Yes | Yes | Yes |
插件和腳本 | Yes | Yes | Yes |
MySQL 企業(yè)防火墻的 GUI | No | Yes | Yes |
MySQL 企業(yè)審計的 GUI | No | No | Yes |
模式和模型驗證 | No | Yes | Yes |
注意:
社區(qū)版是唯一的開源版,標準版和企業(yè)版是商業(yè)版。
要快速了解要選擇的工作臺版本,請參閱上面的比較表。
MacOS版本
Window版本
MySQL Workbench 功能本次教程使用MacOS社區(qū)版本為例,Window 版本基本類似,除了主菜單欄位置不一樣,其他基本一致。
MySQL Workbench 前端顯示具有以下功能分區(qū):
-
連接選項卡
-
主菜單欄
-
主工具欄
-
管理工具
-
可視化編輯器
-
幫助面板
-
查詢結果
-
側邊欄面板
MySQL 可視化編輯器 管理工具
這是 MySQL Workbench 中最重要的工具,因為它有助于保護公司的數(shù)據(jù)。我們將對這個工具中的用戶管理、數(shù)據(jù)庫備份、數(shù)據(jù)庫恢復、服務器配置和服務器日志進行詳細的檢查。
用戶管理
用戶管理或管理工具是一個有用的可視化工具,使用戶能夠管理活動的 MySQL 服務器實例。在此部分,用戶可以添加用戶帳戶、刪除權限、管理用戶帳戶和查看用戶配置文件。
數(shù)據(jù)庫備份
這是另一個使用戶能夠導入 MySQL 轉儲文件的可視化工具。轉儲文件是允許數(shù)據(jù)庫、表、存儲過程和視圖的 SQL 腳本的組合。
數(shù)據(jù)庫恢復
數(shù)據(jù)庫恢復是一個可視化工具,允許用戶導出 MySQL 轉儲文件。如上所述,轉儲文件在創(chuàng)建數(shù)據(jù)庫、視圖、表和存儲過程中起著至關重要的作用。
服務器配置
此工具允許高級服務器配置。它至關重要,因為它為用戶提供了有關服務器、多個線程、狀態(tài)變量、微調和緩沖區(qū)分配大小的所有必需信息。所有這些功能都與正確的服務器配置相關聯(lián)。
性能儀表板
此選項卡必不可少,因為它為用戶提供了 MySQL 服務器性能的統(tǒng)計視圖。打開此選項卡,導航到導航選項卡和性能部分,然后選擇“儀表板”。
服務器日志
此工具通過每個連接選項卡顯示 MySQL 服務器的日志信息。服務器日志包含每個連接選項卡的所有日志信息,還包括其他選項卡的一般錯誤日志。
如何在 MySQL Workbench 中創(chuàng)建、刪除和更改數(shù)據(jù)庫
在這里,我們一起學習如何在 MySQL Workbench 的幫助下創(chuàng)建、更改和刪除數(shù)據(jù)庫。
創(chuàng)建數(shù)據(jù)庫
在 MySQL Workbench 中創(chuàng)建數(shù)據(jù)庫有兩種方法可以選擇。
方法一:
按照下面提到的步驟在 MySQL Workbench 中創(chuàng)建數(shù)據(jù)庫:
-
在你的 Windows 操作系統(tǒng)上打開 MySQL Workbench,然后使用你在安裝程序時提供的憑據(jù)登錄。成功登錄后,你將看到與下圖類似的屏幕。
-
打開工作臺應用程序后,點擊如下圖寫有 “+” 的按鈕,建立新的連接。
MySQL 創(chuàng)建新連接
-
其次,輸入連接的名稱,然后單擊測試連接按鈕。
MySQL 設置新連接
-
單擊該按鈕后,工作臺將運行并顯示一個對話框,要求你輸入 “root” 用戶的密碼:
-
在這個部分,你需要先輸入root用戶的密碼;之后,單擊 “Save password in vault” 中的復選框,然后單擊底部的 “OK” 按鈕繼續(xù)該過程。
MySQL輸入root密碼
-
上一步完成后,雙擊連接名稱“PyDataStudio”連接MySQL服務器,如下圖示例所示。
MySQL 連接到服務器
-
之后,MySQL Workbench 將打開以下窗口,其中包含四個部分: 導航器、查詢、信息和輸出。
MySQL 可視化編輯器屏幕
-
繼續(xù)并單擊工具欄中的 “create a new schema in the connected server” 按鈕。你應該會看到類似于下面的屏幕截圖的內容。
MySQL 可視化編輯器屏幕
注意:用戶必須熟悉數(shù)據(jù)庫中使用的所有術語,以便更方便的熟悉導航和工作流程。例如,schema這個術語對你們中的一些人來說可能聽起來很新;然而,它僅僅意味著一個數(shù)據(jù)庫。因此,如果要求創(chuàng)建一個新schema,你將需要用簡單的術語創(chuàng)建一個數(shù)據(jù)庫。
輸入schema名稱以繼續(xù)下一步。
MySQL 輸入schema名稱
注意:創(chuàng)建數(shù)據(jù)庫時,默認設置字符集和排序規(guī)則;因此你不需要更改排序規(guī)則和字符集。排序規(guī)則是一種用于存儲主要用于保留外語的特定數(shù)據(jù)字符的功能。相反,字符集是字符串中的合法字符集。
完成上一步(輸入schema名稱)后,單擊窗口底部的 “Apply” 按鈕。
MySQL 審查 SQL 腳本
注意:如果你覺得自己沒有做正確,MySQL Workbench 有一個 “Revert” 按鈕,可以幫助你撤消之前所做的所有事情。
單擊 “Apply” 按鈕后,MySQL Workbench 會打開一個窗口,顯示要執(zhí)行的 SQL 腳本。
注意 CREATE SCHEMA命令與 CREATE DATABASE語句相同。因此可以使用任何適合你的方式來創(chuàng)建數(shù)據(jù)庫。
完成后,你將在模式選項卡中看到新創(chuàng)建的數(shù)據(jù)庫。
MySQL成功創(chuàng)建數(shù)據(jù)庫 方法二:
在此方法中,打開 MySQL Workbench,然后登錄,然后在查詢編輯器中鍵入以下語句并執(zhí)行它以創(chuàng)建一個新數(shù)據(jù)庫。
創(chuàng)建數(shù)據(jù)庫案例注:此方法是方法一的快捷方式;因此,如果你急于創(chuàng)建數(shù)據(jù)庫,建議你選用方法 2。
要創(chuàng)建一個名為 STUDIO (該名稱取自公眾號:數(shù)據(jù)STUDIO)的數(shù)據(jù)庫,使用以下語句:
CREATE SCHEMA STUDIO
MySQL 創(chuàng)建數(shù)據(jù)庫
使用上圖中突出顯示的執(zhí)行按鈕執(zhí)行此語句后,它將創(chuàng)建一個數(shù)據(jù)庫 “STUDIO”。
MySQL STUDIO 數(shù)據(jù)庫
注意:如果你打算在整個項目中將此數(shù)據(jù)庫用作主數(shù)據(jù)庫,則需要執(zhí)行以下操作:
-
右鍵單擊新創(chuàng)建的數(shù)據(jù)庫名稱
-
選擇 “Set as Default Schema” 的選項。
你新創(chuàng)建的數(shù)據(jù)庫現(xiàn)在將成為你的默認Schema或數(shù)據(jù)庫。
一些用戶發(fā)現(xiàn)運行執(zhí)行按鈕后,輸出顯示綠色復選標記,表示數(shù)據(jù)庫已成功創(chuàng)建;但是,他們無法在架構選項卡中看到數(shù)據(jù)庫。如果你也有類似的情況,只需單擊 “Schemas” 后的刷新按鈕即可顯示你新創(chuàng)建的數(shù)據(jù)庫。
MySQL 刷新按鈕
默認情況下,數(shù)據(jù)庫包含:
-
Tables
-
Views
-
Stored Procedures
-
Functions
如果你雙擊你的數(shù)據(jù)庫名稱,你將看到上面提到的功能。
MySQL 數(shù)據(jù)庫功能
注意:默認情況下,MySQL Workbench 不允許重命名數(shù)據(jù)庫。因此,用戶只能在已構建的數(shù)據(jù)庫中創(chuàng)建、更新和刪除表和數(shù)據(jù)。
但是,如果你覺得自己創(chuàng)建了錯誤的數(shù)據(jù)庫,請按照本文中提到的步驟將其刪除:
刪除數(shù)據(jù)庫
在用戶對現(xiàn)有的數(shù)據(jù)庫不再需要的情況下,可以選擇通過簡單地 drop數(shù)據(jù)庫來刪除它。
因此,要刪除數(shù)據(jù)庫,有以下步驟:
-
選擇要刪除的數(shù)據(jù)庫并右鍵單擊它。選擇 “Drop Schema” 選項,如下圖所示:
MySQL Drop Schema
-
在彈出窗口中選擇第二個選項,即 “Drop Now” 。一旦選中,整個數(shù)據(jù)庫(包括數(shù)據(jù)行、表、函數(shù)、存儲過程和視圖)都將從 MySQL 數(shù)據(jù)庫服務器中刪除。
MySQL 立即刪除
如何在 MySQL Workbench 中創(chuàng)建、更新和刪除表注意:在刪除選定的數(shù)據(jù)庫之前,你可以通過單擊 “Review SQL” 來查看它,這是上面屏幕截圖中指示的第一個選項。
在本節(jié)中,我們將學習如何在 MySQL Workbench 的下創(chuàng)建、更新和刪除表。
創(chuàng)建表
按照下面提到的步驟創(chuàng)建表:
-
首先,打開 MySQL Workbench,使用你在安裝過程中提供的root密碼登錄。然后導航到導航選項卡并選擇schema選項卡。模式菜單將顯示所有創(chuàng)建的數(shù)據(jù)庫。如果你覺得需要創(chuàng)建一個新數(shù)據(jù)庫,請按照上面的指南創(chuàng)建一個數(shù)據(jù)庫。
-
選擇你的數(shù)據(jù)庫,雙擊進入表、視圖、函數(shù)、存儲過程等數(shù)據(jù)庫子菜單。
-
選擇表的子菜單并右鍵單擊它以選擇 “Create Table” 選項。或者,你可以在創(chuàng)建schema菜單后從主工具欄創(chuàng)建一個新表。
MySQL 創(chuàng)建表
-
新表屏幕打開后,你必須填寫所有詳細信息。例如,在表中輸入表名(PyDataStudio_authors),然后使用默認引擎和排序規(guī)則。
-
在中間窗口內單擊,填寫列詳細信息。列名始終包含主鍵 (PK)、唯一索引 (UI)、自動增量 (AI)、非空 (NN)、二進制 (B)、無符號數(shù)據(jù)類型 (UN) 和 G(生成的列)等屬性.
要清楚地了解和理解上述屬性,請參見下面截圖。填寫完所有詳細信息后,單擊 “Apply” 按鈕。但是,如果你不小心做錯了,可以借助 “Revert” 按鈕進行還原。
MySQL表填寫詳細信息
-
立即單擊 “Apply” 按鈕,將打開一個 SQL 語句窗口。在此階段,你需要單擊 “Apply” 按鈕執(zhí)行語句,然后按 “Finish” 按鈕保存更改。
MySQL SQL 語句
-
最后,導航到 “SCHEMAS” 菜單,選擇你的數(shù)據(jù)庫并雙擊它以打開新創(chuàng)建的表,如下圖所示:
按照下面提到的步驟更新表:
注意:你只能在創(chuàng)建表后更新它。
-
選擇要修改的數(shù)據(jù)庫下的表,然后單擊屏幕截圖中突出顯示的“表圖標”圖標。
MySQL 更新表
-
在上面的屏幕中,你可以根據(jù)需要更新和修改列名、數(shù)據(jù)類型和所有其他表設置。例如,你可以查看下圖中的更新表。
MySQL 更新表 刪除表
刪除表的步驟與文章中提到的刪除數(shù)據(jù)庫的步驟類似。因此,請按照以下提示成功刪除表:
-
選擇你要下載的表格,然后右鍵單擊它并選擇 “Drop Table” 選項。將顯示一個類似于下圖的彈出窗口。
MySQL 刪除表彈出窗口
-
從彈出窗口中選擇 “Drop Now” 選項以立即從數(shù)據(jù)庫中刪除該表。
MySQL 刪除表 如何在 MySQL Workbench 中插入、讀取、更新和刪除數(shù)據(jù)行
在本節(jié)中,我們將學習如何在 MySQL Workbench 中插入、讀取、更新和刪除數(shù)據(jù)行。
插入數(shù)據(jù)行
首先,你需要做的是:
-
啟動 MySQL Workbench 并使用正確的憑據(jù)(root 密碼)登錄。然后,繼續(xù)導航選項卡并單擊“Schemas”菜單。在這里,你將找到一個成功創(chuàng)建的數(shù)據(jù)庫(數(shù)據(jù)STUDIO)和一個包含使用 MySQL 工作臺的作者的表。
-
選擇已經(jīng)創(chuàng)建的表格,然后將鼠標懸停在PyDataStudio_authors表上。你將在“authors”列的右側看到三個圖標。單擊表打開一個新窗口(確保支持部分或查詢編輯器指示 MySQL 語句,而下部或輸出部分顯示數(shù)據(jù)行)。請參閱下面的屏幕截圖:
MySQL 單擊突出顯示的表圖標
-
如果你希望將數(shù)據(jù)輸入一行并插入數(shù)據(jù)值,請選擇所需的列。不要擔心數(shù)據(jù)插入,因為它類似于 Excel 工作表。
-
輸入完數(shù)據(jù)行后,單擊“Apply”和“Finish”按鈕保存輸入的數(shù)據(jù)行。
MySQL 插入數(shù)據(jù)行 更新數(shù)據(jù)行
這個過程有點類似于我們已經(jīng)處理過的關于如何更新表的過程。在我們的例子中,我們可以修改和編輯保存的數(shù)據(jù)行。調整更改后,你可以單擊 “Apply” 按鈕保存更改。這將生成一條 SQL 更新語句,確保單擊 “Finish” 以保存對數(shù)據(jù)行所做的所有更改。
刪除行
選擇一個數(shù)據(jù)行,右鍵單擊該行前面顯示的圖標,然后選擇 “Delete Row(s)” 選項。此過程將幫助你從表中刪除單個行。完成后,你可以單擊 “Apply” 按鈕確認更改。之后,單擊 “Finish” 按鈕以保存對數(shù)據(jù)庫所做的所有更改。
![MySQL 更新數(shù)據(jù)行](新手入門 MySQL 保姆級教程.assets/Kapture 2022-09-12 at 20.19.20.gif)
如何在 MySQL Workbench 中導入/導出表或數(shù)據(jù)庫
在本節(jié)中,我們將學習如何在 MySQL Workbench 中導入及導出表或數(shù)據(jù)庫。
導出數(shù)據(jù)庫或表
按照以下步驟使用 MySQL 工作臺導出數(shù)據(jù)庫或表:
-
首先,轉到菜單欄并單擊 “Server”,然后選擇 “Data Export” 選項,如下圖所示。單擊 “Data Export” 選項后,將彈出一個包含數(shù)據(jù)導出選項和設置的新窗口。
MySQL 數(shù)據(jù)導出
-
如果你選擇任何數(shù)據(jù)庫,它將顯示所選數(shù)據(jù)庫的所有對應表。在本節(jié)中,用戶可以使用提供的復選框選擇多個數(shù)據(jù)庫。請記住,任何選定的數(shù)據(jù)庫都將包含在導出文件中。同樣,用戶可以從左側部分窗口中選擇多個表格,如下圖所示:
MySQL 導出數(shù)據(jù)庫
-
在本文教程中,我們將選擇一個數(shù)據(jù)庫(數(shù)據(jù)STUDIO)。此外,將選擇數(shù)據(jù)庫下的表。現(xiàn)在導航下拉框并根據(jù)用戶的需要和要求選擇“Dump Structure and Data, Dump Data Only, and Dump Structure Only”。
-
Dump Structure and Data:轉儲數(shù)據(jù)和結構,如果選擇此選項,它將同時保存數(shù)據(jù)行和表結構
-
Dump Data Only:僅轉儲數(shù)據(jù),此選項將僅將插入的數(shù)據(jù)行保存在表中。
-
Dump Structure Only:僅轉儲結構,此選項將僅保存表結構(這是用戶定義的數(shù)據(jù)庫列和數(shù)據(jù)類型)
-
-
你可以決定選擇導出文件的導出路徑。這里我們使用默認路徑設置。
注意:有兩個單選按鈕,如下所述:
-
Export to Dump Project Folder:導出到轉儲項目文件夾,此選項將所有表作為單獨的 SQL 文件保存在同一文件夾中。每當用戶一一還原導出文件時,這總是有用的。
-
Export to Self-Contained File:導出到獨立文件,此選項會將所有表和數(shù)據(jù)庫存儲到單個 SQL 文件中。當用戶選擇將所有數(shù)據(jù)庫、表和數(shù)據(jù)行作為單個 SQL 文件導入時,始終首選此選項。
-
MySQL 工作臺打開后轉到菜單欄。確保。在將 MySQL 程序安裝到操作系統(tǒng)中時,你不會忘記為 root 用戶提供的憑據(jù)。接下來,單擊“Server”并選擇“Data Import”選項。這將打開一個包含數(shù)據(jù)導入選項和設置的新窗口。
MySQL 數(shù)據(jù)導入
-
你將看到兩個導入表和數(shù)據(jù)庫的選項,它們是:
-
“Import from Dump Project Folder.” 從轉儲項目文件夾導入
-
“Import from Self-Contained file.” 從獨立文件導入
-
MySQL 數(shù)據(jù)導入設置
-
選擇第一個選項,即 “Import from Dump Project Folder”。之后,單擊 “Import from Dump Project Folder” 下的 “Load Folder Contents” 以顯示項目文件夾中包含的所有可用數(shù)據(jù)庫。
從轉儲項目文件夾導入 MySQL 數(shù)據(jù)
-
從 “Data Import Option” 中選擇我們創(chuàng)建的數(shù)據(jù)庫 “數(shù)據(jù)STUDIO” 以及相應作者的表。
MySQL 數(shù)據(jù)導入選項
-
該階段的下一步是選擇 “Dump Structure and Data” 選項,通過單擊 “Start Import” 按鈕從備份文件中導入表和數(shù)據(jù)庫來完成該過程。
-
你新導入的數(shù)據(jù)庫和表可以在 Schema 部分中找到。如果你的表和數(shù)據(jù)庫沒有反映,你將單擊模式選項旁邊的刷新按鈕。這將顯示 MySQL 服務器上所有新更新的文件。
MySQL 導入的數(shù)據(jù)庫和表 如何連接到 MySQL 服務器
安裝服務器后,你可以使用任何客戶端程序(例如 MySQL 命令行和 MySQL 工作臺)連接它。
使用命令行客戶端連接到 MySQL
MySQL 允許你以交互和非交互模式與 MySQL 交互。命令行客戶端通常位于安裝文件夾的 bin 目錄中,要調用該程序,你只需導航到 MySQL 安裝文件夾的 bin 目錄并鍵入:
mysql
如果程序已經(jīng)在 PATH 中,你可以使用 “mysql” 語法簡單地調用它。
另一方面,使用此命令連接到 MySQL 服務器:
mysql -u root –p
-
-u root:使用戶能夠在 root 帳戶的幫助下連接到 MySQL 服務器
-
-p:指示 MySQL 提示輸入密碼。
輸入你的 root 帳戶的密碼,然后按“Enter”繼續(xù)下一步 確保輸入正確的憑據(jù)以使用以下命令連接到 MySQL 服務器:
mysql>
要顯示如下輸出的數(shù)據(jù)庫:
在當前服務器中,你使用 SHOW DATABASES 語句:
mysql> showdatabases;
這是輸出:
MySQL 顯示數(shù)據(jù)庫 數(shù)據(jù)庫連接示例
你可以使用以下鏈接(https://www.mysqltutorial.org/wp-content/uploads/2018/03/mysqlsampledatabase.zip)下載 MySQL 示例數(shù)據(jù)庫
下載文件已壓縮。因此,你需要使用 zip 程序對其進行解壓縮。
將 sampledatabase.zip 文件解壓后,可以將示例數(shù)據(jù)庫加載到 MySQL 數(shù)據(jù)庫服務器中,并使用以下 SQL 語句進行測試:
USEclassicmodels;
SELECT* FROMcustomers;
MySQL 加載示例數(shù)據(jù)庫
基本上,語句的本質是將當前數(shù)據(jù)庫切換到經(jīng)典模型,并從客戶表中查詢數(shù)據(jù)。因此,如果你看到返回的客戶數(shù)據(jù),則說明你已成功將示例數(shù)據(jù)庫導入 MySQL 數(shù)據(jù)庫服務器。
示例數(shù)據(jù)庫架構
MySQL 數(shù)據(jù)庫模式具有以下表:
-
Customers:客戶,存儲客戶的數(shù)據(jù)
-
Products:產(chǎn)品,比例模型汽車的商店列表
-
Product lines:產(chǎn)品線,商店產(chǎn)品線類別列表
-
Orders:訂單,存儲客戶下達的銷售訂單
-
Order details:訂單詳細信息,存儲每個拍賣訂單的訂單行詳細信息
-
Payments:付款,存儲客戶根據(jù)其帳戶進行的付款
-
Employees:員工,存儲員工信息以及組織結構,例如誰向誰報告
-
offices:辦公室,商店銷售辦公室數(shù)據(jù)
第 1 步:從 MySQL 示例數(shù)據(jù)庫部分下載 classicmodels 模式
第 2 步:將下載的文件解壓縮到你可以輕松訪問的文件夾中。你可以使用任何你想要的文件夾。對于我們的例子,讓我們將文件解壓縮到Mysql目錄。
解壓文件
第 3 步:使用以下語法創(chuàng)建數(shù)據(jù)庫:
createdatabasemysqlsimpledatabase;
創(chuàng)建數(shù)據(jù)庫
第 4 步:借助 USE 語句,現(xiàn)在讓我們使用新創(chuàng)建的示例數(shù)據(jù)庫。為此,請使用以下語法;
usemysqlsimpledatabase;
使用數(shù)據(jù)庫
第 5 步:更改數(shù)據(jù)庫后,我們現(xiàn)在將繼續(xù)下一步,即將我們的“mysqlsampledatabase”導入我們的 MySQL 服務器。使用以下語法導入數(shù)據(jù)庫;
Source /usr/local/mysql/mysqlsampledatabase.sql
MySQL 導入數(shù)據(jù)庫
注意:在 “Source” 語句之后,放置解壓數(shù)據(jù)庫的路徑。這有所不同,因為你的目錄與我的不同。
第 6 步:使用 “SHOW DATABASES” 命令列出當前服務器中的所有數(shù)據(jù)庫:
showdatabases;
提供的輸出應類似于下圖所示,即新創(chuàng)建的經(jīng)典模型數(shù)據(jù)庫。
MySQL 顯示一個新創(chuàng)建的數(shù)據(jù)庫
你現(xiàn)在已使用 MySQL 命令行客戶端將數(shù)據(jù)庫導入 MySQL 服務器。
了解 MySQL Shell 命令
MySQL shell 至關重要,因為它使用戶能夠修改代碼編輯器的環(huán)境執(zhí)行,例如活動編程語言配置或 MySQL 服務器連接。以下是包含所有命令的比較表,無論使用或選擇何種語言。
注意:命令要獨立于執(zhí)行模式;因此,它們以“”(轉義序列)開頭
命令 | 捷徑 | 描述 |
---|---|---|
help | h or ? | 獲取有關 MySQL 的幫助 |
quit | q or exit | 退出 MySQL 外殼 |
status | s | 顯示 MySQL shell 的當前狀態(tài) |
在 SQL 模式下開始多行模式。(當輸入一個空行時,代碼被緩存然后執(zhí)行) | ||
js | 將執(zhí)行模式更改為 JAVA | |
connect | C | 連接 MySQL 實例 |
py | 將執(zhí)行模式更改為 Python/ target=_blank class=infotextkey>Python | |
reconnect | 重新連接到 MySQL 實例 | |
sql | 更改為 SQL 執(zhí)行模式 | |
source | . Or source不帶反斜杠) | 將使用活動語言執(zhí)行腳本 |
disconnect | 斷開與全局會話的連接 | |
use | u | 指定要使用的架構 |
history | 編輯和查看命令行歷史 | |
warning | W | 顯示執(zhí)行語句生成的警告 |
nowarning | w | 不顯示執(zhí)行語句產(chǎn)生的警告 |
watch | 在選項和參數(shù)的幫助下運行提供的報告并定期刷新結果 | |
rehash | 手動更新自動完成名稱緩存 | |
show | 在參數(shù)和選項的幫助下運行提供的報告 | |
option | 更改和查詢 MySQL shell 配置選項 | |
system | ! | 運行指定的操作系統(tǒng)命令并在 MySQL shell 中顯示結果 |
pager | p | 配置 MySQL 使用的 pager 以顯示文本 |
edit | e | 在默認系統(tǒng)編輯器中打開命令,然后在 MySQL shell 中運行它 |
nopager | 禁用 MySQL shell 之前配置為使用的所有尋呼機 |
如何在 MySQL 中創(chuàng)建用戶
你對 MySQL 用戶這個詞是怎么理解的?這是存儲在“USER”表中的記錄,其中包含 MySQL 服務器的帳戶權限、登錄信息和主機信息。創(chuàng)建用戶至關重要,因為它在管理和訪問數(shù)據(jù)庫中起著至關重要的作用。
要創(chuàng)建一個新的 MySQL 用戶,我們使用 Create User 語句。此語句在數(shù)據(jù)庫服務器中創(chuàng)建一個新用戶帳戶。新創(chuàng)建的帳戶為新帳戶提供資源限制、角色、TLS/SSL、身份驗證和密碼管理屬性。它還使用戶能夠控制需要鎖定和解鎖的帳戶。
如果你打算使用此語句,請確保擁有 “Create User Statement” 的全局權限。此外,你可以改為擁有 “INSERT” 權限。
注意:創(chuàng)建一個已經(jīng)存在的用戶會拋出一個錯誤信息。但是,如果你使用 “IF NOT EXISTS” 子句,該語句將對所有已存在的名稱發(fā)出警告,而不是拋出錯誤消息。
默認情況下,MySQL 服務器包含允許合法所有者管理和訪問數(shù)據(jù)庫的 root 用戶帳戶。但是,有時可以授予其他用戶訪問數(shù)據(jù)庫的機會,而無需為其提供完全控制權。在這種情況下,為非 root 用戶提供訪問和修改數(shù)據(jù)庫的有限權限。
在 MySQL 服務器中創(chuàng)建用戶
首先,我們需要檢查服務器中的所有現(xiàn)有用戶。為此,請使用以下語法:
selecthost, userfrommysql.user;
可用用戶列表
使用下面的語法在數(shù)據(jù)庫中創(chuàng)建一個新用戶。
createuser'account_name'@ 'localhost'identifiedby'MyPassword';
讓我們分解上面的語法,以便你清楚地理解我們在說什么:
“account_name”是新用戶,而“MyPassword”是新用戶用于登錄 MySQL 服務器的密碼。
注意:“account_name”包含兩部分:用戶名和主機名。用戶名和主機名由@symbol 分隔。
主機名:是用戶可以用來連接數(shù)據(jù)庫的主機名。
用戶名是訪問或修改數(shù)據(jù)庫的用戶名。
username@hostname
注意:主機名是可選的。因此,如果你不創(chuàng)建它,用戶可以使用服務器上任何其他創(chuàng)建的主機。
要編寫不帶主機名的用戶名,請使用以下語法:
username@%
必須了解使用 create user 語句將創(chuàng)建具有完全權限的用戶。要限制權限,你將使用“GRANT”語句。
創(chuàng)建新用戶示例
遵循以下準則在 MySQL 數(shù)據(jù)庫服務器中創(chuàng)建新用戶:
-
借助 MySQL 客戶端工具,打開 MySQL 服務器
-
輸入安裝期間提供的憑據(jù)
-
要顯示當前 MySQL 服務器中的所有用戶,請執(zhí)行以下命令:
可用用戶列表
-
使用以下命令創(chuàng)建新用戶:
創(chuàng)建新用戶
-
運行前面的命令以顯示所有用戶,如下圖所示
顯示所有用戶
從上圖可以看到 “PyDataStudio”用戶已經(jīng)創(chuàng)建成功。讓我們嘗試將“ IF NOT EXISTS”語句與“ CREATE USER”語句一起使用。
CREATEUSERIFNOTEXISTS數(shù)據(jù)STUDIO@localhost IDENTIFIEDBY'kip34834331';
IF NOT EXISTS 語句 向最近創(chuàng)建的用戶授予權限
以下是 MySQL 服務器提供的一些常用權限。
-
ALL PRIVILEGES:這個實例中的新用戶被允許控制整個數(shù)據(jù)庫。
-
CREATE:允許用戶創(chuàng)建表和數(shù)據(jù)庫
-
DELETE:允許用戶刪除特定表的行
-
SELECT:將使用戶能夠讀取數(shù)據(jù)庫
-
UPDATE:這將允許用戶更新表行
-
INSERT:允許用戶在特定表中插入一行
-
DROP:允許用戶刪除表和數(shù)據(jù)庫
要授予新創(chuàng)建的用戶權限,請執(zhí)行以下命令:
GRANTALLPRIVILEGESON* . * TOPyDataStudio@localhost;
將所有權限授予新創(chuàng)建的用戶
要提供特定權限,請運行以下命令:
GRANTCREATE, SELECT, INSERTON* . * TOPyDataStudio@localhost;
向用戶授予特定權限
有時你需要剝奪用戶權限。為此,請執(zhí)行以下命令:
FLUSHPRIVILEGES;
刷新所有權限
此外,如果你想查看授予用戶的權限,請執(zhí)行以下命令:
SHOWGRANTSfor'PyDataStudio'@ 'localhost';
在 MySQL 服務器中刪除用戶
如本文前面所見,MySQL drop 語句用于刪除或刪除。因此,如果與用戶一起使用,該語句將從數(shù)據(jù)庫服務器中刪除用戶及其授予的所有權限。
注意:如果你嘗試刪除數(shù)據(jù)庫服務器中不存在的用戶,你將收到錯誤消息。
如果你計劃使用“刪除用戶”語句,請始終確保具有“創(chuàng)建用戶”語句所需的全局權限或 MySQL 系統(tǒng)模式的“刪除”權限。
使用以下語法從 MySQL 數(shù)據(jù)庫服務器中刪除所有用戶帳戶。刪除用戶'account_name';
刪除用戶示例
按照此示例中提到的步驟在 MySQL 數(shù)據(jù)庫服務器中刪除用戶。
-
使用MySQL客戶端工具打開MySQL服務器
-
輸入正確的憑據(jù)
-
使用以下命令顯示所有用戶
數(shù)據(jù)庫服務器中的所有用戶
-
現(xiàn)在執(zhí)行以下命令刪除用戶帳戶
我們執(zhí)行的命令將從我們的數(shù)據(jù)庫服務器中刪除或刪除“數(shù)據(jù)STUDI”和“云朵君”帳戶,如下面的屏幕截圖所示。成功刪除用戶帳戶后,你需要重新運行 show all user 命令以確定用戶已成功刪除。
刪除用戶和顯示已刪除用戶的圖像 寫在最后
我們相信這篇文章已經(jīng)足夠全面,涵蓋了你需要了解的有關 MySQL 的所有內容。務必動手嘗試該過程以熟悉使用 MySQL 所需的所有知識。