查看小程序源碼百度搜索引擎優(yōu)化相關(guān)性評(píng)價(jià)
💕與其抱怨生活的不公,不如積極行動(dòng)改變它。💕
🐼作者:不能再留遺憾了🐼
🎆專欄:MySQL學(xué)習(xí)🎆
🚗本文章主要內(nèi)容:簡(jiǎn)單了解什么是MySQL、MySQL的發(fā)展以及簡(jiǎn)單的對(duì)庫(kù)操作🚗
文章目錄
- 什么是MySQL
- 什么是關(guān)系型數(shù)據(jù)庫(kù)
- 什么是非關(guān)系型數(shù)據(jù)庫(kù)
- MySQL數(shù)據(jù)庫(kù)的發(fā)展史
- MySQL是如何執(zhí)行一條SQL查詢語(yǔ)句的?
- 在安裝好MySQL環(huán)境后為什么會(huì)發(fā)生閃退
- 簡(jiǎn)單的庫(kù)操作
- 1.查看數(shù)據(jù)庫(kù)
- 2.創(chuàng)建數(shù)據(jù)庫(kù)
- 3.選中數(shù)據(jù)庫(kù)
- 4.刪除數(shù)據(jù)庫(kù)
什么是MySQL
MySQL是一種流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),最開(kāi)始由MySQL AB公司推出,后由Oracle Corporation開(kāi)發(fā)和支持,它是一種開(kāi)源軟件,廣泛用于Web應(yīng)用程序開(kāi)發(fā)和數(shù)據(jù)存儲(chǔ)。MySQL具有高度的可擴(kuò)展性、可靠性和安全性,并提供了廣泛的API和編程接口,使開(kāi)發(fā)者能夠輕松地使用各種編程語(yǔ)言與之交互。MySQL是Web開(kāi)發(fā)者的首選數(shù)據(jù)庫(kù)之一。
MySQL是一個(gè)客戶端 - 服務(wù)器結(jié)構(gòu)的程序,同時(shí)服務(wù)器是數(shù)據(jù)庫(kù)的本體(數(shù)據(jù)是在服務(wù)器這里組織和存儲(chǔ)的)。
什么是關(guān)系型數(shù)據(jù)庫(kù)
關(guān)系型數(shù)據(jù)庫(kù)是由關(guān)系型模型(即二維表格)構(gòu)成的數(shù)據(jù)庫(kù),以及實(shí)現(xiàn)此種模型的軟件系統(tǒng)。關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)以表格的形式呈現(xiàn),表格由行和列組成,每一列是一種數(shù)據(jù)類型,每一行代表一個(gè)實(shí)體,每一個(gè)實(shí)體則由一組屬性組成。數(shù)據(jù)的整合和處理通過(guò)對(duì)表格之間的關(guān)系進(jìn)行操作來(lái)實(shí)現(xiàn)。目前,關(guān)系型數(shù)據(jù)庫(kù)是最廣泛使用的數(shù)據(jù)庫(kù)類型之一,常常被應(yīng)用于企業(yè)級(jí)應(yīng)用程序和數(shù)據(jù)處理任務(wù)中。常見(jiàn)的關(guān)系型數(shù)據(jù)庫(kù)包括:MySQL、Oracle、SQL Server、PostgreSQL、IBM DB2、SQLite等
什么是非關(guān)系型數(shù)據(jù)庫(kù)
非關(guān)系型數(shù)據(jù)庫(kù)(NoSQL)是一種區(qū)別于傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)模型的數(shù)據(jù)庫(kù)系統(tǒng),使用非結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)方式,包括鍵值對(duì)存儲(chǔ)、文檔存儲(chǔ)、列族存儲(chǔ)和圖形存儲(chǔ)等。與關(guān)系型數(shù)據(jù)庫(kù)相比,NoSQL數(shù)據(jù)庫(kù)具有更高的可擴(kuò)展性和性能,并且能夠處理非結(jié)構(gòu)化或半結(jié)構(gòu)化的大量數(shù)據(jù),不需要嚴(yán)格的數(shù)據(jù)模式和事務(wù)處理的支持,因此適合存儲(chǔ)和處理分散的、非結(jié)構(gòu)化的、動(dòng)態(tài)和快速變化的數(shù)據(jù)。常見(jiàn)的NoSQL數(shù)據(jù)庫(kù)包括MongoDB,Cassandra,HBase,Redis等。
MySQL數(shù)據(jù)庫(kù)的發(fā)展史
-
1995-1997年,MySQL由Michael Widenius和David Axmark在瑞典創(chuàng)建。最初是一個(gè)很小的開(kāi)源項(xiàng)目,用于個(gè)人及小型網(wǎng)站使用。
-
1998年,MySQL發(fā)布了版本3.2,并正式開(kāi)始走向商業(yè)化發(fā)展道路。為了推廣MySQL,公司開(kāi)始提供商業(yè)支持和收費(fèi)服務(wù)。
-
2001年,MySQL AB公司成立,開(kāi)始以商業(yè)化運(yùn)營(yíng)方式發(fā)展MySQL,并憑借其高性能、穩(wěn)定性和易用性,在Web應(yīng)用開(kāi)發(fā)領(lǐng)域逐漸成為流行的數(shù)據(jù)庫(kù)系統(tǒng)。
-
2008年,Sun Microsystems公司收購(gòu)了MySQL AB,MySQL變成了Sun公司的旗艦產(chǎn)品。
-
2010年,Oracle公司收購(gòu)了Sun公司,MySQL成為了Oracle公司的旗艦產(chǎn)品。為了解決開(kāi)源社區(qū)和商業(yè)用戶之間的分歧,Oracle創(chuàng)建了MySQL Community版和MySQL Enterprise版兩個(gè)版本,分別面向開(kāi)源開(kāi)發(fā)者和商業(yè)客戶。
-
2013年,MySQL發(fā)布了5.6版本,增加了多種新功能和性能改進(jìn),進(jìn)一步推進(jìn)了MySQL的發(fā)展。
-
2018年,MySQL發(fā)布了8.0版本,引入了全新的功能和性能優(yōu)化,擴(kuò)展了MySQL在大數(shù)據(jù)、云計(jì)算、安全和高可用性方面的應(yīng)用能力。
MySQL是如何執(zhí)行一條SQL查詢語(yǔ)句的?
當(dāng)MySQL接收到一條SQL查詢語(yǔ)句時(shí),它會(huì)經(jīng)過(guò)以下步驟進(jìn)行執(zhí)行:
-
語(yǔ)法分析:MySQL會(huì)檢查語(yǔ)句的語(yǔ)法是否正確,如果存在語(yǔ)法錯(cuò)誤,將會(huì)返回相應(yīng)的錯(cuò)誤信息。
-
查詢優(yōu)化:MySQL會(huì)對(duì)查詢語(yǔ)句進(jìn)行優(yōu)化,以盡可能快地獲取所需的結(jié)果。這個(gè)過(guò)程涉及到分析查詢的每個(gè)組件,選擇最佳的執(zhí)行順序,使用合適的索引等。
-
執(zhí)行查詢:一旦優(yōu)化器選擇了最佳執(zhí)行計(jì)劃,MySQL就會(huì)執(zhí)行查詢,并從磁盤或內(nèi)存中讀取所需的數(shù)據(jù)。如果查詢需要進(jìn)行排序、分組或其他操作,MySQL可能會(huì)創(chuàng)建臨時(shí)表來(lái)存儲(chǔ)中間結(jié)果。
-
返回結(jié)果:一旦查詢完成,MySQL會(huì)將結(jié)果返回給客戶端應(yīng)用程序進(jìn)行處理。
在這個(gè)過(guò)程中,MySQL會(huì)通過(guò)一系列的內(nèi)部模塊和算法來(lái)實(shí)現(xiàn)查詢的各個(gè)部分。例如,MySQL的存儲(chǔ)引擎模塊負(fù)責(zé)從磁盤中讀取數(shù)據(jù),而查詢緩存模塊則可以緩存查詢結(jié)果,以提高性能和響應(yīng)速度。
在安裝好MySQL環(huán)境后為什么會(huì)發(fā)生閃退
1.點(diǎn)擊開(kāi)始菜單
2.所有應(yīng)用
3.找到MySQL,隨便啟動(dòng)哪個(gè)都行
4.提示輸入密碼
在輸入密碼后如果發(fā)生閃退,我們可以通過(guò)以下操作來(lái)知道為什么會(huì)出現(xiàn)錯(cuò)誤。
簡(jiǎn)單的庫(kù)操作
MySQL命令以 ;或者 \g 作為結(jié)束標(biāo)志
1.查看數(shù)據(jù)庫(kù)
使用 show databases; 查看已有的數(shù)據(jù)庫(kù)
因?yàn)槲疫@里并沒(méi)有創(chuàng)建庫(kù),所以開(kāi)始show databases是這樣的,這個(gè)
4 rows in set(0.01 sec)表示上面的集合有4行,執(zhí)行該命令用了0.01秒
2.創(chuàng)建數(shù)據(jù)庫(kù)
使用 create database 數(shù)據(jù)庫(kù)名; 來(lái)創(chuàng)建數(shù)據(jù)庫(kù)
在創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候我們需要注意以下幾點(diǎn):
1.database 不是 databases,因?yàn)椴榭磾?shù)據(jù)庫(kù)的時(shí)候不止一個(gè),而你創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候只能創(chuàng)建一個(gè)。
2.數(shù)據(jù)庫(kù)的名字命名規(guī)則跟C語(yǔ)言、Java的變量命名規(guī)則類似。
數(shù)據(jù)庫(kù)名字:數(shù)字,字母,下劃線,不能以數(shù)字開(kāi)頭。
3.如果非要用關(guān)鍵字作為數(shù)據(jù)庫(kù)的名字,那么需要使用`反引號(hào)把數(shù)據(jù)庫(kù)名引起來(lái)。
如果我們直接拿關(guān)鍵字作為數(shù)據(jù)庫(kù)名是會(huì)報(bào)錯(cuò)的,如果偏要以關(guān)鍵字作為數(shù)據(jù)庫(kù)名,就需要使用 " ` "反引號(hào)將數(shù)據(jù)庫(kù)名引起來(lái)。
4.創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候,數(shù)據(jù)庫(kù)名不能重復(fù)。
5.sql命令對(duì)大小寫不敏感。
6.創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候可以指定字符集。
create database mysql1 charset(characterset) utf8
character和charset都行
平時(shí)常用的字符集包括:
gbk 兩個(gè)字節(jié)表示一個(gè)漢字
utf8 三個(gè)字節(jié)表示一個(gè)漢字(更通用)
3.選中數(shù)據(jù)庫(kù)
使用 use 數(shù)據(jù)庫(kù)名 來(lái)對(duì)某一數(shù)據(jù)庫(kù)進(jìn)行增刪改查。
4.刪除數(shù)據(jù)庫(kù)
使用 drop database 數(shù)據(jù)庫(kù)名 來(lái)刪除數(shù)據(jù)庫(kù)。
記得刪除數(shù)據(jù)庫(kù)的時(shí)候一定要小心哦,小心一副銀手鐲送到你家里來(lái)哦。