最近參加了一個打卡學習羣,補習一下MySQL的知識。打卡要求即是輸出博客。數據庫
MySQL的安裝與配置我便不在這裏贅述了。由於我使用的是Mac系統,所以圖形化工具使用的是navicat premium。百度上面有如何破解的,若是你也須要能夠本身去百度一下。編程
二維表其實就是關係表,二維表是由行和列組成的。bash
行就是元組,是一組相關的數據,裏面包含描述一件事務的若干個鍵。例如:數據結構
num | Name | Age | sex |
---|---|---|---|
1 | godfrey | 18 | female |
2 | nero | 20 | female |
其中num爲1的就是爲一行數據函數
列就是相同鍵類型的數據集合,例如上表中的num、name、age、sex都給自爲一列工具
能夠說MySQL是數據庫的一個實例,遵循數據庫的設計原則。同時由於MySQL是關係型數據庫,因此MySQL也能夠說是關係表的集合。學習
數據表就是存放數據的地方,在MySQL中數據表就是關係表。spa
視圖就是結果集,就是咱們使用查詢語句返回的表。設計
視圖主要是用來控制權限,咱們能夠參考以下使用場景,咱們如今有一個成績單要公佈出來,可是想要實現匿名制,也就是說每一個人均可去查詢最高分、最低分、每一個分段有多少人等等信息,這是咱們可使用視圖,事先查詢好一個隱藏姓名的成績視圖,而後以供其餘人在這個表的基礎上查詢code
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等控制語句、還能夠聲明變量。就像是一個函數。並且存儲過程有一個很重要的有點是,只有第一次會編譯執行,以後即是直接被調用執行,速度會相較於查詢語句更快,由於查詢語句是每次都要編譯再執行。