mysql簡(jiǎn)介
概述
關(guān)于數(shù)據(jù)庫(kù)的基本概念
MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)
SQL
數(shù)據(jù)庫(kù)技術(shù)的發(fā)展
數(shù)據(jù)庫(kù)技術(shù)是應(yīng)數(shù)據(jù)管理任務(wù)的需求而產(chǎn)生的,隨著計(jì)算機(jī)技術(shù)的發(fā)展,對(duì)數(shù)據(jù)管理技術(shù)也不斷的提出更高的要求,其先后經(jīng)歷了人工管理、文件系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)等3個(gè)階段,下面分別對(duì)這3個(gè)階段進(jìn)行介紹。
人工管理階段
文件系統(tǒng)階段
數(shù)據(jù)庫(kù)系統(tǒng)階段
階段涉及的概念
數(shù)據(jù)庫(kù):
數(shù)據(jù)庫(kù)(DataBase,DB)是指長(zhǎng)期保存在計(jì)算機(jī)的存儲(chǔ)設(shè)備上,按照一定規(guī)則組織起來,可以被各種用戶或應(yīng)用共享的數(shù)據(jù)集合。
數(shù)據(jù)庫(kù)系統(tǒng):
數(shù)據(jù)庫(kù)系統(tǒng)(DataBase System,縮寫為DBS)是采用數(shù)據(jù)庫(kù)技術(shù)的計(jì)算機(jī)系統(tǒng),是由數(shù)據(jù)庫(kù)(數(shù)據(jù))、數(shù)據(jù)庫(kù)管理系統(tǒng)(軟件)、數(shù)據(jù)庫(kù)管理員(人員)、硬件平臺(tái)(硬件)和軟件平臺(tái)(軟件)5部分構(gòu)成的運(yùn)行實(shí)體。其中數(shù)據(jù)庫(kù)管理員(DataBase Administrator,縮寫為DBA)是對(duì)數(shù)據(jù)庫(kù)進(jìn)行規(guī)劃、設(shè)計(jì)、維護(hù)和監(jiān)視等的專業(yè)管理人員,在數(shù)據(jù)庫(kù)系統(tǒng)中起著非常重要的作用。
用戶->應(yīng)用系統(tǒng)->應(yīng)用開發(fā)工具->數(shù)據(jù)庫(kù)管理系統(tǒng)->數(shù)據(jù)庫(kù) (數(shù)據(jù)庫(kù)管理員負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行操作)
數(shù)據(jù)庫(kù)管理系統(tǒng):
數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBase Management System,DBMS)是一種操作和管理數(shù)據(jù)庫(kù)的大型軟件,用于建立、使用和維護(hù)數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一管理和控制,以保證數(shù)據(jù)庫(kù)的安全性和完整性。用戶通過數(shù)據(jù)庫(kù)管理系統(tǒng)訪問數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
數(shù)據(jù)庫(kù)管理系統(tǒng)提供的功能
數(shù)據(jù)庫(kù)管理系統(tǒng)提供許多功能,可以通過SQL(結(jié)構(gòu)化查詢語言)來定義和操作數(shù)據(jù),維護(hù)數(shù)據(jù)的完整性和安全性,以及進(jìn)行各種數(shù)據(jù)庫(kù)的管理等。那么數(shù)據(jù)庫(kù)管理系統(tǒng)所支持的SQL提供哪些功能呢?
1.?dāng)?shù)據(jù)定義語言(Data Definition Language,DDL) 數(shù)據(jù)庫(kù)管理系統(tǒng)提供了數(shù)據(jù)定義語言定義數(shù)據(jù)庫(kù)涉及各種對(duì)象,定義數(shù)據(jù)的完整性約束、保密限制等約束。
2.?dāng)?shù)據(jù)操作語言(Data Manipulation Language,DML) 數(shù)據(jù)庫(kù)管理系統(tǒng)提供了數(shù)據(jù)操作語言實(shí)現(xiàn)對(duì)數(shù)據(jù)的操作?;镜臄?shù)據(jù)操作有兩類:檢索(查詢)和更新(插入、刪除和更新)。
3.?dāng)?shù)據(jù)控制語言(Data Control Language,DCL) 數(shù)據(jù)庫(kù)管理系統(tǒng)提供了數(shù)據(jù)控制語言實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的控制,包含數(shù)據(jù)完整性控制、數(shù)據(jù)安全性控制和數(shù)據(jù)庫(kù)的恢復(fù)等
發(fā)展歷史
MySQL是一款免費(fèi)開源、小型、關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。隨著該數(shù)據(jù)庫(kù)功能的不斷完善、性能的不斷提高,可靠性不斷增強(qiáng)。
2000年4月,MySQL對(duì)舊的存儲(chǔ)引擎進(jìn)行了整理,命名為MyISAM。
2001年,支持事務(wù)處理和行級(jí)鎖存儲(chǔ)引擎InnoDB被集成到MySQL發(fā)行版中,該版本集成了MyISAM與InnoDB存儲(chǔ)引擎,MySQL與InnoDB的正式結(jié)合版本是4.0。
2004年10月,發(fā)布了經(jīng)典的4.1版本。
2005年10月,發(fā)布了里程碑的一個(gè)版本,MySQL 5.0,在5.0中加入了游標(biāo),存儲(chǔ)過程,觸發(fā)器,視圖和事務(wù)的支持。在5.0 之后的版本里,MySQL明確地表現(xiàn)出邁向高性能數(shù)據(jù)庫(kù)的發(fā)展步伐。
MySQL公司于2008年1月16號(hào)被SUN公司收購(gòu),而在2009年SUN又被Oracal收購(gòu)。
MySQL與開源文化
在計(jì)算機(jī)發(fā)展的早期階段,軟件幾乎都是開放的,任何人使用軟件的同時(shí)都可以查看軟件的源代碼,或者根據(jù)自己的需要去修改它。在程序員的社團(tuán)中大家互相分享軟件,共同提高知識(shí)水平。這種自由的風(fēng)氣給大家?guī)砹藲g樂,也帶來了進(jìn)步。在開源文化的強(qiáng)力帶動(dòng)下,產(chǎn)生了強(qiáng)大的開源操作系統(tǒng)Linux,其他還有Apache服務(wù)器、MySQL數(shù)據(jù)庫(kù)、Mozilla瀏覽器等。
為什么要使用MySQL數(shù)據(jù)庫(kù) ?
在許多數(shù)據(jù)庫(kù)管理系統(tǒng)提供的功能特性,只有40%的功能被使用。而MySQL在性能與標(biāo)準(zhǔn)的取舍上,一直堅(jiān)持性能優(yōu)先的原則,成為了互聯(lián)網(wǎng)行業(yè)非常流行的數(shù)據(jù)庫(kù)軟件之一。
結(jié)構(gòu)化查詢語言
結(jié)構(gòu)化查詢語言(Structured Query Language)簡(jiǎn)稱SQL(發(fā)音:/?es kju? ?el/ "S-Q-L"),是一種特殊目的的編程語言專門用來與數(shù)據(jù)庫(kù)溝通,是一種數(shù)據(jù)庫(kù)查詢和程序設(shè)計(jì)語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng);同時(shí)也是數(shù)據(jù)庫(kù)腳本文件的擴(kuò)展名。
SQL發(fā)展史
在1970年代初,由IBM公司San Jose,California研究實(shí)驗(yàn)室的埃德加·科德發(fā)表將數(shù)據(jù)組成表格的應(yīng)用原則(Codd's Relational Algebra)。1974年,同一實(shí)驗(yàn)室的D.D.Chamberlin和R.F. Boyce對(duì)Codd's Relational Algebra在研制關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)System R中,研制出一套規(guī)范語言-SEQUEL(Structured English QUEry Language),并在1976年11月的IBM Journal of R&D上公布新版本的SQL(叫SEQUEL/2)。1980年改名為SQL。 1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2和SQL/DS數(shù)據(jù)庫(kù)系統(tǒng)中也實(shí)現(xiàn)了SQL。 1986年10月,美國(guó)ANSI采用SQL作為關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語言(ANSI X3. 135-1986),后為國(guó)際標(biāo)準(zhǔn)化組織(ISO)采納為國(guó)際標(biāo)準(zhǔn)。 1989年,美國(guó)ANSI采納在ANSI X3.135-1989報(bào)告中定義的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的SQL標(biāo)準(zhǔn)語言,稱為ANSI SQL 89,該標(biāo)準(zhǔn)替代ANSI X3.135-1986版本。該標(biāo)準(zhǔn)為下列組織所采納: 國(guó)際標(biāo)準(zhǔn)化組織(ISO),為ISO 9075-1989報(bào)告“Database Language SQL With Integrity Enhancement” 美國(guó)聯(lián)邦政府,發(fā)布在The Federal Information Processing Standard Publication(FIPS PUB)127 目前(21世紀(jì)初期)主要的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)支持某些形式的SQL,大部分?jǐn)?shù)據(jù)庫(kù)打算遵守ANSI SQL89標(biāo)準(zhǔn)。 1992年11月又公布了SQL92標(biāo)準(zhǔn)