1. 程式人生 > 實用技巧 >一、初識MySQL

一、初識MySQL

  (資料庫DataBase,DB)是一個長期儲存在計算機內的、有組織的、有共享的、統一管理的資料集合,在關係資料庫中,資料庫表是一系列二維陣列的集合。

    • 資料定義語言(DDL):DROP、CREATE、ALTER

    • 資料操作語言(DML):INSERT、UPDATE、DELETE

    • 資料查詢語言(DQL):SELECT

    • 資料控制語言(DCL):GRANT、REVOKE、COMMIT、ROLLBACK

#檢視MySQL的資料儲存位置
ps –ef | grep mysql   

  • .frm :存放表結構

  • .idb:存放表資料

  • .myi :存放表索引

一、mysql邏輯架構介紹

  mysql 外掛式的儲存引擎架構將查詢處理和其他的系統任務以及資料的儲存結構提取分離。

  • 連線層:最上層是一些客戶端和連線服務,包含本地sock通訊和大多數基於客戶端/服務端工具實現的型別tcp/ip的通訊。主要完成一些類似連線處理、授權認證、及相關的安全方案。在該層上引入了執行緒池的概念,為通過認證安全接入的客戶端提供執行緒。同樣在該層上可以實現基於SSL的安全連線。伺服器也會在安全接入的每個客戶端驗證它所具備的操作許可權。

  • 服務層:第二層架構主要完成大多數的核心服務功能,如SQL介面,並完成快取的查詢。SQL的分析和優化及部分內建函式的執行,所有跨儲存引擎的功能也在這一層實現,如過程,函式等,在該層伺服器會解析查詢並建立相應的內部解析樹。並對其完成相應的優化,如確定查詢表的順序,是否利用索引等,最後生成相應的執行操作,如select語句,伺服器還會查詢內部的快取,如快取空間大小,這樣在解決大量讀操作環境中能夠很好的提升系統的效能。

  • 引擎層:儲存引擎層,儲存引擎真正的負責mysql中資料的儲存和提取,伺服器通過API與儲存引擎進行通訊,不同的儲存引擎具有的功能不同,這樣我們可以根據自己的實際需要進行選取。

  • 儲存層:資料儲存層,主要是將資料儲存在運行於裸裝置的檔案系統之上,並完成與儲存引擎的互動。

二、常見命令

  • 啟動mysql服務
net start mysql
service mysql start
  • 關閉mysql服務
net stop mysql
service mysql stop
  • 登入mysql
mysql -h localhost -P 3306 -u root -p
  • 退出mysql
exit
  • 展示所有資料庫
show databases;
  • 切換收據庫
use test;
  • 檢視其他資料庫的表
show tables from mysql;
  • 檢視當前所在庫
select database();
  • 查看錶結構
desc table_name