夜色如墨,月涼如水,一輪皎潔的圓月高高地掛在夜空之上,平日裡鼾聲如雷的室友今夜也停止了打鼾,如此靜謐的夜晚,李有為卻輾轉難眠。
時間悄然來到凌晨一點半,他已經在窗邊站了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語句select(選擇、選取)顧名思義,就是從乙個或多個表中查詢資料。
其最基本結構為 select 列名 from 庫名.表名
這句話的意思就是:
從某個資料庫的某個表裡面選擇、選取某些列相關的資料
(注:如果已經開啟了某個資料庫,則可以直接省略庫名如果列名寫作「*」,則表示查詢所有的列名)
select
*from test.human_base_info limit
10
現在我們在回過頭來,看這句sql的意思,這句sql表示,從test資料庫下的human_base_info表中查詢所有列的資訊並且只展示10條記錄。
"*"是萬用字元,表示選擇資料表裡的所有字段
limit 10 限制結果為10條,limit 100 限制結果為100條
如果不對結果做限制,則會把表中所有的結果全部展示。資料量一多立刻拉閘。
李有為執行那句sql,結果不多不少,剛好十條。
一位高深莫測的大爺,一本神奇的《mysql從刪庫到跑路》,李有為只知道大爺教他這些,是為了提高他的裝逼能力,有利於他畢業找工作。
可是他不知道的是,當他接觸到sql的時候,他的命運就已經發生了改變。
歷史的巨輪緩緩向前,天命,誰能扭轉運程?
從刪庫到跑路 2
1 查詢整張表的所有資料 select from myfirst schema.pets 如果當前表的資料比較多,只想看到特定行的資料 select from pets where name shagou 在上面這個查詢語句中,可以制定任何列為條件 select species from pets ...
MySQL,從刪庫到跑路
1 刪除表中指定記錄 mariadb vincen delete from 資料表名 where 指定條件 2 同時刪除表中的記錄 mariadb vincen delete from 資料表名 where 欄位名 between 條件1 and 條件2 3 刪除表中所有的記錄 mariadb vi...
MySql從刪庫到跑路 那年我真的差點跑路了
人生大起大落落落落落落,實在是太刺激了,下面這真是乙個悲傷的故事。那年公司 erp 系統剛進行公升級。因為公司陸續上了 mes 和 pdm 系統。為了加快整個公司資訊化平台的統一,請了個第三方公司來做中間介面。然後故事開始了。某乙個晚上,第三方人員問我要 erp 的 sa 密碼。我很警惕 你要幹嘛?...