MySQL學習1:初識MySQL

來源:互聯網
上載者:User

標籤:

       一什麼是資料庫?

       資料庫(Database)是按照資料結構來組織、儲存和管理資料的倉庫,每個資料庫都有一個或多個不同的API用於創

建,訪問,管理,搜尋和複製所儲存的資料。

       我們也可以將資料存放區在檔案中,但是在檔案中讀寫資料速度相對較慢。所以,現在我們使用關係型資料庫管理

系統(RDBMS)來儲存和管理的大資料量。所謂的關係型資料庫,是建立在關聯式模式基礎上的資料庫,藉助於集合代數

等數學概念和方法來處理資料庫中的資料。

       RDBMS即關聯式資料庫管理系統(Relational Database Management System)的特點:

       1)資料以表格的形式出現

       2)每行為各種記錄名稱

       3)每列為記錄名稱所對應的資料域

       4)許多的行和列組成一張表單

       5)若干的表單組成database

       二關係型資料庫(RDBMS)術語

       針對關係型資料庫作如下解釋:

       1)關係型資料庫可以簡單的理解為二維資料庫,表格式類似於excel表格,我們平時我接觸的資料據,一般都是關

系型資料庫。

       2)關係型資料庫不是唯一的進階資料庫模型,也不是最優的一種,但是,關係型資料庫是現今使用最廣泛、最易

於理解和使用的資料庫模型。

       3)在我們開始學習MySQL資料庫前,讓我們先瞭解下RDBMS的一些術語:

          1資料庫: 資料庫是一些關聯表的集合。

          2資料表: 表是資料的矩陣。在一個資料庫中的表看起來像一個簡單的電子錶格。

          3關係:可以理解成一張二維表,每個關係都有一個關係名,即表名。

          4關係模式:對關係的描述,在資料庫中通常稱之為表結構。

          5元組:可以理解成二維表中的一行,在資料庫中常被稱作記錄。一行(=元組,或記錄)是一組相關的資料,例

如一條使用者訂閱的資料。

          6屬性:可以理解成二維表中的一列,在資料庫中常被成為欄位。一列(資料元素) 包含了相同的資料, 例如郵政

編碼的資料。

          7域:屬性的取值範圍,也是資料庫中某一列的取值限制。

          8關鍵字:一組可以唯一標識元組的屬性。資料庫中常稱為主鍵有一個或多個列組成。  

          9冗餘:儲存兩倍資料,冗餘可以使系統速度更快。

          10主鍵:主鍵是唯一的。一個資料表中只能包含一個主鍵。你可以使用主鍵來查詢資料。

          11外鍵:外鍵用於關聯兩個表。

          12複合鍵:複合鍵(按鍵組合)將多個列作為一個索引鍵,一般用於複合索引。

          13索引:使用索引可快速存取資料庫表中的特定資訊。索引是對資料庫表中一列或多列的值進行排序的一種結

構。類似於書籍的目錄。

          14參照完整性: 參照的完整性要求關係中不允許引用不存在的實體。與實體完整性是關聯式模式必須滿足的完整

性約束條件,目的是保證資料的一致性。

       4)關係型資料庫特點:

       1容易理解:二維表結構是非常貼近邏輯世界的一個概念,相對與網狀、層次以及其它模型更容易理解。

       2使用方便:通過SQL語言程式員和資料管理員可以很方便的在邏輯層面操作資料庫而不必理解其底層實現。

       3易於維護:豐富的完整性(實體完整性、參照完整性、使用者自訂完整性)降低資料冗餘和資料不一致的概

率。       

       5)關係操作:

       1資料查詢:選擇、投影、串連、並、交、差、除

       2資料操作:增加、刪除、修改、查詢

       6)SQL(Structured Query Language):結構化查詢語言 (SQL),一種特殊目的的程式設計語言,資料庫查詢和程式設計語言,

用於儲存資料以及查詢、更新和管理關聯性型資料庫。

       SQL查詢語言群組成部分:

       1DDL(Data Definition Languages)語句:資料定義語句,用於定義不同的資料區段、資料庫、表、列、索引等資料

庫的對象定義。常用關鍵字主要包括create、drop、alter等。

       2DML(Data Manipulation Language)語句:資料操縱語句,用於添加、刪除、更新和查詢資料庫記錄,並檢查數

據完整性。常用關鍵字包括insert、delete、update和select等。

       3DCL(Data Control Language)語句:資料控制語句,用於控制不同資料區段直接的許可和存取層級的語句,用於

定義資料庫、表、欄位、使用者的存取權限和安全層級。常用關鍵字有grant、revoke等。  

       三MySQL資料庫

       MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB公司開發,目前屬於Oracle公司。MySQL最流行的關

系型資料庫管理系統,在Web應用方面MySQL是最好的RDBMS(Relational Database Management System,關係數

據庫管理系統)應用軟體之一。

      MySQL是一種關聯資料庫管理系統,關聯資料庫將資料儲存在不同的表中,而不是將所有資料放在一個大倉庫

內,這樣就增加了速度並提高了靈活性。

      MySQL所使用的SQL語言是用於訪問資料庫的最常用標準化語言。MySQL軟體採用了雙授權政策,它分為社區版

和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇

MySQL作為網站資料庫。由於其社區版的效能卓越,搭配PHP和Apache可組成良好的開發環境。

       四MySQL的特點

       1)Mysql是開源的,所以你不需要支付額外的費用。

       2)Mysql支援大型的資料庫。可以處理擁有上千萬條記錄的大型資料庫。

       3)MySQL使用標準的SQL資料語言形式。

       4)Mysql可以允許於多個系統上,並且支援多種語言。這些程式設計語言包括C、C++、Python、Java、Perl、PHP、

Eiffel、Ruby和Tcl等。

       5)Mysql對PHP有很好的支援,PHP是目前最流行的Web開發語言。

       6)MySQL支援大型資料庫,支援5000萬條記錄的資料倉儲,32位系統資料表檔案最大可支援4GB,64位系統支援最

大的表檔案為8TB。

       7)Mysql是可以定製的,採用了GPL協議,你可以修改源碼來開發自己的Mysql系統。

       五MySQL系統特性

       1)使用C和C++編寫,並使用了多種編譯器進行測試,保證了原始碼的可移植性。

       2)支援 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、

Windows等多種作業系統。

       3)為多種程式設計語言提供了API。這些程式設計語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby、.NET

和Tcl 等。

       4)支援多線程,充分利用 CPU 資源。

       5)最佳化的 SQL查詢演算法,有效地提高查詢速度。

       6)既能夠作為一個單獨的應用程式應用在用戶端伺服器網路環境中,也能夠作為一個庫而嵌入到其他的軟體中。

       7)提供多語言支援,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作資料表名和資料列名。

       8)提供 TCP/IP、ODBC 和 JDBC等多種資料庫連接途徑。

       9)提供用於管理、檢查、最佳化資料庫操作的管理工具。

       10)支援大型的資料庫。可以處理擁有上千萬條記錄的大型資料庫。

       11)支援多種儲存引擎。

       12)線上 DDL/更改功能,資料架構支援Live App程式和開發人員靈活性(5.6新增)。

       13)複製全域事務標識,可支援自我修複式叢集(5.6新增)。

       14)複製無崩潰從機,可提高可用性(5.6新增)。

       15)複製多線程從機,可提高效能(5.6新增)。

       六MySQL資料庫實現模型  
       MySQL的核心組件(參照)

       1)串連池:用於完成使用者認證、線程重用、並發串連數限制、記憶體檢測以及串連緩衝。

       2)SQL介面:使用SQL結構查詢語言對資料庫就行操作的介面(DDL DML等)

       3)Parser:分析器,用來進行查詢轉換、許可權分析擷取的操作。

       4)Optimizer:最佳化器,產生並選擇最佳的訪問路徑。

       5)Cache & Buffers:與儲存引擎相關的I/O效能提升工具。

       6)儲存引擎(真正執行資料查詢操作的工具MyISAM、InnoDB、NDB、Archive、Federated、Memory、Merge、

Partner、Community、Custom等等。





MySQL學習1:初識MySQL

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.