MySQL從刪庫到跑路(2):大爺的SQL私房菜

大爺的SQL私房菜

夜色如墨,月涼如水,一輪皎潔的圓月高高地掛在夜空之上,平日裏鼾聲如雷的室友今夜也停止了打鼾,如此靜謐的夜晚,李有爲卻輾轉難眠。

時間悄然來到凌晨一點半,他已經在窗邊站了53分鐘23秒,現在他腦海裏全是大爺的一言一行、一舉一動,一顰一笑,這些彷彿就像一部經典電影值得他翻來覆去細細品味。

什麼是數據庫管理系統,什麼是數據庫,什麼是表,什麼是列,什麼是行,大爺今天講的這一系列話,現在他依然歷歷在目。

1:數據庫(database)

”數據庫就是存放數據的倉庫。“大爺的解釋很直白,對李有爲來講也和淺顯易懂,校長的辦公室裏有許多文件櫃,這一個個文件櫃其實就能算的上是一個個數據庫。

每個數據庫都有一個名字,比如學校數據庫,學生數據庫,教師數據庫,且是唯一的
2:表(table)

校長的文件櫃裏有許許多多的文件,這些不同的文件按照某種種類劃分,記錄着不同的信息,其中有學生的信息,老師的信息,學院專業相關資料,記錄學生信息的文件可以看做是學生表,記錄老師信息的文件可以看做老師信息表,對文件櫃這個數據庫來說,這些文件就是表.

每張表同樣也有一個名字,比如學生表,老師表,專業表,且名字是唯一的
3:列

表是由列組成的,所有表都由一個列或多個列組成,每一列存儲着一條特定的信息(也可以稱之爲屬性)。例如一個學生表,可能記載了學生的學校,姓名,性別,年齡等,這些分別記錄在各自的列上。

4:行

一個表是由許多行數據組成,例如學生表裏,每一行數據其實對應了一個學生的信息。
爲此大爺特地舉了個例子,形象生動的說明了數據表裏面的行和列。

學號 姓名 性別 年齡 愛好
1404110004 尋歡 21 美女
1404110005 留香 22 美女
1404110006 中棠 23 美女
1404110007 中棠 23 美女

上面這個表格就可以看做是一個簡單的數據表,它一共有5列,分別記錄了學號、姓名、性別、年齡、愛好這五種屬性。一共有五行,分別記錄了學號1404110004這五位不同學號學生的信息。

5:主鍵

一個表的每一行數據都應該有唯一標識以此來區分和其他行,例如上面的學生表,如果沒有學號這個唯一標識,那麼06號和07號的中棠同學各方面的信息都是一樣的,就很容易學校方被搞混。

因此,主鍵就是在一個數據表裏,能夠用一列或者多列組合的,能夠唯一標識表中每一行數據的數據。

主鍵的優點:方便數據操縱和管理

例如:如果以後老師使用教務系統修改中棠同學的成績,如果沒有主鍵區分兩個中棠同學的卻別,那麼老實怎麼知道修改哪一個中棠同學的成績。

6:數據庫管理系統(DBMS)

現在,大部分人都直接稱MySQL、SQLserver爲“數據庫”,這其實是錯誤的叫法,MySQL、SQLserver這些嚴格意義上叫做數據庫管理系統(Database Management System)它們是操作和管理數據庫的管理系統,它們在幫助我們訪問數據庫。

爲此,大爺同樣舉了個形象生動的例子,校長辦公室的文件櫃是數據庫,文件庫裏的文件是數據表,那麼管理這些文件櫃、文件的人就是數據庫管理系統(DBMS)

7:SQL

SQL——結構化查詢語言(Structured Query Language),是一門專門用來與數據庫溝通的語言。

用句最直白的話來說,要想和數據庫打交道,就必須懂SQL,因爲數據庫只聽得懂這種話。

SQL簡單易學,功能強大,學完之後幾乎以與所有的數據庫打交道,可謂是一勞永逸,最關鍵的一點是,SQL誕生已經幾十年來,他的基本語法基本上從來沒有變過,而且現在大數據領域的HQL,spark sql相關的查詢,依然沿用的SQL的基本語法。

 萬里長城永不倒,學習SQL相當好。
8:SQL語句

SQL語句是有許多簡單的英語單詞組成,這些單詞稱作爲“關鍵詞”,例如select、insert、update、delete、alter、create、drop等等,但從使用評率來講,select是這些關鍵詞中使用評率最高的(後端工程師會用到增刪改查,DBA機會都會用到,但是一般的數據從業工作者就只會和select打交道。)

select(選擇、選取)顧名思義,就是從一個或多個表中查詢數據。
其最基本結構爲 select 列名  from   庫名.表名
這句話的意思就是:
從某個數據庫的某個表裏面選擇、選取某些列相關的數據
(注:如果已經打開了某個數據庫,則可以直接省略庫名如果列名寫作“*”,則表示查詢所有的列名)
select * from test.human_base_info limit 10 

現在我們在回過頭來,看這句SQL的意思,這句SQL表示,從test數據庫下的human_base_info表中查詢所有列的信息並且只展示10條記錄。

"*"是通配符,表示選擇數據表裏的所有字段
limit 是另外一個關鍵詞,表示限制查詢結果的條數。
limit 10 限制結果爲10條,limit 100 限制結果爲100條
如果不對結果做限制,則會把表中所有的結果全部展示。數據量一多立刻拉閘。
李有爲運行那句SQL,結果不多不少,剛好十條。在這裏插入圖片描述
一位高深莫測的大爺,一本神奇的《MySQL從刪庫到跑路》,李有爲只知道大爺教他這些,是爲了提高他的裝逼能力,有利於他畢業找工作。
可是他不知道的是,當他接觸到SQL的時候,他的命運就已經發生了改變。
歷史的巨輪緩緩向前,天命,誰能扭轉運程?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章