MySQL基礎概念

Godfrey1995發表於2019-03-31

最近參加了一個打卡學習群,補習一下MySQL的知識。打卡要求便是輸出部落格。

軟體安裝及環境配置

MySQL的安裝與配置我便不在這裡贅述了。因為我使用的是Mac系統,因此圖形化工具使用的是navicat premium。百度上面有如何破解的,如果你也需要可以自己去百度一下。

資料庫的基本概念

什麼是資料庫

  • 定義:資料庫就是按照一定資料結構儲存資料的倉庫。
  • 解釋:其實我們可以理解為就是儲存資料的地方。放在計算機中來說的話,就是存取資料的軟體

關係型資料庫

  • 定義:建立在關係型模型基礎上的資料庫
  • 解釋:具體什麼叫關係型資料庫我覺得我們沒有必要深究,我覺得我們可以簡單的下個定義,就是使用關係表的資料庫。

二維表

二維表其實就是關係表,二維表是由行和列組成的。

行就是元組,是一組相關的資料,裡面包含描述一件事務的若干個鍵。例如:

num Name Age sex
1 godfrey 18 female
2 nero 20 female

其中num為1的就是為一行資料

列就是相同鍵型別的資料集合,例如上表中的num、name、age、sex都給自為一列

主鍵

  • 什麼是主鍵:一個表中能表示元組唯一性的列,一個表中只能有一列
  • 解釋:就是說這個列的值不能有重複。

MySQL

MySQL與資料庫的關係

可以說MySQL是資料庫的一個例項,遵循資料庫的設計原則。同時因為MySQL是關係型資料庫,所以MySQL也可以說是關係表的集合。

資料表

資料表就是存放資料的地方,在MySQL中資料表就是關係表。

檢視

檢視就是結果集,就是我們使用查詢語句返回的表。

檢視的特性
  • 檢視是虛表,是由若干個基礎表組成的
  • 檢視支援增刪改查,但是有限制條件
檢視的作用

檢視主要是用來控制許可權,我們可以參考如下使用場景,我們現在有一個成績單要公佈出來,但是想要實現匿名制,也就是說每個人都可去查詢最高分、最低分、每個分段有多少人等等資訊,這是我們可以使用檢視,事先查詢好一個隱藏姓名的成績檢視,然後以供其他人在這個表的基礎上查詢

檢視的基礎語法
VIEW `view_user_course` AS (
    SELECT
        `uc`.`id` AS `id`,
        `u`.`name` AS `username`,
        `c`.`name` AS `coursename`
    FROM Student Where age >10;
);
複製程式碼

查詢語句的結果就會返回給‘view_user_course’檢視,我們之後需要查詢什麼可以直接在檢視上面查詢。

SELECT
    id,
    username,
    age
FROM
    view_user_course
WHERE
    username = '小張'
複製程式碼

儲存過程

儲存過程通俗的來說就是程式設計中的函式或者方法,有輸入輸出,有if、while等控制語句、還可以宣告變數。就像是一個函式。而且儲存過程有一個很重要的有點是,只有第一次會編譯執行,之後便是直接被呼叫執行,速度會相較於查詢語句更快,因為查詢語句是每次都要編譯再執行。