{eval=Array;=+count(Array);}
看似MySQL和SQL很像,其實(shí)這兩者本質(zhì)上是有區(qū)別的,更不能把這兩者都當(dāng)成數(shù)據(jù)庫來看待。
SQL是結(jié)構(gòu)化查詢語言的英文簡稱,為便于理解,我們可以把SQL直接理解成操作關(guān)系型數(shù)據(jù)庫的語言,它是一種特殊的編程語言。
SQL結(jié)構(gòu)化查詢語言其實(shí)有很多功能,數(shù)據(jù)庫查詢只是其中一部分,一般而言SQL語言主要包含以下幾個(gè)部分:
數(shù)據(jù)庫查詢語言:確定數(shù)據(jù)如何查出
數(shù)據(jù)庫操作語言:主要是Insert、Update、Delete等操作
事務(wù)控制語言:主要包含Commit、Rollback等事務(wù)類操作
數(shù)據(jù)定義語言:主要是對表進(jìn)行的一些操作,如:Create、Alter、Drop等。
另外需要注意的是:SQL只是一種標(biāo)準(zhǔn),不同的數(shù)據(jù)庫對SQL語句的支持是不同的,比如你在MySQL中能執(zhí)行某條SQL語句,同樣的SQL語句在Oracle中就未必能執(zhí)行!
MySQL它是當(dāng)下應(yīng)用最為廣泛的開源關(guān)系型數(shù)據(jù)庫,它是一款數(shù)據(jù)庫綜合軟件,主要是用來管理和存儲數(shù)據(jù)庫中的數(shù)據(jù)的,它除了提供基本的數(shù)據(jù)庫功能外,也支持SQL語言。
總結(jié):SQL是一種用來操作數(shù)據(jù)庫的程序語言,不同數(shù)據(jù)庫的SQL語句也存在一些差異;而MySQL是一種數(shù)據(jù)庫,通過SQL語言可以從MySQL中查找數(shù)據(jù)。
現(xiàn)在很多人把數(shù)據(jù)庫簡稱為SQL,其實(shí)這是錯(cuò)誤的!
1.根本的區(qū)別是它們遵循的基本原則
二者所遵循的基本原則是它們的主要區(qū)別:開放vs保守。SQL服務(wù)器的狹隘的,保守的存儲引擎與MySQL服務(wù)器的可擴(kuò)展,開放的存儲引擎絕然不同。雖然你可以使用SQL服務(wù)器的Sybase引擎,但MySQL能夠提供更多種的選擇,如MyISAM, Heap, InnoDB, and Berkeley DB。MySQL不完全支持陌生的關(guān)鍵詞,所以它比SQL服務(wù)器要少一些相關(guān)的數(shù)據(jù)庫。同時(shí),MySQL也缺乏一些存儲程序的功能,比如MyISAM引擎聯(lián)支持交換功能。
2.性能:先進(jìn)的MySQL
純粹就性能而言,MySQL是相當(dāng)出色的,因?yàn)樗粋€(gè)缺省桌面格式MyISAM。MyISAM 數(shù)據(jù)庫與磁盤非常地兼容而不占用過多的CPU和內(nèi)存。MySQL可以運(yùn)行于Windows系統(tǒng)而不會發(fā)生沖突,在UNIX或類似UNIX系統(tǒng)上運(yùn)行則更好。你還可以通過使用64位處理器來獲取額外的一些性能。因?yàn)镸ySQL在內(nèi)部里很多時(shí)候都使用64位的整數(shù)處理。Yahoo!商業(yè)網(wǎng)站就使用MySQL作為后臺數(shù)據(jù)庫。
當(dāng)提及軟件的性能,SQL服務(wù)器的穩(wěn)定性要比它的競爭對手強(qiáng)很多。但是,這些特性也要付出代價(jià)的。比如,必須增加額外復(fù)雜操作,磁盤存儲,內(nèi)存損耗等等。如果你的硬件和軟件不能充分支持SQL服務(wù)器,我建議你最好選擇其他如DBMS數(shù)據(jù)庫,因?yàn)檫@樣你會得到更好的結(jié)果。
3.發(fā)行費(fèi)用:MySQL不全是免費(fèi),但很便宜
當(dāng)提及發(fā)行的費(fèi)用,這兩個(gè)產(chǎn)品采用兩種絕然不同的決策。對于SQL服務(wù)器,獲取一個(gè)免費(fèi)的開發(fā)費(fèi)用最常的方式是購買微軟的Office或者Visual Studio的費(fèi)用。但是,如果你想用于商業(yè)產(chǎn)品的開發(fā),你必須還要購買SQL Server Standard Edition。學(xué)?;蚍勤A利的企業(yè)可以不考慮這一附加的費(fèi)用。
4.安全功能
MySQL有一個(gè)用于改變數(shù)據(jù)的二進(jìn)制日志。因?yàn)樗嵌M(jìn)制,這一日志能夠快速地從主機(jī)上復(fù)制數(shù)據(jù)到客戶機(jī)上。即使服務(wù)器崩潰,這一二進(jìn)制日志也會保持完整,而且復(fù)制的部分也不會受到損壞。
在SQL服務(wù)器中,你也可以記錄SQL的有關(guān)查詢,但這需要付出很高的代價(jià)。
安全性
這兩個(gè)產(chǎn)品都有自己完整的安全機(jī)制。只要你遵循這些安全機(jī)制,一般程序都不會出現(xiàn)什么問題。這兩者都使用缺省的IP端口,但是有時(shí)候很不幸,這些IP也會被一些黑客闖入。當(dāng)然,你也可以自己設(shè)置這些IP端口。
恢復(fù)性:先進(jìn)的SQL服務(wù)器
恢復(fù)性也是MySQL的一個(gè)特點(diǎn),這主要表現(xiàn)在MyISAM配置中。這種方式有它固有的缺欠,如果你不慎損壞數(shù)據(jù)庫,結(jié)果可能會導(dǎo)致所有的數(shù)據(jù)丟失。然而,對于SQL服務(wù)器而言就表現(xiàn)得很穩(wěn)鍵。SQL服務(wù)器能夠時(shí)刻監(jiān)測數(shù)據(jù)交換點(diǎn)并能夠把數(shù)據(jù)庫損壞的過程保存下來。
這好比問汽車跟發(fā)動機(jī)的區(qū)別是什么!不具備可比性。我猜是想問mysql與微軟的sqlserver的區(qū)別吧?
一句話:sql是一種操作數(shù)據(jù)處理數(shù)據(jù)的語言,而mysql則是實(shí)現(xiàn)了sql規(guī)范解析sql的操作數(shù)據(jù)的客戶端工具是一種關(guān)系型數(shù)據(jù)庫應(yīng)用軟件.
而這些客戶端有兩大分類關(guān)系型和非關(guān)系型:關(guān)系型如mysql sqlserver oracle等 分關(guān)系型如:redis memcache mongdb等
相輔相成關(guān)系,mysql是物理層面上存放數(shù)據(jù)的儲存器,sql是從數(shù)據(jù)庫中取出數(shù)據(jù)的一種實(shí)現(xiàn)途徑,mysql因?yàn)槠湫◇w量,年費(fèi)來源,功能強(qiáng)大在各大小公司備受歡迎,sql則是可以適用于合種類型數(shù)據(jù)庫而成為程序開發(fā)必備的技能,相對來說sql的應(yīng)用更加廣泛,兩者本質(zhì)上是不同緯度的產(chǎn)品
簡單說:SQL是一種計(jì)算機(jī)語言,大多數(shù)多數(shù)據(jù)庫管理系統(tǒng)都能運(yùn)行這種語言,彼此的差別很小。而MySQL是一個(gè)數(shù)據(jù)庫管理系統(tǒng),這樣的系統(tǒng),最著名的比如有Oracle,微軟的Ms SQLServer,IBM的DB/2,免費(fèi)的如postgresql或者M(jìn)ySQL,這些數(shù)據(jù)庫管理系統(tǒng)都運(yùn)行SQL語言編寫的程序。
SQL是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。mysql屬于關(guān)系數(shù)據(jù)庫的一種,它是一個(gè)軟件產(chǎn)品,和mysql像類似的有oracle sql server等,他們都屬于關(guān)系型數(shù)據(jù)庫使用的語言都是基于sql語言。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答