文章目錄
- 什么是數據庫
- CS模式
- 基本使用
- 安裝
- 鏈接服務器
- 服務器、數據庫、表關系
- 簡單使用
- 數據庫在Linux下的體現
- MySQL架構
- 連接器層
- 客戶端層
- 服務層
- 存儲引擎層
- 物理存儲層
- SQL分類
- 存儲引擎
什么是數據庫
- mysql:數據庫服務的客戶端
- mysqld:數據庫服務的服務器端
- mysql本質:基于CS模式的一種網絡服務。
mysql是一套提供給我們進行數據存取服務的網絡程序。
CS模式
CS模式(Client-Server模式,客戶端-服務器模式),是一種網絡架構模型,在這種模型中,任務和工作負載分布在提供資源或服務的服務器和請求服務的客戶端之間。
- 客戶端
客戶端是請求服務的一方。它通常是一個終端用戶或一個應用程序。客戶端通過發送請求來訪問服務器上的資源或服務,然后處理服務器返回的響應。 - 服務端
服務器是提供服務或資源的一方。它提供并處理來自客戶端的請求,然后將結果返回給客戶端。服務器可以托管在物理機或虛擬機上,常見的服務器有web服務器,數據庫服務器,文件服務器等。
基本使用
安裝
MySQL詳細安裝、配置過程,多圖,詳解-CSDN博客
鏈接服務器
mysql -h 127.0.0.1 -P 3306 -u root -p
-
mysql
:這是MySQL客戶端命令,用于連接MySQL數據庫服務器 -
-h
:選項-h用于指定MySQL服務器的主機名或者IP地址 -
1270.0.0.1
:是本地主機的IP地址,表示連接到運行在同一臺計算機上的MySQL服務器。 -
-P
:選項-P(大寫P),用于指定MySQL服務器的端口號。默認情況下,MySQL使用端口3306
。 -
-u
:用于指定用于連接MySQL服務器的用戶名。實例中的用戶名是root,它是MySQL默認的超級用戶。 -
-p
:選項-p用于提示輸入密碼 -
在登錄指令中,不寫
-h 127.0.0.1
,則默認連接到本地 -
在登錄指令中,不寫
-p 3306
,則默認鏈接的是配置文件中默認的端口號
登錄
登錄成功
服務器、數據庫、表關系
- 所謂安裝數據庫服務器,只是在機器上安裝了一個數據庫管理系統程序,這個管理程序可以管理多個數據庫,一般開發人員會針對每一個應用創建一個數據庫。
- 為了保護應用中實體的數據,一般會在數據庫中創建多個表,以保存程序中實體的數據。
簡單使用
查看已存在的數據庫
show databases;
創建數據庫
create database helloworld;
使用數據庫
use helloworld;
創建數據庫表
create table student(id int,name varchar(32),gender varchar(2)
);
在當前打開的數據庫中,創建一個名為student的表,其中包含三個列:id、name、gender。
在表中插入數據
insert into student (id, name, gender) values (1, '張三', '男');
insert into student (id, name, gender)
:指定要插入數據的表,以及表中的列
查詢表中的數據
select * from student;
數據庫在Linux下的體現
在上面的操作中,我們使用mysql建立了一個名為LearnMySql
的數據庫,并且建立了一個名為student
的表結構,也插入了一些數據。那么這些數據在Linux下是如何表現的呢?
- 建立數據庫,本質就是Linux下的一個目錄。
- 在數據庫內,建立表結構,本質就是在Linux下創建對應的文件。
- 數據庫本質其實也是文件,只不過這些文件不是由用戶直接操作,而是由數據庫服務幫我們直接進行操作。
MySQL架構
連接器層
這一層包括各種客戶端連接器和接口,允許用戶使用不同的編程語言和工具與MySQL服務器通信。
- JDBC\ODBC.NET\PHP\PYTHON\PERL\C API等連接器
- 這些連接器允許應用程序通過標準化的接口與MySQL進行交互。
客戶端層
- 客戶端層寶庫與MySQL服務器進行通信的各種客戶端組件,如命令行工具、圖形化界面工具、編程語言中的MySQL鏈接庫等。
- 客戶端負責向服務器發送請求,并處理服務器返回的結果,同時向用戶提供交互界面和操作功能。
服務層
- 這一層包括MySQL服務器的核心功能,如SQL解析、查詢優化、事務管理、權限哦控制、鏈接管理等。
- MySQL服務器接收客戶端的請求,在查詢處理、事務管理和權限控制等方面進行處理,并將結果返回給客戶端。
存儲引擎層
- 存儲引擎是MySQL中負責實際數據存儲和檢索的組件
- 支持多種可插拔的存儲引擎
- 不同的存儲引擎有不同的特性和適用場景。
- InnoDB
- Merge
物理存儲層
- 這一層負責管理數據在磁盤上的存儲,包括表數據文件、索引文件等。
- 管理數據的物理存儲格式和組織結構。
SQL分類
- DDL,數據定義語言
用來維護存儲數據的結構。主要包括創建、修改和刪除數據庫對象(表、試圖、索引等)- create:用于創建數據庫、表、視圖、索引等
- drop:用于刪除數據庫、表、視圖、索引等
- alter:用于修改現有數據庫對象那個的結構,如表的添加或者刪除列
- DML,數據控制語言
DML用于對數據庫中的數據進行查詢和修改,包括插入、更新、刪除和查詢數據。- insert:用于向表中插入數據
- update:用于修改表中的數據
- delete:用于刪除表中的數據
存儲引擎
存儲引擎:數據庫管理系統如何存儲數據,如何為存儲的數據建立索引和如何更新、查詢數據等技術的實現方法。
- MySQL的核心是插件式存儲引擎,支持多種存儲引擎。
查看存儲引擎
show engines;