前言
MySQL數(shù)據(jù)庫是目前Web開發(fā)最流行的數(shù)據(jù)庫威酒,本章將介紹數(shù)據(jù)庫的有關(guān)概念夹攒,并且講解如何安裝和配置MySQL蝴蜓。
MySQL的概述
MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng)鞭缭,由瑞典MySQL AB 公司開發(fā)受神,目前屬于 Oracle旗下產(chǎn)品抛猖。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,在 WEB 應(yīng)用方面鼻听,MySQL是最好的RDBMS應(yīng)用軟件财著。
MySQL所使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL 軟件采用了雙授權(quán)政策撑碴,分為社區(qū)版和商業(yè)版撑教,由于其體積小、速度快醉拓、總體擁有成本低伟姐,尤其是開放源碼這一特點(diǎn)收苏,一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫。
MySQL發(fā)展歷程
1愤兵、MySQL的歷史可以追溯到1979年鹿霸,一個(gè)名為Monty Widenius的程序員在為TcX的小公司打工,并且用BASIC設(shè)計(jì)了一個(gè)報(bào)表工具秆乳,使其可以在4MHz主頻和16KB內(nèi)存的計(jì)算機(jī)上運(yùn)行懦鼠。當(dāng)時(shí),這只是一個(gè)很底層的且僅面向報(bào)表的存儲(chǔ)引擎屹堰,名叫Unireg葛闷。
2、1990年双藕,TcX公司的客戶中開始有人要求為他的API提供SQL支持淑趾。Monty直接借助于mSQL的代碼,將它集成到自己的存儲(chǔ)引擎中忧陪。令人失望的是扣泊,效果并不太令人滿意,決心自己重寫一個(gè)SQL支持嘶摊。
3延蟹、 1996年,MySQL 1.0發(fā)布叶堆,它只面向一小撥人阱飘,相當(dāng)于內(nèi)部發(fā)布。到了1996年10月虱颗,MySQL 3.11.1發(fā)布(MySQL沒有2.x版本)沥匈,最開始只提供Solaris下的二進(jìn)制版本。一個(gè)月后忘渔,Linux版本出現(xiàn)了高帖。在接下來的兩年里,MySQL被依次移植到各個(gè)平臺(tái)畦粮。
4散址、1999~2000年,MySQL AB公司在瑞典成立宣赔。Monty雇了幾個(gè)人與Sleepycat合作预麸,開發(fā)出了Berkeley DB引擎, 由于BDB支持事務(wù)處理,因此MySQL從此開始支持事務(wù)處理了儒将。
5吏祸、2000年,MySQL不僅公布自己的源代碼椅棺,并采用GPL(GNU General Public License)許可協(xié)議犁罩,正式進(jìn)入開源世界齐蔽。同年4月,MySQL對(duì)舊的存儲(chǔ)引擎ISAM進(jìn)行了整理床估,將其命名為MyISAM含滴。
6、2001年丐巫,集成Heikki Tuuri的存儲(chǔ)引擎InnoDB谈况,這個(gè)引擎不僅能持事務(wù)處理,并且支持行級(jí)鎖递胧。后來該引擎被證明是最為成功的MySQL事務(wù)存儲(chǔ)引擎碑韵。MySQL與InnoDB的正式結(jié)合版本是4.0
7、2003年12月缎脾,MySQL 5.0版本發(fā)布祝闻,提供了視圖、存儲(chǔ)過程等功能遗菠。
8联喘、2008年1月,MySQL AB公司被Sun公司以10億美金收購辙纬,MySQL數(shù)據(jù)庫進(jìn)入Sun時(shí)代豁遭。在Sun時(shí)代,Sun公司對(duì)其進(jìn)行了大量的推廣贺拣、優(yōu)化蓖谢、Bug修復(fù)等工作。
9譬涡、2008年11月闪幽,MySQL 5.1發(fā)布,它提供了分區(qū)昂儒、事件管理沟使,以及基于行的復(fù)制和基于磁盤的NDB集群系統(tǒng)委可,同時(shí)修復(fù)了大量的Bug渊跋。
10、2009年4月着倾,Oracle公司以74億美元收購Sun公司拾酝,自此MySQL數(shù)據(jù)庫進(jìn)入Oracle時(shí)代,而其第三方的存儲(chǔ)引擎InnoDB早在2005年就被Oracle公司收購卡者。蒿囤。
系統(tǒng)特性
1. 使用 C和 C++編寫,并使用了多種編譯器進(jìn)行測試崇决,保證了源代碼的可移植性材诽。
2.支持 AIX底挫、FreeBSD、HP-UX脸侥、Linux建邓、Mac OS穿铆、NovellNetware雀鹃、OpenBSD偎行、OS/2 Wrap字逗、Solaris俺驶、Windows等多種操作系統(tǒng)洛搀。
3.為多種編程語言提供了 API待锈。這些編程語言包括 C宅荤、C++跳仿、Python诡渴、Java、Perl菲语、PHP玩徊、Eiffel、Ruby,.NET和 Tcl 等谨究。
4.支持多線程恩袱,充分利用 CPU 資源。
5.優(yōu)化的 SQL查詢算法胶哲,有效地提高查詢速度畔塔。
6.既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫而嵌入到其他的軟件中鸯屿。
7.提供多語言支持澈吨,常見的編碼如中文的 GB 2312、BIG5寄摆,日文的 Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名谅辣。
8.提供 TCP/IP、ODBC 和 JDBC等多種數(shù)據(jù)庫連接途徑婶恼。
9.提供用于管理桑阶、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具勾邦。
10.支持大型的數(shù)據(jù)庫蚣录。可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫眷篇。
11.支持多種存儲(chǔ)引擎萎河。
12.MySQL 是開源的,所以你不需要支付額外的費(fèi)用。
13.MySQL 使用標(biāo)準(zhǔn)的 SQL數(shù)據(jù)語言形式虐杯。
MySQL的安裝
在官網(wǎng)下載最新的MySQL:https://dev.mysql.com/downloads/windows/installer/
Installer屬于安裝版玛歌,有詳細(xì)的安裝指導(dǎo),上面20M的是在線安裝版擎椰,下面300M的是本地安裝版沾鳄,這里我們下載本地安裝包。
打開安裝包确憨,勾選accept the license terms,然后點(diǎn)擊next
接下來選擇默認(rèn)第一個(gè)開發(fā)者選項(xiàng)译荞,然后繼續(xù)點(diǎn)擊next
這里的功能如果不需要,可以直接點(diǎn)擊next休弃,點(diǎn)擊Execute
開始配置吞歼,這里點(diǎn)擊Next
點(diǎn)擊Next
這里設(shè)置賬號(hào)和密碼
完成安裝后,查看系統(tǒng)服務(wù)塔猾,在運(yùn)行中輸入:services.msc
查看MySQL服務(wù)篙骡,如果顯示正在運(yùn)行,表示服務(wù)安裝完成丈甸。
環(huán)境變量的配置
點(diǎn)擊我的電腦 --> 右鍵點(diǎn)擊屬性 --> 高級(jí)系統(tǒng)設(shè)置 --> 環(huán)境變量
在系統(tǒng)變量中點(diǎn)擊新建糯俗,添加:
變量名:MYSQL_HOME
變量值:MySQL的安裝目錄
編輯Path系統(tǒng)變量,添加%MYSQL_HOME%\bin
命令行工具
MySQL自帶了命令行工具睦擂,我們可以用它測試MySQL的基本功能得湘。
點(diǎn)擊開始——>運(yùn)行——>輸入cmd
進(jìn)入命令行后,可以使用mysql命令登錄mysql數(shù)據(jù)庫
輸入:mysql -u root -p 回車顿仇,再輸入密碼淘正,驗(yàn)證成功后可以登錄系統(tǒng)。
簡單的mysql命令:
顯示數(shù)據(jù)庫show databases;
進(jìn)入數(shù)據(jù)庫use 數(shù)據(jù)庫名;
顯示表show tables;
顯示表結(jié)構(gòu)desc 表名;
查詢表select * from 表名;
退出系統(tǒng) exit;
總結(jié)
本章我們學(xué)習(xí)了MySQL數(shù)據(jù)庫的特性臼闻,以及MySQL的安裝和配置鸿吆,后面我們講學(xué)習(xí)如何管理MySQL數(shù)據(jù)庫。