最近參加了一個打卡學習群,補習一下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等控制語句、還可以宣告變數。就像是一個函式。而且儲存過程有一個很重要的有點是,只有第一次會編譯執行,之後便是直接被呼叫執行,速度會相較於查詢語句更快,因為查詢語句是每次都要編譯再執行。