欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL學習第一天 第一次接觸MySQL

 更新時間:2016年05月29日 14:22:37   作者:丿木呈廣予口貝  
這篇文章是學習MySQL的第一篇文章,開啟了探究MySQL的奇妙旅程,內(nèi)容主要是對MySQL的基礎(chǔ)知識進行學習,了解,感興趣的小伙伴們可以參考一下

一、什么是數(shù)據(jù)庫?      

數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,每個數(shù)據(jù)庫都有一個或多個不同的API用于創(chuàng)建,訪問,管理,搜索和復制所保存的數(shù)據(jù)。
我們也可以將數(shù)據(jù)存儲在文件中,但是在文件中讀寫數(shù)據(jù)速度相對較慢。所以,現(xiàn)在我們使用關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)來存儲和管理的大數(shù)據(jù)量。所謂的關(guān)系型數(shù)據(jù)庫,是建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫,借助于集合代數(shù)等數(shù)學概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù)。
RDBMS即關(guān)系數(shù)據(jù)庫管理系統(tǒng)(Relational Database Management System)的特點
       1)數(shù)據(jù)以表格的形式出現(xiàn)
       2)每行為各種記錄名稱
       3)每列為記錄名稱所對應(yīng)的數(shù)據(jù)域
       4)許多的行和列組成一張表單
       5)若干的表單組成database

二、關(guān)系型數(shù)據(jù)庫(RDBMS)術(shù)語

針對關(guān)系型數(shù)據(jù)庫作如下解釋:
1)關(guān)系型數(shù)據(jù)庫可以簡單的理解為二維數(shù)據(jù)庫,表格式類似于excel表格,我們平時我接觸的數(shù)據(jù)據(jù),一般都是關(guān)系型數(shù)據(jù)庫。
 2)關(guān)系型數(shù)據(jù)庫不是唯一的高級數(shù)據(jù)庫模型,也不是最優(yōu)的一種,但是,關(guān)系型數(shù)據(jù)庫是現(xiàn)今使用最廣泛、最易于理解和使用的數(shù)據(jù)庫模型。
3)在我們開始學習MySQL數(shù)據(jù)庫前,讓我們先了解下RDBMS的一些術(shù)語:
          1數(shù)據(jù)庫: 數(shù)據(jù)庫是一些關(guān)聯(lián)表的集合。
          2數(shù)據(jù)表: 表是數(shù)據(jù)的矩陣。在一個數(shù)據(jù)庫中的表看起來像一個簡單的電子表格。
          3關(guān)系:可以理解成一張二維表,每個關(guān)系都有一個關(guān)系名,即表名。
          4關(guān)系模式:對關(guān)系的描述,在數(shù)據(jù)庫中通常稱之為表結(jié)構(gòu)。
          5元組:可以理解成二維表中的一行,在數(shù)據(jù)庫中常被稱作記錄。一行(=元組,或記錄)是一組相關(guān)的數(shù)據(jù),例如一條用戶訂閱的數(shù)據(jù)。
          6屬性:可以理解成二維表中的一列,在數(shù)據(jù)庫中常被成為字段。一列(數(shù)據(jù)元素) 包含了相同的數(shù)據(jù), 例如郵政編碼的數(shù)據(jù)。
          7域:屬性的取值范圍,也是數(shù)據(jù)庫中某一列的取值限制。
          8關(guān)鍵字:一組可以唯一標識元組的屬性。數(shù)據(jù)庫中常稱為主鍵有一個或多個列組成。 
          9冗余:存儲兩倍數(shù)據(jù),冗余可以使系統(tǒng)速度更快。
          10主鍵:主鍵是唯一的。一個數(shù)據(jù)表中只能包含一個主鍵。你可以使用主鍵來查詢數(shù)據(jù)。
          11外鍵:外鍵用于關(guān)聯(lián)兩個表。
          12復合鍵:復合鍵(組合鍵)將多個列作為一個索引鍵,一般用于復合索引。
          13索引:使用索引可快速訪問數(shù)據(jù)庫表中的特定信息。索引是對數(shù)據(jù)庫表中一列或多列的值進行排序的一種結(jié)構(gòu)。類似于書籍的目錄。
          14參照完整性: 參照的完整性要求關(guān)系中不允許引用不存在的實體。與實體完整性是關(guān)系模型必須滿足的完整性約束條件,目的是保證數(shù)據(jù)的一致性。
4)關(guān)系型數(shù)據(jù)庫特點:
       1容易理解:二維表結(jié)構(gòu)是非常貼近邏輯世界的一個概念,相對與網(wǎng)狀、層次以及其它模型更容易理解。
       2使用方便:通過SQL語言程序員和數(shù)據(jù)管理員可以很方便的在邏輯層面操作數(shù)據(jù)庫而不必理解其底層實現(xiàn)。
       3易于維護:豐富的完整性(實體完整性、參照完整性、用戶自定義完整性)降低數(shù)據(jù)冗余和數(shù)據(jù)不一致的概率。       
5)關(guān)系操作:
       1數(shù)據(jù)查詢:選擇、投影、連接、并、交、差、除
       2數(shù)據(jù)操作:增加、刪除、修改、查詢
6)SQL(Structured Query Language):結(jié)構(gòu)化查詢語言,一種特殊目的的編程語言,數(shù)據(jù)庫查詢和程序設(shè)計語言,用于存儲數(shù)據(jù)以及查詢、更新和管理關(guān)系型數(shù)據(jù)庫。

SQL查詢語言組成部分:
       1DDL(Data Definition Languages)語句:數(shù)據(jù)定義語句,用于定義不同的數(shù)據(jù)段、數(shù)據(jù)庫、表、列、索引等數(shù)據(jù)庫的對象定義。常用關(guān)鍵字主要包括create、drop、alter等。
       2DML(Data Manipulation Language)語句:數(shù)據(jù)操縱語句,用于添加、刪除、更新和查詢數(shù)據(jù)庫記錄,并檢查數(shù)
據(jù)完整性。常用關(guān)鍵字包括insert、delete、update和select等。
       3DCL(Data Control Language)語句:數(shù)據(jù)控制語句,用于控制不同數(shù)據(jù)段直接的許可和訪問級別的語句,用于
定義數(shù)據(jù)庫、表、字段、用戶的訪問權(quán)限和安全級別。常用關(guān)鍵字有g(shù)rant、revoke等。  

三、MySQL數(shù)據(jù)庫
MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB公司開發(fā),目前屬于Oracle公司。MySQL最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在Web應(yīng)用方面MySQL是最好的RDBMS(Relational Database Management System,關(guān)系數(shù)據(jù)庫管理系統(tǒng))應(yīng)用軟件之一。
MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。
MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。MySQL軟件采用了雙授權(quán)政策,它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。由于其社區(qū)版的性能卓越,搭配PHP和Apache可組成良好的開發(fā)環(huán)境。

四、MySQL的特點
       1)Mysql是開源的,所以你不需要支付額外的費用。
       2)Mysql支持大型的數(shù)據(jù)庫??梢蕴幚頁碛猩锨f條記錄的大型數(shù)據(jù)庫。
       3)MySQL使用標準的SQL數(shù)據(jù)語言形式。
       4)Mysql可以允許于多個系統(tǒng)上,并且支持多種語言。這些編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
       5)Mysql對PHP有很好的支持,PHP是目前最流行的Web開發(fā)語言。
       6)MySQL支持大型數(shù)據(jù)庫,支持5000萬條記錄的數(shù)據(jù)倉庫,32位系統(tǒng)表文件最大可支持4GB,64位系統(tǒng)支持最大的表文件為8TB。
       7)Mysql是可以定制的,采用了GPL協(xié)議,你可以修改源碼來開發(fā)自己的Mysql系統(tǒng)。

五、MySQL系統(tǒng)特性
       1)使用C和C++編寫,并使用了多種編譯器進行測試,保證了源代碼的可移植性。
       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)既能夠作為一個單獨的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中。
       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ù)庫??梢蕴幚頁碛猩锨f條記錄的大型數(shù)據(jù)庫。
       11)支持多種存儲引擎。
       12)在線 DDL/更改功能,數(shù)據(jù)架構(gòu)支持動態(tài)應(yīng)用程序和開發(fā)人員靈活性(5.6新增)。
       13)復制全局事務(wù)標識,可支持自我修復式集群(5.6新增)。
       14)復制無崩潰從機,可提高可用性(5.6新增)。
       15)復制多線程從機,可提高性能(5.6新增)。

 六、MySQL數(shù)據(jù)庫實現(xiàn)模型

  

MySQL的核心組件(參照上圖)
       1)連接池:用于完成用戶認證、線程重用、并發(fā)連接數(shù)限制、內(nèi)存檢測以及連接緩存。
       2)SQL接口:使用SQL結(jié)構(gòu)查詢語言對數(shù)據(jù)庫就行操作的接口(DDL DML等)
       3)Parser:分析器,用來進行查詢轉(zhuǎn)換、權(quán)限分析獲取的操作。
       4)Optimizer:優(yōu)化器,生成并選擇最佳的訪問路徑。
       5)Cache & Buffers:與存儲引擎相關(guān)的I/O性能提升工具。
       6)存儲引擎(真正執(zhí)行數(shù)據(jù)查詢操作的工具MyISAM、InnoDB、NDB、Archive、Federated、Memory、Merge、Partner、Community、Custom等等)。

有了這篇文章做基礎(chǔ),相信大家對MySQL已經(jīng)不再陌生了吧,接下來小編就和大家深入的學習MySQL,享受MySQL帶來樂趣。

相關(guān)文章

  • 對MySql經(jīng)常使用語句的全面總結(jié)(必看篇)

    對MySql經(jīng)常使用語句的全面總結(jié)(必看篇)

    下面小編就為大家?guī)硪黄獙ySql經(jīng)常使用語句的全面總結(jié)(必看篇)。小編覺的挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Mysql高效分頁詳解

    Mysql高效分頁詳解

    這篇文章主要為大家詳細介紹了Mysql高效分頁的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • MySQL庫表名大小寫的選擇

    MySQL庫表名大小寫的選擇

    一般在數(shù)據(jù)庫使用規(guī)范中,我們都會看到這么一條:庫名及表名一律使用小寫英文。你有沒有思考過,為什么推薦使用小寫呢?庫表名是否應(yīng)該區(qū)分大小寫呢?帶著這些疑問,我們一起來看下本篇文章。
    2021-06-06
  • mysql配置模板(my-*.cnf)參數(shù)詳細說明

    mysql配置模板(my-*.cnf)參數(shù)詳細說明

    這篇文章主要介紹了mysql配置模板就是mysql的配置文件參數(shù)說明,需要的朋友可以參考下
    2015-01-01
  • MySQL幾點重要的性能指標計算和優(yōu)化方法總結(jié)

    MySQL幾點重要的性能指標計算和優(yōu)化方法總結(jié)

    下面小編就為大家?guī)硪黄狹ySQL幾點重要的性能指標計算和優(yōu)化方法總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 101個MySQL優(yōu)化技巧和提示

    101個MySQL優(yōu)化技巧和提示

    人們一直在推動MySQL發(fā)展到它的極限。這里是101條調(diào)節(jié)和優(yōu)化MySQL安裝的技巧。一些技巧是針對特定的安裝環(huán)境的,但這些思路是通用的。我已經(jīng)把他們分成幾類,來幫助你掌握更多MySQL的調(diào)節(jié)和優(yōu)化技巧。
    2014-02-02
  • SQL數(shù)據(jù)分表Mybatis?Plus動態(tài)表名優(yōu)方案

    SQL數(shù)據(jù)分表Mybatis?Plus動態(tài)表名優(yōu)方案

    這篇文章主要介紹了SQL數(shù)據(jù)分表Mybatis?Plus動態(tài)表名優(yōu)方案,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • MySQL?中如何歸檔數(shù)據(jù)的實現(xiàn)方法

    MySQL?中如何歸檔數(shù)據(jù)的實現(xiàn)方法

    本文主要介紹了MySQL?中如何歸檔數(shù)據(jù)的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • MySQL給新建用戶并賦予權(quán)限最簡單的方法

    MySQL給新建用戶并賦予權(quán)限最簡單的方法

    在本篇文章里小編給大家整理的是一篇關(guān)于MySQL給新建用戶并賦予權(quán)限最簡單的方法,需要的朋友們參考下。
    2019-11-11
  • Mac上安裝MySQL過程分享

    Mac上安裝MySQL過程分享

    這篇文章主要介紹了Mac上安裝MySQL過程分享,本文共分4步完成,簡單易懂,需要的朋友可以參考下
    2014-11-11

最新評論