SQL與MySQL的關(guān)系是什么?它們有什么區(qū)別?這是很多初次接觸數(shù)據(jù)分析的小白會產(chǎn)生的疑問。今天,數(shù)據(jù)君就和大家認(rèn)真分享一下:
SQL(Structured Query Language)是結(jié)構(gòu)化查詢語言的簡稱,是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。
此時,小白還會產(chǎn)生這個疑問:什么是關(guān)系數(shù)據(jù)庫?
事實上,在互聯(lián)網(wǎng)時代,我們基本上每天都在和數(shù)據(jù)庫打交道,只是我們自己沒有意識到而已,譬如在百度上進(jìn)行搜索、登錄微博賬號等,都是在使用數(shù)據(jù)庫。
我們可以將數(shù)據(jù)庫想象成一個文件柜,數(shù)據(jù)就是存放在里面的文件。我們不能直接查看這個“文件柜”,而是需要借助數(shù)據(jù)庫軟件,也就是DBMS(Database Management System)數(shù)據(jù)庫管理系統(tǒng)。
DBMS根據(jù)數(shù)據(jù)庫的種類進(jìn)行分類,現(xiàn)階段分為很多類型,譬如:
- HDB(Hierarchical Database)層次數(shù)據(jù)庫:通過層次結(jié)構(gòu)(樹形結(jié)構(gòu))的方式表現(xiàn)數(shù)據(jù)。是最古老的數(shù)據(jù)庫之一,現(xiàn)在已經(jīng)很少使用了。
- OODB(Object Oriented Database)面對對象數(shù)據(jù)庫:把數(shù)據(jù)以及對數(shù)據(jù)的操作集合起來以對象為單位進(jìn)行管理。
- XMLDB(XML Database)XML數(shù)據(jù)庫:XML數(shù)據(jù)庫可以對XML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用)形式的大量數(shù)據(jù)進(jìn)行高速處理。
- KVS(Key-Value Store)鍵值存儲系統(tǒng):一種單純用來保存查詢所使用的主鍵(Key)和值(Value)的組合的數(shù)據(jù)庫。
- RDB(Relational Database)關(guān)系數(shù)據(jù)庫:和 Excel 工作表一樣,它采用由行和列組成的二維表來管理數(shù)據(jù)。
而關(guān)系數(shù)據(jù)庫是現(xiàn)在應(yīng)用最廣泛的數(shù)據(jù)庫,基本上我們現(xiàn)在所說的“數(shù)據(jù)庫”就是指關(guān)系數(shù)據(jù)庫。它通過SQL語句來操作數(shù)據(jù)庫中的數(shù)據(jù)。這種類型的 DBMS 稱為RDBMS(Relational Database Management System)關(guān)系數(shù)據(jù)庫管理系統(tǒng)。
RDBMS不止一款產(chǎn)品,就如同搜索引擎、社交媒體不止一家一樣。比較具有代表性的RDBMS有Oracle DB、SQL Server、MySQL等。
這時候,我們就大概有點明白SQL與MySQL的關(guān)系了。
SQL是數(shù)據(jù)庫語言,而MySQL是數(shù)據(jù)庫軟件。
MySQL用SQL來查詢數(shù)據(jù)庫。
小白同學(xué)可能又有疑問了:那么多RDBMS,為什么要選擇學(xué)MySQL?
這里有三點主要的原因:
- 首先是成本原因。MySQL是開放源代碼的,一般可以免費使用(甚至可以 免費修改)。
- 其次是產(chǎn)品本身方面,MySQL很容易安裝和使用,而且執(zhí)行速度很快,使用體驗佳。
- 最后是品牌方面,很多國際上知名的大公司也使用MySQL來處理自己的重要數(shù)據(jù),這點讓人感受到MySQL是值得信賴的。
也正是如此,MySQL成為了世界范圍內(nèi)廣泛安裝和使用的一款RDBMS。