一起來了解mysql數(shù)據(jù)庫
一、數(shù)據(jù)庫是什么?
數(shù)據(jù)庫是管理數(shù)據(jù)的一類軟件。對數(shù)據(jù)的管理體現(xiàn)在兩個方面,第一是描述數(shù)據(jù),即一條數(shù)據(jù)如何表示,第二是組織數(shù)據(jù),即很多數(shù)據(jù)如何管理。
數(shù)據(jù)庫的主要目的是實現(xiàn)對數(shù)據(jù)的增刪改查。
二、數(shù)據(jù)庫的分類?
數(shù)據(jù)庫主要分為關(guān)系型數(shù)據(jù)庫和分關(guān)系型數(shù)據(jù)庫。
| 關(guān)系型數(shù)據(jù)庫 | 非關(guān)系型數(shù)據(jù)庫 | |
| 對數(shù)據(jù)的要求 | 數(shù)據(jù)規(guī)范統(tǒng)一 | 不要求數(shù)據(jù)規(guī)范統(tǒng)一 |
| 組織數(shù)據(jù)的形式 | 表 | 文檔/鍵值對 |
| 具體如何組織 |
同類的數(shù)據(jù)放到一個表中 表中的每一行是一條記錄 每一條記錄包含很多列,要求這些列的類型和含義統(tǒng)一 |
每條記錄都是一個文檔,每個文檔中的屬性和字段都不要求相同 |
| 優(yōu)點 | 對數(shù)據(jù)的校驗更加嚴格 | 對數(shù)據(jù)校驗不那么嚴格,但是更高效,更適合于現(xiàn)在的分布式系統(tǒng)。 |
| 典型代表 | Oracle,MySQL,SQL Server | MangoDB,Redis,HBase |
三、數(shù)據(jù)庫和數(shù)據(jù)結(jié)構(gòu)的區(qū)別
數(shù)據(jù)結(jié)構(gòu):是一門抽象的學科,研究的是數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)的物理結(jié)構(gòu)以及它們之間的相互關(guān)系,并對這種結(jié)構(gòu)定義相適應的運算,設計出相應的算法
數(shù)據(jù)庫:是一類更具體的軟件,在實現(xiàn)這個軟件的過程中用到很多數(shù)據(jù)結(jié)構(gòu)。
很多軟件實現(xiàn)增刪改查都需要用到數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫只是其中的一個應用場景。
四、MySQL數(shù)據(jù)庫的介紹
4.1 MySQL數(shù)據(jù)庫的組成
MySQL數(shù)據(jù)庫是一個“客戶端-服務器”程序,客戶端是主動發(fā)起請求的一方,客戶端發(fā)送的數(shù)據(jù)稱為請求(request),服務器是被動接受請求的一方,服務器返回的數(shù)據(jù)稱為響應(response),客戶端和服務器之間通過網(wǎng)絡來進行通信。
在安裝MySQL數(shù)據(jù)庫時,可以將客戶端和服務器安裝在同一臺主機上,也可以將其分別安裝不同主機上。在實際情況中,同一臺服務器,可以為多個客戶端提供服務。
| MySQL客戶端 | 是一個非常簡單的程序,僅僅用來和用戶交互。(數(shù)據(jù)庫編程,指的是實現(xiàn)一個客戶端,與服務器沒關(guān)系) |
| MySQL服務器 | 是數(shù)據(jù)庫的本體,MySQL數(shù)據(jù)庫將數(shù)據(jù)存儲在服務器上。 |
主流的MySQL版本:MySQL5系列、MySQL8系列。
4.2 MySQL服務器的介紹
MySQL服務器上包含若干個數(shù)據(jù)庫,每個數(shù)據(jù)庫都是一組數(shù)據(jù)表邏輯上的集合(將有關(guān)聯(lián)的表放在一起)。

服務器:包含多個數(shù)據(jù)庫
數(shù)據(jù)庫:包含多個表
表:包含多行,每行是一條記錄
行:包含多列,每列是一個字段
4.3 MySQL數(shù)據(jù)庫的數(shù)據(jù)存儲位置
很多數(shù)據(jù)庫將數(shù)據(jù)存儲在外存中,如MySQL、Oracle等,少部分數(shù)據(jù)庫將數(shù)據(jù)存儲在內(nèi)存中,如Redis。
MySQL將數(shù)據(jù)存儲在硬盤。原因如下:
首先,先了解內(nèi)存和硬盤的區(qū)別:
內(nèi)存的空間少,硬盤的空間大;內(nèi)存比硬盤價格更貴;如果掉電,內(nèi)存上的數(shù)據(jù)會丟失,硬盤上的數(shù)據(jù)不會丟失。
數(shù)據(jù)庫存儲數(shù)據(jù)的要求:容量大,因為數(shù)據(jù)量很大;期望有更低的成本;期望掉電后數(shù)據(jù)不丟失,能夠持久化存儲;硬盤與內(nèi)存相比,完全符合這些要求,所以選擇硬盤來存儲數(shù)據(jù)。
如果存儲的數(shù)據(jù)量很大,可以選擇使用一下方法:
①多加幾個硬盤
②使用多臺機器存儲,MySQL的分庫分表。
總結(jié)
首先,介紹了數(shù)據(jù)庫的分類,分為結(jié)構(gòu)型數(shù)據(jù)庫和非結(jié)構(gòu)型數(shù)據(jù)庫兩類。其次,介紹了MySQL數(shù)據(jù)庫的組成,即MySQL由客戶端和服務器組成,服務器是MySQL的主體。最后,介紹了MySQL服務器是將數(shù)據(jù)存儲在硬盤上,原因為硬盤容量大、便宜和能實現(xiàn)持久化存儲。
到此這篇關(guān)于一起來了解mysql數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)mysql數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
win11系統(tǒng)下mysql8.4更改數(shù)據(jù)目錄問題解決
更改數(shù)據(jù)庫目錄是指修改MySQL數(shù)據(jù)庫的存儲路徑,本文主要介紹了win11系統(tǒng)下mysql8.4更改數(shù)據(jù)目錄問題解決,具有一定的參考價值,感興趣的可以了解一下2024-07-07
MySQL數(shù)據(jù)庫學習之排序與單行處理函數(shù)詳解
這篇文章主要為大家詳細介紹一下MySQL數(shù)據(jù)庫中排序與單行處理函數(shù)的使用,文中的示例代碼講解詳細,對我們學習MySQL有一定幫助,需要的可以參考一下2022-07-07
利用mycat實現(xiàn)mysql數(shù)據(jù)庫讀寫分離的示例
本篇文章主要介紹了利用mycat實現(xiàn)mysql數(shù)據(jù)庫讀寫分離的示例,mycat是最近很火的一款國人發(fā)明的分布式數(shù)據(jù)庫中間件,它是基于阿里的cobar的基礎(chǔ)上進行開發(fā)的,有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03
全面分析MySQL?ERROR?1045出現(xiàn)的原因及解決
這篇文章主要介紹了全面分析MySQL?ERROR?1045出現(xiàn)的原因及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
Windows8下mysql 5.6.15 安裝配置方法圖文教程
這篇文章主要為大家詳細介紹了Windows8下mysql 5.6.15 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09
關(guān)于數(shù)據(jù)庫中保留小數(shù)位的問題
本篇文章是對關(guān)于在數(shù)據(jù)庫中保留小數(shù)位的問題進行了詳細的分析介紹,需要的朋友參考下2013-07-07

