MySQL--基礎介紹
阿新 • • 發佈:2021-12-21
- 資料庫
- 1)資料庫是儲存資料的倉庫。 其本質是一個檔案系統,資料庫按照特定的格式將資料儲存起來,使用者可以對資料庫中的資料進行增加,修改,刪除及查詢操作。
- 理解:安裝至電腦中的資料庫,其實它是一個軟體。這個軟體裡面又劃分許多細小的庫。為什麼會出現這種現象呢?當我們有一個比較大的京東商城網站,使用者在使用過程中,會產生許多資料,這些資料就會放在資料庫的軟體當中。若一個數據庫只能存放一個網站的資料,當我們做兩個專案的時候,要再本地安裝兩個資料庫嗎?當然是不現實的。所以一個數據庫軟體可以建立許多小的庫,一個庫放京東專案,一個庫放58專案。資料就放在這個小庫中。那更具體的細節是放在某一個小庫的表中,這就是資料庫一個整體的結構。這個表像我們使用的excel。儲存資料的時候,是分為行和列進行儲存的。
- 一行代表一個組織儲存的順序。
- Excel是基於本地硬碟進行儲存的,資料庫是基於資料庫軟體進行儲存的。
- 總結:資料庫是安裝至本地電腦的一個軟體,這個軟體具有儲存資料的能力。我們可以對資料庫中的資料進行增刪改查(DML、DQL)的操作。
- 2)資料的儲存方式
- 記憶體。優點:讀取速度快。缺點:程式的執行就是在記憶體中的。一旦意外退出,記憶體中的資料就會清除,且記憶體價格貴。(固態硬碟就可以理解為記憶體。U盤、硬碟、磁碟是外掛的儲存裝置)
- 本地/普通檔案中。本地就是磁碟或者硬碟。優點:只要硬碟不損壞,就永久儲存。缺點:查詢、增加、修改、刪除資料比較麻煩,效率低。(比如說查一個大於20的資料)
- 資料庫。優點:永久儲存,通過SQL語句方便操作增刪改查。
- 常見的資料庫以及適用場景
- 1)Oracle:收費的大型資料庫,Oracle公司的產品。Oracle收購SUN公司,收購MySQL。
- 2)MySQL:開源免費的資料庫,小型的資料庫。已被Oracle收購。足夠應對web應用開發。最高支援千萬級別的併發訪問。
- 3)SQLServer:MicroSoft 公司收費的中型的資料庫。C#、.net等語言常使用。
- 4)DB2:收費的大型資料庫,IBM公司的產品。常應用在銀行系統中。
- 5)SyBase:已經淡出歷史舞臺。提供了一個非常專業資料建模的工具PowerDesigner。
- 6)SQLite:嵌入式的小型資料庫,應用在手機端
- MySQL安裝及使用
- 0)解除安裝:資料庫的解除安裝(之前安裝過資料庫的看過來~~),MySQL8.0零基礎入門之從青銅到鑽石教程-慕課網 (imooc.com)
- 1)版本:mysql-8.0.27-winx64
- 2)安裝位置:D:\mysql_8.0.27\mysql-8.0.27-winx64
- 3)安裝教程:本地安裝MySQL詳細步驟_浪跡天涯小磚頭的部落格-CSDN部落格_如何本地安裝mysql
- 4)出現的問題:net start mysql啟動失敗,將D:\mysql_8.0.27\mysql-8.0.27-winx64路徑下的data目錄刪除後,重新初始化即可。
- 5)密碼:密碼由原本p*D2YkKzifwM的改為123456。 6)命令列啟動MySQL:Windows鍵+R鍵----->輸入services.msc------>找到MySQL啟動即可。
- 7)新增本機path環境變數:D:\mysql_8.0.27\mysql-8.0.27-winx64\bin
- 就可以檢視mysql的版本了C:\Users\jieqiong>mysql -V
8)控制檯(DOS命令視窗)連線資料庫:mysql -u 使用者名稱 -p 回車
- 使用exit退出。切換到本地磁碟目錄。
- 9)控制檯遠端連線資料庫:mysql -h127.0.0.1 -u root -p 回車
C:\>cd /d D:\mysql_8.0.27\mysql-8.0.27-winx64\bin D:\mysql_8.0.27\mysql-8.0.27-winx64\bin>mysql -u root -p Enter password: 123456 Welcome to the MySQL monitor.
- 資料庫管理系統DBMS、資料庫、表的關係
- 1)DBMS:理解為我們安裝好的MySQL,對資料庫進行統一的管理。
- DBMS可以管理過個數據庫
- 使用者要通過DBMS來訪問資料庫中表內的資料。
- 一般一個應用建立一個數據庫。每個資料庫都是獨立的,互不影響的。
- 一般一個數據庫中存在多張表,以儲存程式中實體的資料。
- 總結:現有資料庫--->再有表--->再有資料--->一個庫包含多個表。
- SQL語句的介紹
- 1)資料庫安裝成功之後,即可通過SQL語句進行操作。
- 2)SQL結構化查詢語言。對資料庫、表、資料進行操作。
- 3)SQL是資料庫管理系統都需要遵循的規範。不同的資料庫生產廠商都支援SQL語句,但都有特定內容。(可以理解為SQL規範是普通話,MySQL是特有方言,Oracle是特有方言。每安裝一個數據庫,都有自己的資料庫管理系統。)
- SQL語句的分類:DDL、DML 、DQL、DCL(許可權方面)
- 1)DDL語句,操作物件是資料庫、表和列,具體操作是增加、刪除及修改(操作資料庫以及表的create,drop,alter等)
- 資料定義語言
- 即只能對資料庫和表進行操作
- 不能對錶中的資料進行操作
- 具體:增加一個數據庫、刪除一個數據庫,修改一個數據庫;增加表,刪除表,修改表。
- 2)DML語句,操作物件是表資料,具體操作是增加、刪除、修改(對錶資料進行insert、delete、update)
- 資料操作語言
- 只能對錶資料進行操作
- 3)DQL語句,操作物件是表資料,具體操作是簡單查詢、條件查詢、模糊查詢、分組查詢、分頁、排序(對錶資料進行各種維度select查詢,where條件查詢)
- 資料查詢語言
- 簡單查詢:對應的姓名,生日、地址一系列資訊全部查出來;或指定列的查詢,我們只要你的姓名、年齡。
- 條件查詢:大於20歲學生的查詢;學生中為男生的都有誰。
- 模糊查詢:按照某一個關鍵字進行查詢。
- 分組查詢:計算班裡男生的平均分是多少分,女生的平均分是多少分。
- 4)DCL語句,用於定義資料庫的訪問許可權和安全級別,及建立使用者。關鍵字:GRANT、REVOKE等。
- 資料控制語言
- MySQL資料庫的約束
- 1)你能讓我做什麼,不讓我做什麼。
- 2)保證資料的正確性、有效性和完整性。
- 3)三種約束:主鍵約束、唯一約束、非空約束。
- 主鍵約束:表中的這一條資料,保證唯一。(張三,19歲,資料分數98;張三,19歲,資料分數98;這兩個張三要怎麼區分,咱們就可以使用主鍵進行區分。)
- 唯一約束:資料內容不能重複(身份證、電話號都是不能重複的。)
- 非空約束:收集資訊時,要求使用者名稱必須填寫。