資料庫儲存技術
資料庫(Database)是按照資料結構來組織、儲存和管理資料的倉庫。每個資料庫都有一個或多個不同的API用於建立,訪問,管理,搜尋和複製所儲存的資料。我們也可以將資料儲存在檔案中,但是在檔案中讀寫資料速度相對較慢。所以,現在我們使用關係型資料庫管理系統(RDBMS)來儲存和管理的大資料量。所謂的關係型資料庫,是建立在關係模型基礎上的資料庫,藉助於集合代數等數學概念和方法來處理資料庫中的資料。 RDBMS 即關聯式資料庫管理系統(Relational Database Management System)的特點:
1、資料以表格的形式出現
2、每行為各種記錄名稱
3、每列為記錄名稱所對應的資料域
4、許多的行和列組成一張表單
5、若干的表單組成database
RDBMS術語
在我們開始學習MySQL 資料庫前,讓我們先了解下RDBMS的一些術語:
資料庫: 資料庫是一些關聯表的集合。
資料表: 表是資料的矩陣。在一個資料庫中的表看起來像一個簡單的電子表格。
列: 一列(資料元素) 包含了相同的資料, 例如郵政編碼的資料。
行:一行(=元組,或記錄)是一組相關的資料,例如一條使用者訂閱的資料。
冗餘:儲存兩倍資料,冗餘降低了效能,但提高了資料的安全性。
主鍵:主鍵是唯一的。一個資料表中只能包含一個主鍵。你可以使用主鍵來查詢資料。
外來鍵:外來鍵用於關聯兩個表。
索引:使用索引可快速訪問資料庫表中的特定資訊。索引是對資料庫表中一列或多列的值進行排序的一種結構。類似於書籍的目錄。
複合鍵:複合鍵(組合鍵)將多個列作為一個索引鍵,一般用於複合索引。
MySQL 為關係型資料庫(Relational Database Management System), 這種所謂的"關係型"可以理解為"表格"的概念, 一個關係型資料庫由一個或數個表格組成, 如圖所示的一個表格:
表頭(header): 每一列的名稱;
列(col): 具有相同資料型別的資料的集合;
行(row): 每一行用來描述某條記錄的具體資訊;
值(value): 行的具體資訊, 每個值必須與該列的資料型別相同;
鍵(key): 鍵的值在當前列中具有唯一性。
mysql簡介與安裝
mysql簡介
MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB公司開發,目前屬於Oracle公司。MySQL是一種關聯資料庫管理系統,關聯資料庫將資料儲存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度並提高了靈活性。 MySQL有很多優點受到企業和個人開發者的歡迎,比如說:
MySQL是開源的,所以你不需要支付額外的費用。
MySQL支援大型的資料庫。可以處理擁有上千萬條記錄的大型資料庫。
MySQL使用標準的SQL資料語言形式。
MySQL可以執行於多個系統上,並且支援多種語言。這些程式語言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
MySQL支援大型資料庫,支援5000萬條記錄的資料倉儲,32位系統表檔案最大可支援4GB,64位系統支援最大的表檔案為8TB。
MySQL是可以定製的,採用了GPL協議,你可以修改原始碼來開發自己的MySQL系統。
正是MySQL易用,功能強大,免費的特點使mysql得到廣泛應用,目前mysql已經成為最流行的關係型資料庫管理系統,在web應用方面mysql是最好的關聯式資料庫管理系統應用軟體之一。
mysql安裝
MySQL官方網站:www.mysql.com MySQL下載網站:dev.mysql.com/downloads/m… 可以通過上面的連結訪問MySQL官方網站和下載頁面,選擇MySQL版本進行下載,如下圖是macOS系統的下載頁面: 下載後,可以直接進行點選安裝,安裝過程可以一直使用預設設定進行安裝。參考資料如下:
windows系統安裝過程可參考:zhinan.sogou.com/guide/detai…
macOS系統安裝過程可參考:jingyan.baidu.com/article/c84…
mysql服務檢視
MySQL安裝好以後,可以通過檢視服務來檢視MySQL的的執行狀況,如下是檢視方式:
macOS的mysql服務在系統偏好設定中可以檢視,如下圖:
windows系統下的mysql服務的檢視方法:使用win(就是那個旗幟圖案的按鍵)+R,彈出框中輸入:services.msc。就會彈出服務視窗,在視窗中就可以檢視mysql服務內容:
MySQL服務安裝完成並啟動後,即可使用。但是我們安裝的是社群服務版,並沒有圖形介面供我們來操作,此時我們只能通過命令列中使用者名稱+密碼的形式來訪問資料庫,並實現對資料庫的操作。 每次都是用命令列來執行運算元據庫,效率和易用性都會受到較大影響。因此,我們希望能夠有工具,幫助我們通過圖形化介面的方式來操作MySQL資料庫,我們通常使用的工具是navicat。
登陸mysql
MySQL安裝完成後,可以通過命令列工具及終端命令登陸MySQL服務,運算元據庫。具體的命令如下:
在macOS中,可以通過終端中的命令進行登陸,登陸命令如下:
mysql -u root -h localhost -p 複製程式碼
引數解釋:
-u:使用者名稱,這裡使用者名稱指預設的root
-h:主機名或者伺服器IP,這裡是localhost
-p:密碼,初始密碼為空,也可以自己設定新密碼
在windows中,可以直接開啟開始->程式->MySQL->MySQL Command Line工具,就可以登陸mysql進行操作了。
埠和主機
mysql預設的埠為3306,本機主機名為localhost。
navicat安裝與操作
navicat簡介
Navicat for MySQL是一套管理和開發MySQL或MariaDB的理想解決方案,支援單一程式,可同時連線到MySQL和MariaDB。這個功能齊備的前端軟體為資料庫管理、開發和維護提供了直觀而強大的圖形介面,給MySQL或MariaDB新手以及專業人士提供了一組全面的工具。Navicat for MySQL 可連線到任何本機或遠端 MySQL 和 MariaDB 伺服器。它可以用於 MySQL 資料庫伺服器版本3.21或以上和 MariaDB 5.1或以上,並支援大部分功能,包括表、檢視、函式或過程、事件等。
下載與安裝
下載地址:www.navicat.com.cn/ Navicat for MySQL軟體支援Windows、macOS、Linux版本,學習本節內容的同學可以自行下載並進行安裝。如下是navicat的主介面:
資料庫連線例項配置
開啟navicat以後,可以建立MySQL資料庫連線,並配置相關的引數,測試連結資料庫能否成功。連線資料庫操作所需要的引數配置包括:連線名、主機名、埠、使用者名稱、密碼等幾項引數。 資料庫連線例項運算元據庫
資料庫建立
navicat支援通過圖形化介面建立新的資料庫,操作方便,步驟簡單。通過填寫資料庫名稱即可完成建立,此時有一點需要格外注意,資料庫編碼需要選擇“utf8"編碼,因為通常情況下應用程式都是utf8編碼。兩者要保證一致,否則會出問題。具體如下圖所示:
資料的匯入與匯出
利用navicat,也是可以對資料庫表進行匯出,以及將資料匯入到資料表中。具體操作如下:
資料庫匯出資料 這裡navicat支援提供兩種匯出方式,分別為:匯出資料庫表建立語句、匯出資料庫資料。該功能是將資料庫表及資料匯出成SQL語句。除此之外,navicat還支援匯出資料成為檔案,比如csv格式的檔案,見下圖:
外部資料匯入到資料庫 navicat也支援將外部資料匯入到資料庫表中,步驟與匯出相反。見下圖所示: