mysql簡介
概述
關(guān)于數(shù)據(jù)庫的基本概念
MySQL數(shù)據(jù)庫管理系統(tǒng)
SQL
數(shù)據(jù)庫技術(shù)的發(fā)展
數(shù)據(jù)庫技術(shù)是應數(shù)據(jù)管理任務的需求而產(chǎn)生的谎砾,隨著計算機技術(shù)的發(fā)展春瞬,對數(shù)據(jù)管理技術(shù)也不斷的提出更高的要求惫确,其先后經(jīng)歷了人工管理山上、文件系統(tǒng)眼耀、數(shù)據(jù)庫系統(tǒng)等3個階段,下面分別對這3個階段進行介紹佩憾。
人工管理階段
文件系統(tǒng)階段
數(shù)據(jù)庫系統(tǒng)階段
階段涉及的概念
數(shù)據(jù)庫:
數(shù)據(jù)庫(DataBase哮伟,DB)是指長期保存在計算機的存儲設備上,按照一定規(guī)則組織起來妄帘,可以被各種用戶或應用共享的數(shù)據(jù)集合楞黄。
數(shù)據(jù)庫系統(tǒng):
數(shù)據(jù)庫系統(tǒng)(DataBase System,縮寫為DBS)是采用數(shù)據(jù)庫技術(shù)的計算機系統(tǒng)抡驼,是由數(shù)據(jù)庫(數(shù)據(jù))鬼廓、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)致盟、硬件平臺(硬件)和軟件平臺(軟件)5部分構(gòu)成的運行實體碎税。其中數(shù)據(jù)庫管理員(DataBase Administrator,縮寫為DBA)是對數(shù)據(jù)庫進行規(guī)劃馏锡、設計雷蹂、維護和監(jiān)視等的專業(yè)管理人員,在數(shù)據(jù)庫系統(tǒng)中起著非常重要的作用眷篇。
用戶->應用系統(tǒng)->應用開發(fā)工具->數(shù)據(jù)庫管理系統(tǒng)->數(shù)據(jù)庫 (數(shù)據(jù)庫管理員負責對數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)進行操作)
數(shù)據(jù)庫管理系統(tǒng):
數(shù)據(jù)庫管理系統(tǒng)(DataBase Management System萎河,DBMS)是一種操作和管理數(shù)據(jù)庫的大型軟件,用于建立蕉饼、使用和維護數(shù)據(jù)庫虐杯,對數(shù)據(jù)庫進行統(tǒng)一管理和控制,以保證數(shù)據(jù)庫的安全性和完整性昧港。用戶通過數(shù)據(jù)庫管理系統(tǒng)訪問數(shù)據(jù)庫中的數(shù)據(jù)擎椰。
數(shù)據(jù)庫管理系統(tǒng)提供的功能
數(shù)據(jù)庫管理系統(tǒng)提供許多功能,可以通過SQL(結(jié)構(gòu)化查詢語言)來定義和操作數(shù)據(jù)创肥,維護數(shù)據(jù)的完整性和安全性达舒,以及進行各種數(shù)據(jù)庫的管理等值朋。那么數(shù)據(jù)庫管理系統(tǒng)所支持的SQL提供哪些功能呢?
1.數(shù)據(jù)定義語言(Data Definition Language巩搏,DDL) 數(shù)據(jù)庫管理系統(tǒng)提供了數(shù)據(jù)定義語言定義數(shù)據(jù)庫涉及各種對象昨登,定義數(shù)據(jù)的完整性約束、保密限制等約束贯底。
2.數(shù)據(jù)操作語言(Data Manipulation Language丰辣,DML) 數(shù)據(jù)庫管理系統(tǒng)提供了數(shù)據(jù)操作語言實現(xiàn)對數(shù)據(jù)的操作∏堇Γ基本的數(shù)據(jù)操作有兩類:檢索(查詢)和更新(插入笙什、刪除和更新)。
3.數(shù)據(jù)控制語言(Data Control Language胚想,DCL) 數(shù)據(jù)庫管理系統(tǒng)提供了數(shù)據(jù)控制語言實現(xiàn)對數(shù)據(jù)庫的控制琐凭,包含數(shù)據(jù)完整性控制、數(shù)據(jù)安全性控制和數(shù)據(jù)庫的恢復等
發(fā)展歷史
MySQL是一款免費開源浊服、小型统屈、關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。隨著該數(shù)據(jù)庫功能的不斷完善臼闻、性能的不斷提高鸿吆,可靠性不斷增強。
2000年4月述呐,MySQL對舊的存儲引擎進行了整理惩淳,命名為MyISAM。
2001年乓搬,支持事務處理和行級鎖存儲引擎InnoDB被集成到MySQL發(fā)行版中思犁,該版本集成了MyISAM與InnoDB存儲引擎,MySQL與InnoDB的正式結(jié)合版本是4.0进肯。
2004年10月激蹲,發(fā)布了經(jīng)典的4.1版本。
2005年10月江掩,發(fā)布了里程碑的一個版本学辱,MySQL 5.0,在5.0中加入了游標环形,存儲過程策泣,觸發(fā)器,視圖和事務的支持抬吟。在5.0 之后的版本里萨咕,MySQL明確地表現(xiàn)出邁向高性能數(shù)據(jù)庫的發(fā)展步伐。
MySQL公司于2008年1月16號被SUN公司收購火本,而在2009年SUN又被Oracal收購危队。
MySQL與開源文化
在計算機發(fā)展的早期階段聪建,軟件幾乎都是開放的,任何人使用軟件的同時都可以查看軟件的源代碼茫陆,或者根據(jù)自己的需要去修改它金麸。在程序員的社團中大家互相分享軟件,共同提高知識水平盅弛。這種自由的風氣給大家?guī)砹藲g樂钱骂,也帶來了進步叔锐。在開源文化的強力帶動下挪鹏,產(chǎn)生了強大的開源操作系統(tǒng)Linux,其他還有Apache服務器愉烙、MySQL數(shù)據(jù)庫讨盒、Mozilla瀏覽器等。
為什么要使用MySQL數(shù)據(jù)庫 ?
在許多數(shù)據(jù)庫管理系統(tǒng)提供的功能特性步责,只有40%的功能被使用返顺。而MySQL在性能與標準的取舍上,一直堅持性能優(yōu)先的原則蔓肯,成為了互聯(lián)網(wǎng)行業(yè)非常流行的數(shù)據(jù)庫軟件之一遂鹊。
結(jié)構(gòu)化查詢語言
結(jié)構(gòu)化查詢語言(Structured Query Language)簡稱SQL(發(fā)音:/?es kju? ?el/ "S-Q-L"),是一種特殊目的的編程語言專門用來與數(shù)據(jù)庫溝通蔗包,是一種數(shù)據(jù)庫查詢和程序設計語言秉扑,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)调限;同時也是數(shù)據(jù)庫腳本文件的擴展名舟陆。
SQL發(fā)展史
在1970年代初,由IBM公司San Jose,California研究實驗室的埃德加·科德發(fā)表將數(shù)據(jù)組成表格的應用原則(Codd's Relational Algebra)耻矮。1974年秦躯,同一實驗室的D.D.Chamberlin和R.F. Boyce對Codd's Relational Algebra在研制關(guān)系數(shù)據(jù)庫管理系統(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ù)庫系統(tǒng)中也實現(xiàn)了SQL茎活。 1986年10月,美國ANSI采用SQL作為關(guān)系數(shù)據(jù)庫管理系統(tǒng)的標準語言(ANSI X3. 135-1986)铁瞒,后為國際標準化組織(ISO)采納為國際標準妙色。 1989年,美國ANSI采納在ANSI X3.135-1989報告中定義的關(guān)系數(shù)據(jù)庫管理系統(tǒng)的SQL標準語言慧耍,稱為ANSI SQL 89身辨,該標準替代ANSI X3.135-1986版本丐谋。該標準為下列組織所采納: 國際標準化組織(ISO),為ISO 9075-1989報告“Database Language SQL With Integrity Enhancement” 美國聯(lián)邦政府煌珊,發(fā)布在The Federal Information Processing Standard Publication(FIPS PUB)127 目前(21世紀初期)主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)支持某些形式的SQL号俐,大部分數(shù)據(jù)庫打算遵守ANSI SQL89標準。 1992年11月又公布了SQL92標準