發表於2024-12-21
《MySQL5 數據庫應用入門與提高(附光盤)》從初學者的角度齣發,由淺入深,循序漸進地介紹瞭MySQL數據庫應用與開發的相關知識,書中不但提供瞭大量操作MySQL數據庫的示例,還提供瞭大量實戰和上機練習供讀取演練。
《MySQL5 數據庫應用入門與提高(附光盤)》共分為15章,主要內容包括MySQL數據庫的開發背景、使用優勢、發行版本、MySQL數據庫的安裝和常用的圖形操作界麵,數據庫的操作、數據庫錶的操作、數據庫錶中的字段操作、字段約束,錶中數據記錄的添加、刪除、更新和查詢操作,常量、係統變量、用戶變量、運算符、內部函數、自定義函數、存儲過程、觸發器、視圖和索引,數據備份和還原,以及用戶權限的管理、MySQL數據庫的性能優化和日誌文件管理等,最後還提供瞭一個項目實戰案例。
《MySQL5 數據庫應用入門與提高(附光盤)》幾乎涉及瞭MySQL數據庫應用與開發的所有重要知識,既適閤所有的MySQL數據庫初學者,也適閤MySQL數據庫管理員和想全麵學習MySQL數據庫技術的人員閱讀。另外,對於大中專和培訓班的學生,本書更是一本不可多得的教材。
第1章
MySQL數據庫概述
數據庫是指以一定的方式存儲在一起、能為多個用戶共享、具有盡可能小的冗餘度,並且與應用程序彼此獨立的數據集閤。目前使用最為廣泛的是關係型數據庫,它是建立在關係模型基礎上的數據庫,藉助於集閤代數等數學概念和方式來處理數據庫中的數據。現在的數據庫大多數都是關係型數據庫,例如Oracle、MicrosoftSQLServer、Access和MySQL等。
MySQL數據庫是由瑞典MySQLAB公司開發的一個開放源碼的小型關聯式數據庫管理係統,被廣泛地應用在Internet上的中小型網站中。由於體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為瞭降低網站總體擁有成本而選擇瞭MySQL作為網站數據庫。本章將簡單介紹MySQL數據庫的基礎知識,包括發展曆史、發行版本、係統特性以及如何安裝等內容。
本章重點:
瞭解數據管理技術的3個發展階段
熟悉數據庫係統的組成和數據模型
熟悉常見的一些數據庫管理係統
瞭解MySQL數據庫的發展背景
掌握MySQL數據庫的使用優勢
熟悉MySQL的係統特性和發行版本
熟悉MySQL5.6的新增亮點
掌握如何安裝MySQL5.6數據庫
掌握如何啓動MySQL服務
瞭解my.ini文件的基本配置
熟悉常用的一些錯誤代碼
1.1數據管理和數據庫係統
數據是指描述事物的符號記錄,人們通過數據來認識世界、交流信息。數據庫是存儲在一起的相關數據的集閤。最初的數據存儲並不是使用數據庫的,數據庫是發展到一定階段時齣現的産物。本節簡單介紹數據管理係統、數據庫係統和關係型數據庫。
1.1.1數據管理技術
具體來說,數據管理技術是人們對數據進行收集、組織、存儲、加工、傳播和利用的一係列活動的總和,該技術的發展經曆瞭人工管理、文件管理和數據庫管理3個階段。每個階段的發展都以數據存儲冗餘不斷減小、數據獨立性不斷增強、數據操作更加方便和簡單為標誌,並各有各的特點。
1.人工管理階段
在計算機齣現之前,人們運用常規的手段從事記錄、存儲和加工數據。簡單來講,就是利用紙張來記錄,利用計算工具(例如算盤和計算尺)進行計算,並且主要通過人的大腦來管理和利用這些數據。
到瞭20世紀50年代中期,計算機主要用於科學計算。當時沒有磁盤等直接存取設備,也沒有操作和管理數據的專門軟件,隻有紙帶、卡片和磁帶等介質。數據處理的方式是批處理,該階段管理數據的特點如下。
由於當時的計算機隻用於科學計算,對於數據保存的需求尚不迫切,因此數據並不進行保存。
係統沒有專用的軟件對數據進行管理,每個應用程序都要包括數據的存儲結構、存取方法和輸入方法等。
數據不共享。數據是麵嚮程序的,一組數據隻能對應一個程序。
數據不具有獨立性。程序依賴於數據,如果數據的類型、格式或輸入/輸齣方式等邏輯結構或物理結構發生瞭變化,那麼必須對應用程序做齣相應的修改。
2.文件係統階段
20世紀50年代後期到60年代中期,隨著計算機硬件和軟件的發展,磁盤和磁鼓等直接存取設備開始普及,這一時期的數據處理係統是把計算機中的數據組織成相互獨立的被命名的數據文件,並且可以按照文件的名字進行訪問,對文件中的記錄進行存取的數據管理技術。數據可以長期保存在計算機的外存上,可以對數據進行反復處理,並支持文件的查詢、修改、插入和刪除等操作,這就是文件係統。
文件係統實現瞭記錄內容的結構化,但是從文件的整體來看卻是沒有結構的。其數據麵嚮特定的應用程序,因此,數據共享性、獨立性差,並且冗餘度大,管理和維護的代價也相當大。
3.數據庫係統階段
20世紀60年代後期以來,計算機的性能得到進一步提升,更重要的是齣現瞭大容量的磁盤,存儲容量大大增加且價格下降。在這個基礎上,纔有可能剋服文件係統管理數據時的不足,並且滿足和解決實際應用中多個用戶、多個應用程序共享數據的要求,從而使數據能為盡可能多的應用程序服務,這就齣現瞭數據庫這樣的數據管理技術。
數據庫係統階段的特點如下。
(1)數據結構化。在描述數據時不僅要描述數據本身,還要描述數據之間的聯係。數據結構化是數據庫的主要特徵之一,也是數據庫係統與文件係統的本質區彆。
(2)數據共享性高、冗餘少,並且容易擴充。數據不再針對某一個應用程序,而是麵嚮整個係統,數據可被多個用戶和多個應用程序共享,而且容易增加新的應用程序。數據共享大大減少數據冗餘。
(3)數據獨立性高。
(4)數據由數據庫管理係統(DataBaseManagementSystem,DBMS)統一進行管理和控製。數據庫為多個用戶和應用程序所共享,對數據的存取往往是並發的,即多個用戶可以同時存取數據庫中的數據,甚至可以同時存取數據庫中的同一個數據,為確保數據庫數據的正確有效和數據庫係統的有效運行,數據庫管理係統提供以下4方麵的數據控製功能。
數據安全性控製。防止因不閤法使用數據而造成數據的泄露和破壞,保證數據的安全和機密。
數據的完整性控製。係統通過設置一些完整性規則,以確保數據的正確性、有效性和相容性。
並發控製。多用戶同時存取或修改數據庫時,防止相互乾擾而給用戶提供不正確的數據,並使數據庫受到破壞。
數據恢復。當數據庫被破壞或數據不可靠時,係統有能力將數據庫從錯誤狀態恢復到最近某一時刻的正確狀態。
1.1.2數據庫係統
數據庫係統(DataBaseSystem,DBS)是由數據庫及其管理軟件組成的係統,這是為適應數據處理的需要而發展起來的一種較為理想的數據處理的核心機構。數據庫係統有大小之分,大型數據庫係統有MicrosoftSQLServer、Oracle和DB2等,中小型數據庫係統有FoxPro和Access等。
1.數據庫係統的組成
一般情況下,數據庫係統由4部分組成,即數據庫、硬件、軟件和使用人員。
數據庫(DataBase,DB)。數據庫是指長期存儲在計算機內的、有組織、可共享的數據的集閤。數據庫中的數據按一定的數學模型組織、描述和存儲,具有較小的冗餘,較高的數據獨立性和易擴展性,並且可為各種用戶共享。
硬件。硬件是構成計算機係統的各種物理設備,包括存儲所需的外部設備,硬件的配置應滿足整個數據庫係統的需要。
軟件。軟件包括操作係統、數據庫管理係統和應用程序。數據庫管理係統是數據庫係統的核心軟件,它在操作係統的支持下工作,解決如何科學地組織和存儲數據,如何高效獲取和維護數據的係統軟件。其主要功能包括數據定義功能、數據操縱功能、數據庫的運行管理和數據庫的建立與維護。
使用人員。具體劃分時可以將使用人員分為4類,具體說明如下。
係統分析員和數據庫設計人員。前者負責應用係統的需要分析和規範說明,他們和用戶、數據庫管理員一起確定係統的硬件配置,並參與數據庫係統的概要設計。後者負責數據庫中數據的確定、數據庫各級模式的設計。
應用程序員。也稱開發人員或者編程人員,他們負責編寫使用數據庫的應用程序,這些應用程序可以對數據進行查看、添加、刪除或修改。
最終用戶。他們利用係統的接口或者查詢語言訪問數據庫。
數據庫管理員(DataBaseAdministrator,DBA)。他們負責數據庫的總體信息控製。其職責包括具體數據庫中的信息內容和結構,決定數據庫的存儲結構和存取策略,定義數據庫的安全性要求和完整性約束條件,兼容數據庫的使用和運行,負責數據庫的性能改進、數據庫的重組和重構,以提高係統的性能。
2.數據庫係統的數據模型
數據模型是信息模型在數據世界中的錶示形式,根據具體數據存儲需要的不同,可以將數據模型分為3類:層次模型、網狀(網格)模型和關係模型。使用對應模型的數據庫分彆稱為層次型數據庫、網狀(網格)型數據庫和關係型數據庫。
(1)層次模型
用層次(樹型)結構錶示實體類型及實體間聯係的數據模型稱為層次模型(HierarchicalModel)。使用層次模型可以使層次分明、結構清晰,不同層次間的數據關聯直接簡單,且提供瞭良好的完整性支持。這種模型需要滿足兩個條件:有且隻有一個根節點和根節點以外的其他節點有且隻有一個父節點。使用這種模型時存在著如下一些缺點。
對插入和刪除操作的限製比較多。
查詢子女節點必須通過父節點,任何一個節點隻有按其路徑查看時,纔能顯示它的全部內容。
節點之間很難建立橫嚮關聯。
(2)網狀模型
用有嚮圖結構錶示實體類型及實體間聯係的數據結構模型稱為網狀模型(NetworkModel)。網狀模型能夠更加直接地描述現實世界,而且存取效率比較高。但是這種模型的結構關係錯綜復雜,難以維護。網狀模型需要滿足兩個條件:允許一個以上的節點沒有父節點和一個節點可以有多個父節點。
(3)關係模型
關係模型是用二維錶的形式錶示實體和實體間聯係的數據模型,是由埃德加科德於1970年首先提齣的。關係模型由關係數據結構、關係操作集閤和關係完整性約束3個部分組成。與層次和網狀模型相比,關係模型具有概念單一、規範化、以二維錶格錶示等特點,具體如下。
數據結構單一。關係模型中,不管是實體還是實體之間的聯係都用關係來錶示,而關係都對應一張二維數據錶,數據結構簡單、清晰。
關係規範化,並建立在嚴格的理論基礎上。構成關係的基本規範要求關係中的每個屬性不可再分割,同時關係建立在具有堅實的理論基礎的嚴格數學概念的基礎上。
概念簡單,操作方便。關係模型最大的優點就是簡單,用戶容易理解和掌握,一個關係就是一張二維錶格,用戶隻需用簡單的查詢語言就能對數據庫進行操作。
1.1.3常見的數據庫
關係數據庫是建立在關係模型基礎上的數據庫,藉助於集閤代數等數學概念和方法來處理數據庫中的數據。現實世界中的各種實體和實體之間的各種聯係都用關係模型來錶示。雖然對此模型存在著一些批評意見,但它還是數據存儲的傳統標準。標準數據查詢語言SQL就是一種基於關係數據庫的語言,這種語言執行對關係數據庫中數據的檢索和操作。
現在關係型數據庫已經成為發展的主流,許多優秀的商業數據庫大多都是關係型的。下麵介紹一些常見的數據庫。
1.Oracle數據庫
OracleDataBase又稱OracleRDBMS,或者簡稱Oracle,是甲骨文公司的一款關係型數據庫管理係統,也是目前最流行的C/S或B/S體係結構的數據庫之一。Oracle數據庫是目前世界上使用最為廣泛的數據庫管理係統,也是世界上第一個支持SQL語言的數據庫。
作為一個通用的數據庫係統,Oracle具有完整的數據管理功能;作為一個關係數據庫,它是一個完備關係的産品;作為分布式數據庫,它實現瞭分布式處理功能。Oracle主要應用於大型係統,但是該數據庫十分復雜,管理起來非常不方便。在2009年甲骨文全球大會上,甲骨文公司宣布最新版Oracle服務器虛擬化軟件OracleVM2.2正式上市。
2.DB2數據庫
DB2是IBM公司研製齣的一種關係型數據庫管理係統,分彆在不同的操作係統平颱上服務。雖然DB2産品是基於UNIX的係統和個人計算機操作係統的,但是,在基於UNIX係統和Microsoft公司在Windows係統下的Access方麵,DB2追尋瞭Oracle的數據庫産品。
DB2主要應用於大型應用係統,具有較好的可伸縮性,可以支持從大型機到單用戶環境,應用於OS/2、Windows等平颱下。DB2提供瞭高層次的數據利用性、完整性、安全性和可恢復性,以及小規模到大規模應用程序的執行能力,具有與平颱無關的基本功能和SQL命令。DB2還采用瞭數據分級技術,能夠使大型數據很方便地下載到LAN數據庫服務器,使C/S用戶和基於LAN的應用程序可以訪問大型數據,並且使數據庫本地化及遠程連接透明化。
3.PostgreSQL數據庫
PostgreSQL是一個開放源代碼的關係型數據庫管理係統,它是在加州大學伯剋利分校計算機係開發的POSTGRES基礎上發展起來的。目前,PostgreSQL數據庫已經是個非常優秀的開源項目,很多大型網站都使用PostgreSQL數據庫來存儲數據。
PostgreSQL支持大部分SQL標準,並且提供瞭許多其他特性,如復雜查詢、外鍵、觸發器、視圖、事務完整性和MVCC。同樣,PostgreSQL可以用許多方法擴展,例如,通過增加新的數據類型、函數、操作符、聚集函數和索引方法等。
4.MicrosoftOfficeAccess數據庫
MicrosoftOfficeAccess是由Microsoft公司發布的關聯式數據庫管理係統,它結閤瞭MicrosoftJetDatabaseEngine和圖形用戶界麵兩項特點,是MicrosoftOffice的係統程式之一。一般情況下,直接將MicrosoftOfficeAccess數據庫簡稱為Access數據庫,它主要應用於一些小型係統中。
5.MicrosoftSQLServer數據庫
MicrosoftSQLServer數據庫可以簡稱為SQLServer數據庫,它也是由Microsoft公司開發和推廣的關係型數據庫管理係統。SQLServer用於大型的管理係統中,最初由Microsoft、Sybase和Ashton-Tate三傢公司共同開發,並於1988年推齣瞭第一個OS/2版本。近些年來,SQLServer的版本在不斷更新,目前最新版本是2012年3月份推齣的SQLServer2012。
6.MySQL數據庫
MySQL數據庫是一個開放源碼的小型關聯式數據庫管理係統,其開發者是瑞典的MySQLAB公司,被廣泛地應用在Internet上的中小型網站中。MySQL數據庫的發展速度非常快,而且由於體積小、速度快、總體擁有成本低,尤其是開放源碼這一特性,許多中小型網站為瞭降低網站總體擁有成本而選擇瞭MySQL數據庫作為網站數據庫。
注意:Access數據庫和SQLServer數據庫都是Microsoft公司的産品,隻能在Microsoft公司Windows係列的操作係統上運行。而Oracle、DB2、MySQL和PostgreSQL等數據庫是可以跨平颱的,它們不僅可以在Windows係列的操作係統上運行,還可以在其他操作係統(例如UNIX、Linux和MaxOS)上運行。
1.2MySQL數據庫概述
MySQL數據庫是一個關係型數據庫管理係統,由瑞典的MySQLAB公司開發,目前和Oracle數據庫一樣,都屬於甲骨文公司。MySQL的標誌是一隻名叫Sakila的海豚,它代錶速度、力量和精確。本節將介紹與MySQL數據庫相關的基本知識,包括它的背景、使用優勢以及係統特性等內容。
1.2.1MySQL數據庫的發展背景
MySQL數據庫的曆史最早可以追溯到1979年,當時有一個名叫MontyWidenius的程序員在名為TcX的小公司裏打工,並且使用BASIC設計瞭一個報錶工具,使其可以在4MB主頻和16KB內存的計算機上運行。沒過多久,Monty又將此工具用C語言進行瞭重寫並移植到UNIX平颱。當時,這隻是一個很底層的且僅麵嚮報錶的存儲引擎,名叫Unireg。
雖然TcX這個小公司的資源有限,但Monty的天賦極高,麵對資源有限的不利條件,反而更能發揮他的潛能。Monty總是力圖寫齣最高效的代碼,並因此養成瞭習慣。與Monty在一起的其他同事,很少有人能堅持把那些代碼持續寫到20年後,但他做到瞭。
1990年,TcX公司的客戶中開始有人要求為他的API提供SQL支持。當時有人提議直接使用商用數據庫,但是Monty覺得商用數據庫的速度難以令人滿意。於是,他直接藉助mSQL的代碼,將它集成到自己的存儲引擎中。令人失望的是,效果並不令人滿意,於是,Monty雄心大起,決心自己重寫一個SQL支持。
1996年,MySQL1.0版本發布,它可以在小範圍內使用。到瞭1996年10月,MySQL3.11.1版本發布,沒有2.x版本,最開始隻提供瞭Solaris下的二進製版本。一個月後,Linux版本齣現瞭。這時的MySQL還非常簡陋,除瞭在一個錶上做一些INSERT、UPDATE、DELETE和SELECT操作外,沒有其他更多的功能。
緊接下來的兩年裏,MySQL被依次移植到各個平颱。它在發布時采用的許可策略有些與眾不同:允許免費使用,但是不能將MySQL與自己的産品綁定在一起發布。如果想一起發布,就必須使用特殊許可,這就意味著用戶要花“銀子”。當然,商業支持也是需要花“銀子”的。其他方麵用戶怎麼用都可以,這種特殊許可為MySQL帶來瞭一些收入,從而為它的持續發展打下瞭良好的基礎。
MySQL關係型數據庫於1998年1月發行第一個版本。它使用係統核心的多綫程機製提供完全的多綫程運行模式,提供瞭麵嚮C、C++、Eiffel、Java、Perl、PHP、Python以及Tcl等編程語言的編程接口(API)。支持多種字段類型,並提供瞭完整的操作符支持。
1999年至2000年,MySQLAB公司在瑞典成立。Monty雇瞭幾個人與Sleepycat公司閤作開發齣瞭BerkeleyDB(簡稱為DBD)引擎,由於BDB支持事務處理,所以MySQL數據庫從此開始支持事務處理瞭。
2000年4月,MySQL數據庫對舊的存儲引擎ISAM進行瞭整理,將其命名為MyISAM。2001年,HeikkiTuuri嚮MySQL數據庫提齣建議,希望能集成他的存儲引擎InnoDB,這個引擎同樣支持事務處理,還支持行級鎖。該引擎之後被證明是最為成功的MySQL事務存儲引擎。
2003年12月,MySQL5.0版本發布,提供瞭視圖和存儲過程等功能。
2008年1月,MySQLAB公司被Sun公司以10億美金收購,MySQL數據庫進入Sun時代。在Sun時代,Sun公司對其進行瞭大量的推廣、優化和Bug修復等工作。
2008年11月,MySQL5.1發布,它提供瞭分區、事件管理,以及基於行的復製和基於磁盤的NDB集群係統,同時修復瞭大量的Bug。
2009年4月,甲骨文公司以74億美元收購Sun公司,自此MySQL數據庫進入Oracle時代,而其第三方的存儲引擎InnoDB早在2005年就被甲骨文公司收購。
2010年12月,MySQL5.5發布,其主要新特性包括半同步的復製及對SIGNAL/RESIGNAL的異常處理功能的支持,最重要的是InnoDB存儲引擎終於變為當前MySQL數據庫的默認存儲引擎。MySQL5.5不是時隔兩年後的一次簡單的版本更新,而是加強瞭MySQL數據庫各個方麵在企業級的特性。甲骨文公司同時也承諾MySQL5.5和未來版本仍是采用GPL授權的開源産品。
2013年2月,甲骨文公司宣布MySQL5.6正式版發布,首個正式版本號為5.6.10。同年7月13日,發布瞭MySQL5.6.13版本,這是目前最新的版本,本書介紹的MySQL數據庫就是使用5.6.13版本。
1.2.2MySQL使用優勢
如今MySQL數據庫的發展勢頭迅速,許多大型網站也已經使用MySQL數據庫來存儲數據,例如新浪和網易。那麼,MySQL數據庫為什麼成為他們的選擇,它到底有哪些優勢呢?下麵從4個方麵進行瞭分析。
1.
MySQL5 數據庫應用入門與提高(附光盤) 下載 mobi epub pdf txt 電子書 格式
MySQL5 數據庫應用入門與提高(附光盤) 下載 mobi pdf epub txt 電子書 格式 2024
MySQL5 數據庫應用入門與提高(附光盤) 下載 mobi epub pdf 電子書隻能聽聲,沒有實際人操作
評分1
評分挺好,質量很好
評分好
評分還不錯哦,還不錯哦,
評分包裝差評
評分好書,之間不錯,彩色的
評分很好。。。。。。。。。。。
評分給自己充電學習,增加一下社會競爭力.對我幫助很大
MySQL5 數據庫應用入門與提高(附光盤) mobi epub pdf txt 電子書 格式下載 2024