MySQL - 第二章 | MySQL簡介
什麼是MySQL
我們在前一章中介紹了資料庫和SQL。正如所述,資料的所有存儲、檢索、管理和處理實際上是由資料庫軟體——DBMS(資料庫管理系統)完成的。MySQL是一種DBMS,即它是一種資料庫軟體。
MySQL已經存在很久了,它在世界範圍內得到了廣泛的安裝和使用。為什麼有那麼多的公司和開發人員使用MySQL?以下列出其原因。
- 成本——MySQL是開放源程式碼的,一般可以免費使用(甚至可以免費修改)。
- 性能——MySQL執行很快(非常快)。
- 可信賴——某些非常重要和聲望很高的公司、站點使用MySQL,這些公司和站點都用MySQL來處理自己的重要資料。
- 簡單——MySQL很容易安裝和使用。
事實上,MySQL受到的唯一真正的批評是它並不總是支持其他DBMS提供的功能和特性。然而,這一點也正在逐步得到改善,MySQL的各個新版本正不斷增加新特性、新功能。
客戶端—伺服器軟體
DBMS可分為兩類:
- 一類為基於共享文件系統的DBMS。
- 一類為基於客戶端—伺服器的DBMS。
前者(包括諸如Microsoft Access和FileMaker)用於桌面用途,通常不用於高端或更關鍵的應用。
MySQL、Oracle以及Microsoft SQL Server等資料庫是基於客戶端—服 務器的資料庫。客戶端—伺服器應用分為兩個不同的部分。伺服器部分是負責所有資料訪問和處理的一個軟體。這個軟體運行在稱為資料庫伺服器的計算機上。
與資料文件打交道的只有伺服器軟體。關於資料、資料添加、刪除和資料更新的所有請求都由伺服器軟體完成。這些請求或更改來自運行客戶端軟體的計算機。客戶端是與用戶打交道的軟體。例如,如果你請求一個按字母順序列出的產品表,則客戶端軟體通過網路提交該請求給伺服器軟體。伺服器軟體處理這個請求,根據需要過濾、丟棄和排序資料;然後把結果送回到你的客戶端軟體。
說明:有多少計算機? 客戶端和伺服器軟體可能安裝在兩台計算機或一台計算機上。不管它們在不在相同的計算機上,為進行所有資料庫交互,客戶端軟體都要與伺服器軟體進行通信。
所有這些活動對用戶都是透明的。資料存儲在別的地方,或者資料庫伺服器為你完成這個處理這一事實是隱藏的。你不需要直接訪問資料文件。事實上,多數網路的建立使用戶不具有對資料的訪問權,甚至不具有對存儲資料的驅動器的訪問權。
這樣的意義何在?因為為了使用MySQL,你需要訪問運行MySQL伺服器軟體的計算機和發布命令到MySQL的客戶端軟體的計算機。
- 伺服器軟體為MySQL DBMS。你可以在本地安裝的副本上運行,也可以連接到運行在你具有訪問權的遠程伺服器上的一個副本。
- 客戶端可以是MySQL提供的工具、腳本語言(如Perl)、Web應用開發語言(如ASP、ColdFusion、JSP和PHP)、程序設計語言(如 C、C++、Java)等。
MySQL工具
如前所述,MySQL是一個客戶端—伺服器DBMS,因此,為了使用MySQL,需要有一個客戶端,即你需要用來與MySQL打交道(給MySQL提供要執行的命令)的一個應用。
有許多客戶端應用可供選擇,但在學習MySQL(確切地說,在編寫和測試MySQL腳本時),最好是使用專門用途的實用程序。特別是有3個工具需要提及。
mysql命令行實用程序
每個MySQL安裝都有一個名為mysql的簡單命令行實用程序。這個實用程序沒有下拉菜單、流行的用戶界面、鼠標支持或任何類似的東西。
在操作系統命令提示符下輸入mysql將出現一個如下的簡單提示:
1 | root@988d66c1b6de:/## mysql -hlocalhost -P3306 -uroot -proot |
說明:MySQL選項和參數如果僅輸入mysql,可能會出現一個錯誤消息。因為可能需要安全證書,或者是因為MySQL沒有運行在本地或默認端口上。mysql接受你可以(和可能需要)使用的一組命令行參數。例如,為了指定用戶登錄名root,應該使用mysql -uroot。為了給出用戶名、主機名、端口和密碼,應該使用mysql -uroot -hlocalhost -P3306 -proot。完整的命令行選項和參數列表可用mysql –help獲得。
當然,具體的版本和連接訊息可能不同,但都可以使用這個實用程序。請注意:
- 命令輸入在mysql>之後;
- 命令用;或\g結束,換句話說,僅按Enter不執行命令;
- 輸入help或\h獲得幫助,也可以輸入更多的文本獲得特定命令的幫助(如,輸入help select獲得使用SELECT語句的幫助);
- 輸入quit或exit退出命令行實用程序。
mysql命令行實用程序是使用最多的實用程序之一,它對於快速測試和執行腳本非常有價值。事實上,所有輸出例子都是從mysql命令行輸出中抓取的。
提示:熟悉mysql命令行實用程序即使你選擇使用後面描述的某個圖形工具,也應該保證熟悉mysql命令行實用程序,因為它是你可以安全地依靠的一個總是會被給出的客戶端(因為它是核心MySQL安裝的一部分)。
MySQL Administrator
MySQL Administrator(MySQL管理器)是一個圖形交互客戶端,用來簡化MySQL伺服器的管理。
MySQL Administrator提示輸入伺服器和登錄訊息(並且允許你保存伺服器定義供以後選擇),然後顯示允許選擇不同視圖的圖標。其中:
- Server Information(伺服器訊息)顯示客戶端和被連接的伺服器的狀態和版本訊息;
- Service Control(服務控制)允許停止和啟動MySQL以及指定伺服器特性;
- User Administration(用戶管理)用來定義MySQL用戶、登錄和權限;
- Catalogs(目錄)列出可用的資料庫並允許創建資料庫和表。
提示:快速訪問其他工具 MySQL Administrator工具菜單包含有啟動mysql命令行實用程序(前面描述)和MySQL Query Browser (MySQL查詢瀏覽器)(下面描述)的選項。MySQL Query Browser也包含啟動mysql命令行實用程序和MySQL Administrator的菜單選項。
MySQL Query Browser
MySQL Query Browser為一個圖形交互客戶端,用來編寫和執行MySQL命令。
MySQL Query Browser要求輸入伺服器和登錄訊息(在MySQL Query Browser和MySQL Administrator之間共享保存的定義),然後顯示應用界面。注意下面幾點:
- 輸入MySQL命令到屏幕頂上的窗口中。在輸入語句後,單擊Execute按鈕把它提交給MySQL處理。
- 結果(如果有)顯示在屏幕左邊的大區域網格中。
- 多條語句和結果顯示在它們自己的標籤中,並且允許快速切換。
- 屏幕右邊是一個標籤,它列出所有可能的資料源(這裡稱為大綱),展開任一資料源查看它的表,展開任一個表查看它的列。
- 你還可以選擇表和列讓MySQL Query Browser為你編寫MySQL語句。
- Schemata(大綱)標籤的右邊是一個History(歷史)標籤,它保持MySQL語句的執行歷史。在需要測試不同版本的MySQL語句時,它非常有用。
- 關於MySQL語法、函數等的幫助可在屏幕右下角得到。
結語
基本上現在大家都用其他的工具來做MySQL Query居多,像是Navicat、TablPlus⋯等等,都提供了完善的操作;但是基本的「mysql命令行實用程序」還是要知道如何使用。
註:以上參考了
MySQL必知必会 MySQL Crash Course