資料庫是什麼? 資料庫管理系統又是什麼? 我們說的MySQL是資料庫? 還是資料庫管理系統? 我們仔細的把這些東西探究一下吧 ! 什麼是資料庫? 資料庫 (Database) 是按照一定數據結構來組織、存儲和管理數據的容器。它是存儲數據的地方,可以包含各種數據類型,例如文字、數字、圖片等,資料庫的目的是為了高效地存取和管理數據。 註 : Word、Excel、Power Point這些檔案算是資料庫嗎? 廣義來說,它們可以算是,但是嚴謹一些的話,它們缺乏複雜的查詢、分散、並行、交易處理等功能,所以嚴格來說,它們並不是資料庫。另外,MongoDB雖然是以文件(document)的形式儲存資料,但是其結構與Word文件不同,MongoDB的結構類似於JSON物件,可以包含巢狀資料和動態結構,具有查詢語言(Query Language)等資料庫的功能。 什麼是資料庫管理系統? 資料庫管理系統 (Database Management,DBMS) 是一套軟體,用於創建、維護和操作資料庫,提供一種系統化的方法來管理資料庫中的數據,包括數據的存儲、檢索、更新和管理。 因此資料庫是「容器」,資料庫管理系統是用於創建、維護和操作「容器」裡面的「軟體」。用更清楚的比喻來說,Word檔案是「資料庫」的…
在 MySQL 中,CASE 語句是一種非常靈活的條件式運算子,可用於在 SELECT 查詢中實現條件邏輯。CASE 可以在資料選取時提供類似於「如果這樣,則那樣」的邏輯判斷,來根據某些條件改變顯示的結果。CASE 語句可以用在 SELECT 列表、WHERE 子句、ORDER BY 子句中,以及其他可以進行運算的地方。 CASE 語句有兩種基本形式:簡單 CASE 和搜尋 CASE。 簡單 CASE : CASE 表達式 WHEN 值1 THEN 結果1 WHEN 值2 THEN 結果2 ... ELSE 預設結果 END 以上的語法,CASE 會將表達式的結果與每個 WHEN 子句中的值進行比較,如果相等,則返回對應的 THEN 中的結果。 假設有一個名為 orders 的資料表,其中包含訂單的狀態代碼,每個代碼都代表不同的訂單狀態。下表列出了可能的狀態代碼及其意義: 1 : 已下訂 2 : 運送中 3 : 已送達 4 : 已取消 如果想在查詢結果中將這些狀態代碼轉換為更具可讀性的狀態描述,可以使用簡單的 CASE 語句來實現: SELECT order_id, CASE status WHEN 1 THEN '已下訂…
自從1974年IBM開發了System R建立了 關聯式資料庫 的雛型,至今已經五十年。雖然其間還有很多不同類型的資料庫產生,例如物件導向資料庫 (Object-Oriented Database)、分散式資料庫 (Distributed Database)、圖形資料庫 (Graph Database)、時序資料庫 (Time Series Database)等,但是始終無法撼動關聯式資料庫的地位。 1998年開始出現NoSQL這個名詞,由Carlo Strozzi提出,不過當時的NoSQL還是屬於關聯式資料庫。到了2009年,Rackspace的Eric Evans又再次提出了NoSQL的概念,這次他指的NoSQL是屬於非關聯式的,與Carlo Strozzi的NoSQL並不相同,但是其目的也不在取代關聯式資料庫,而是強調鍵-值儲存(Key-Value)和文件導向資料庫(Document-oriented Database)的優點,自此真正的「非關聯式資料庫」才真正開始蓬勃發展。 但是在NoSQL這個詞彙出現前,Google的 Bigtable 早已經在2004年出現,它也是屬於NoSQL,是一種壓縮的、高效能的、高可延伸性的,基於Google檔案系統(Google File S…