1. 程式人生 > 其它 >MySQL--基礎介紹

MySQL--基礎介紹

  • 資料庫
  • 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:嵌入式的小型資料庫,應用在手機端
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;這兩個張三要怎麼區分,咱們就可以使用主鍵進行區分。)
    • 唯一約束:資料內容不能重複(身份證、電話號都是不能重複的。)
    • 非空約束:收集資訊時,要求使用者名稱必須填寫。