3.SQL(STructured Query Language)是一種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。
MySQL是一個(gè)開放源碼的小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。
MySQL的特性:
使用C和C++編寫,并使用了多種編譯器進(jìn)行
測(cè)試,保證源代碼的可移植性
支持AIX、FreeBSD、HP-UX、
Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、
Windows等多種
操作系統(tǒng)為多種編程語言提供了API。這些編程語言包括C、C++、Eiffel、Java、
Perl、PHP、Python、
Ruby和Tcl等。
支持多線程,充分利用CPU資源
優(yōu)化的SQL查詢算法,有效地提高查詢速度
既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫而嵌入到
其他的軟件中
提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名
提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑
提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具
可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫
MySQL的應(yīng)用:
與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQL不支持視圖(已經(jīng)被列入5.1版的開發(fā)計(jì)劃)、事件等)等,但是這絲毫也沒有減少它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。
目前Internet上流行的網(wǎng)站構(gòu)架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作為操作系統(tǒng),Apache作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫,PHP作為服務(wù)器端腳本解釋器。由于這四個(gè)軟件都是遵循GPL的開放源碼軟件,因此使用這種方式不用花一分錢就可以建立起一個(gè)穩(wěn)定、免費(fèi)的網(wǎng)站系統(tǒng)。
MySQL管理:
可以使用命令行工具管理MySQL數(shù)據(jù)庫(命令mysql 和 mysqladmin),也可以從MySQL的網(wǎng)站下載圖形管理工具M(jìn)ySQL Administrator和MySQL Query Browser。
phpMyAdmin是由php寫成的MySQL資料庫系統(tǒng)管理程式,讓管理者可用Web介面管理MySQL資料庫。
phpMyBackupPro也是由PHP寫成的,可以透過Web介面創(chuàng)建和管理數(shù)據(jù)庫。它可以創(chuàng)建偽cronjobs,可以用來自動(dòng)在某個(gè)時(shí)間或周期備份MySQL 數(shù)據(jù)庫。
Mysql存儲(chǔ)引擎:
MyISAM Mysql的默認(rèn)數(shù)據(jù)庫,最為常用。擁有較高的插入,查詢速度,但不支持事務(wù)
InnoDB 事務(wù)型數(shù)據(jù)庫的首選引擎,支持ACID事務(wù),支持行級(jí)鎖定
BDB 源自Berkeley DB,事務(wù)型數(shù)據(jù)庫的另一種選擇,支持COMMIT和ROLLBACK等其他事務(wù)特性
Memory 所有數(shù)據(jù)置于內(nèi)存的存儲(chǔ)引擎,擁有極高的插入,更新和查詢效率。但是會(huì)占用和數(shù)據(jù)量成正比的內(nèi)存空間。并且其內(nèi)容會(huì)在Mysql重新啟動(dòng)時(shí)丟失
Merge 將一定數(shù)量的MyISAM表聯(lián)合而成一個(gè)整體,在超大規(guī)模數(shù)據(jù)存儲(chǔ)時(shí)很有用
Archive 非常適合存儲(chǔ)大量的獨(dú)立的,作為歷史記錄的數(shù)據(jù)。因?yàn)樗鼈儾唤?jīng)常被讀取。Archive 擁有高效的插入速度,但其對(duì)查詢的支持相對(duì)較差
Federated 將不同的Mysql服務(wù)器聯(lián)合起來,邏輯上組成一個(gè)完整的數(shù)據(jù)庫。非常適合分布式應(yīng)用Cluster/NDB 高冗余的存儲(chǔ)引擎,用多臺(tái)數(shù)據(jù)機(jī)器聯(lián)合提供服務(wù)以提高整體性能和安全性。適合數(shù)據(jù)量大,安全和性能要求高的應(yīng)用
CSV 邏輯上由逗號(hào)分割數(shù)據(jù)的存儲(chǔ)引擎
BlackHole 黑洞引擎,寫入的任何數(shù)據(jù)都會(huì)消失
另外,Mysql的存儲(chǔ)引擎接口定義良好。有興趣的開發(fā)者通過閱讀文檔編寫自己的存儲(chǔ)引擎。
Mysql最常見的應(yīng)用架構(gòu):
單點(diǎn)(Single),適合小規(guī)模應(yīng)用
復(fù)制(Replication),適合中小規(guī)模應(yīng)用
集群(Cluster),適合大規(guī)模應(yīng)用
Mysql6.0的alpha版于2007年初發(fā)布,新版增加了對(duì)falcon存儲(chǔ)引擎的支持。Falcon是Mysql社區(qū)自主開發(fā)的引擎,支持ACID特性事務(wù),支持行鎖,擁有高性能的并發(fā)性。Mysql AB公司想用Falcon替代已經(jīng)非常流行的InnoDB引擎,因?yàn)閾碛泻笳呒夹g(shù)的InnoBase已經(jīng)被競(jìng)爭(zhēng)對(duì)手Oracle所收購。
Mssql 全稱:Microsoft SQL Server是使用客戶機(jī)/服務(wù)器(C/S)體系結(jié)構(gòu)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。
1988年推出了第一個(gè)OS/2版本。
1992年,SQL Server移植到NT上后,Microsoft成了這個(gè)項(xiàng)目的主導(dǎo)者。
1994年以后,Microsoft專注于開發(fā)、推廣SQL Server的Windows NT版本
1996年,Microsoft公司推出了SQL Server 6.5版本
1998年,推出了SQL Server 7.0版本
2000年推出了SQL Server 2000。
目前最新版本為:SQL Server 2005,但使用SQL Server 2000的多。
開發(fā)人員版:是一個(gè)適用于應(yīng)用程序開發(fā)的版本 。
1.SQL Server的主要特點(diǎn)
真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。
圖形化用戶界面。
豐富的編程接口工具。
SQL Server與Windows NT完全集成。
具有很好的伸縮性。
對(duì)Web技術(shù)的支持。
SQL Server提供數(shù)據(jù)倉庫功能。
三.SQL
SQL全稱是“結(jié)構(gòu)化查詢語言(Structured Query Language)”
SQL(STructured Query Language)是一種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。
SQL同時(shí)也是數(shù)據(jù)庫腳本文件的擴(kuò)展名。
四.PL/SQL
PL/SQL是一種高級(jí)數(shù)據(jù)庫程序設(shè)計(jì)語言,PL/SQL語言在將SQL語言的靈活性及功能與第三代語言的可配置能力相結(jié)合方面是獨(dú)一無二的。該語言集成了面向過程語言的過程結(jié)構(gòu)和強(qiáng)大的數(shù)據(jù)庫操作,為設(shè)計(jì)復(fù)雜的數(shù)據(jù)庫應(yīng)用提供了功能強(qiáng)大、健壯可靠的程序設(shè)計(jì)語言。該語言專門用于在各種環(huán)境下對(duì)Oracle數(shù)據(jù)庫進(jìn)行訪問。由于該語言集成于數(shù)據(jù)庫服務(wù)器中,所以PL/SQL代碼可以對(duì)數(shù)據(jù)進(jìn)行快速高效的處理。