1. 程式人生 > >MySQL資料分析(7)-SQL的兩大學習框架

MySQL資料分析(7)-SQL的兩大學習框架

大家好,我是jacky,很高興繼續跟大家分享《MySQL資料分析實戰》課程,前面的課程基本上我把MySQL的原理都做了一定的介紹,有好多朋友說學習MySQL是沒有邏輯的,其實jacky是非常不認同的,學習是沒有捷徑的,但一定有規律,學習就是一個總結規律舉一反三的過程;對於MySQL來說,只有先了解我們要做什麼,我們才能相應的操作,大家說是不是?
從本節課程開始,到這門課程結束,我們都是圍繞SQL語句展開的,這個小節很特殊,我先給大家做一個SQL 語句的熱身,讓大家現在頭腦裡先有這樣一個印象,就是SQL語句到底是跟什麼,SQL是什麼,SQL有什麼用;
在文章的最後,jacky會給大家梳理兩個SQL語句學習的框架邏輯,我們之後的學習,也會按照這連個框架邏輯展開;
也就是說,本小節課程,jacky主要介紹三部分內容:第一部分:SQL是什麼?第二部分:SQL怎麼用;第三部分:SQL的兩個學習框架
好,現在開始我們SQL的熱身之旅吧

(一)SQL是什麼?

SQL是什麼?一句話概括:SQL是為操作資料庫而開發的語言;
既然是語言就得有規則,那麼SQL 的規則是什麼呢?

  • SQL的兩大規則

    • 書寫規則

    • 語法規則

  • 本小節課程,jacky只給大家介紹SQL的書寫規則,因為語法規則,我們說學習SQL語句,就是學習它的語法規則,所以我們之後要學的都是SQL的語法規則,這裡就不能一一闡述了;

1.關於書寫的四條規則

  • 規則1:SQL語句要以英文分號結尾

    • 這個就不做過多解釋了,就像漢語的句子一樣,漢語句子用句號結尾;同樣,一條SQL語句可以描述一個數據庫操作,所以SQL語句用分號結尾
  • 規則2:SQL語句不區分大小寫

    • SQL是不區分關鍵字大小寫的,比如我們後面要講的關鍵字selcect,不管我們寫成SELECT還是select,解釋都是一樣的,表名和列名也是一樣,但是大多是程式設計師還是依據下面的大小寫規則來寫的,這裡也跟大家分享一下,就是:

      • 關鍵字大寫;

      • 表名的首個字母大寫;

      • 除此之外,其餘都小寫;

  • 規則3:字串,日期,和數字的書寫方式是固定的;

    • 字串:單引號 ,例如:’abc’

    • 日期:通常用’年-月-日’的格式,例如:’2018-02-23’

    • 數字:不用使用任何記號標識,直接寫即可;

  • 規則4:SQL語句的單詞之間需使用半形空格或換行符來進行分隔

2.SQL的4個功能組成

根據指令種類不同,SQL語句可以分為以下三類:

2.1 DDL(Data Definition Language,資料定義語言)

  • DDL包含以下幾種指令

    • create:建立資料庫和表等物件

    • drop:刪除資料庫和表等物件

    • alter:修改資料庫和表等物件的結構

2.2 DML(Data Manipulation Language,資料操作語言)

  • DML包含以下幾種指令

    • select:查詢表中的資料

    • insert:向表中插入新資料

    • update:變更表中的資料

    • delete:刪除表中的資料

2.3 DCL(Data Control Language,資料控制語言)

  • DCL包含以下 幾種命令

    • grant:賦予使用者操作許可權

    • revoke:取消使用者的操作許可權

在實操中,我們使用的SQL語句中有90%屬於DML,本課程也會以DML為中心進行講解

(二)SQL怎麼用?

那麼SQL到底要怎麼用,我們來具體的實操下,在前面資料庫設計之三大正規化的課程中,我們是不是看到了SQL語句了,下面作為第一次學習SQL語句的初學者,jacky總結了XX條最基本的MySQL指令,大家開啟電腦,跟著jacky一起敲擊程式碼,感受以下SQL的魅力

2.1 XX條最基本的MySQL指令

1)登入

1))連線伺服器

  • Windows版命令:

    • net start mysql

    • 或者 C:\mysql-5.5.20-winx64\mysql-5.5.20-winx64\mysql

  • Mac版命令:

    • sudo /usr/local/mysql/support-files/mysql.server start

2)) 連線客戶端

  • Windows版命令:

    • C:\mysql-5.5.20-winx64\mysql-5.5.20-winx64\mysql -u root -p
  • Mac版命令:

    • mysql -u root -p

2)檢視資料庫

  • 檢視我們伺服器下有多少資料庫
show databases;

3)切換資料庫

use test;

4)檢視資料庫中有哪些表

show tables;
  • 前提是必須切換到資料庫裡面去,才能用show tables去看錶

5)查看錶結構或表字段

desc user;

6)查看錶記錄(表裡面的記錄)

select * from user;

7)退出mysql終端

exit;

(三)SQL的兩大學習框架

大家有有沒有跟著jacky一起敲擊的上面的程式碼,大家是不是對SQL語句有了一定的感覺了是嗎?那麼,接下來,我們是不是該系統的學習它了,那麼,面對紛雜無序的SQL語句,我們該怎麼的逐步學習呢?或者說我們該捋著怎樣的邏輯線學習呢?

  • jacky說,SQL的學習有大學習框架;

3.1 框架一:SQL指令物件框架

  • SQL語句3大指令框架物件

    • 資料庫級別

    • 表級別

    • 資料行級別
  • 資料庫級別和表級別不重要,因為它們都是一次性的操作,我們建立也只能建立一次資料庫,建立表也建立一次就好了,緊接著重複操作的就是表裡面的資料;

3.2 框架二:SQL的功能框架

  • 四個字:增、刪、改、查

3.3 總結

  • 如果我們把這兩大框架結合起來,也就把所有的SQL語句都囊括進去了,即:

    • 資料庫:增、刪、改、查;

    • 表:增、刪、改、查;

    • 表中資料:增、刪、改、查;

大家可能從不同的渠道都聽到:MySQL是沒有什麼規律和層次的,通過這次課,jacky要告訴你,其實MySQL的邏輯性是很強的,接下來的學習,jacky也會按照上面的框架一一展開,好,這節課jacky就跟大家分享到這,感謝大家,再見!