mysql_了解篇 作為一名網游黑盒測試人員,在入職後的很長一段時間內(大概1年半時間)被告訴或告訴別人在使用數據庫方面(mysql)只需要3點就夠用了: 1 單表查詢,select * from table_name; 2 聯表查詢,select a.*,b.* from tablea_name a,tableb_name b where a.columnx=b.columnx; 3 unix時間戳轉換函數,select unix_timestamp(),from_unixtime(); www.2cto.com 隨著工作需要,我跟數據庫管理員有少許工作上的接觸,漸漸地發現對數據庫知識的匮乏已然成為影響工作效率和溝通的一個因素,於是開始利用工作之余時間彌補,一方面,當天遇到的問題為了不影響工作進度先快速解決,然後將其記錄下來,在工作之余進行相關知識點的學習,一方面從淺到深的進行mysql的系統學習。 為了記得更牢和控制學習進度,系統學習mysql時把重要的內容寫在了word文檔裡,練習部分直接在mysql gui上進行的,因此需要安裝mysql和mysql gui,另外創建一些練習用的數據庫表,表結構和數據盡可能實用,因為做的是游戲測試,當時是仿照公司的數據庫結構自己創建了幾個表進行練習的。 當對數據庫有了一定的了解之後發現,就算跟數據庫管理員無工作上的接觸,這些知識對工作效率的提高和職業的發展依然是大有裨益的。 了解mysql 重要的數據庫術語清單: 數據庫(database)保存有組織的數據的容器(通常是一個文件或一組文件)。 人們通常用數據庫這個術語來代表他們使用的數據庫軟件,這是不正確的。確切地說,數據庫軟件應稱為數據庫管理系統(或DBMS)。數據庫是通過DBMS創建和操縱的。 www.2cto.com 表(table)某種特定類型數據的結構化清單。 模式(schema)關於數據庫和表的布局及特性的信息。 列(column)表中的一個字段。所有表都是由一個或多個列組成。 正確地將數據分解成多個列極為重要。 數據類型(datatype)所容許的數據的類型。每個表列都有相應的數據類型,他限制(或容許)該列中存儲的數據。 數據類型限制可存儲在列中的數據種類。數據類型還幫助正確地分類數據,並在優化磁盤使用方面起重要的作用。因此,在創建表時必須對數據類型給予特別的關注。 數據類型兼容數據類型及其名稱是sql不兼容的一個主要原因。雖然大多數數據類型得到一致的支持,但許多更為高級的數據類型卻不是這樣。更糟的是,偶然會發現相同的數據類型在不同的DBMS中具有不同的名稱。對此,用戶毫無辦法,重要的是創建表結構時要記住這些差異。 www.2cto.com 行(row)表的一個記錄(record)。 很多程度上,行和記錄這兩個術語是可以相互交換使用的,但從技術上說,行才是正確的術語。 主鍵(primary key)一列(或一組列),其值能夠唯一標識表中的每個行。 沒有主鍵,更新或刪除表中特定行很困難,因為沒有安全的方法保證只涉及相關的行。 表中的任何列都可以作為主鍵,只要它滿足以下條件: 1) 任意兩行都不具有相同的主鍵值; 2) 每個行都必須具有一個主鍵值(主鍵值不允許為NULL值); 3) 主鍵列中的值不允許修改或更新; 4) 主鍵值不能重用(如果刪除某行,它的主鍵不能賦給以後的新行)。 可以一起使用多個列作為主鍵。在使用多列作為主鍵時,上述條件必須應用到構成主鍵的所有列,所有列值的組合必須是唯一的。 www.2cto.com SQL是結構化查詢語言(structured query language)的縮寫。 與其他任何語言一樣,學習SQL的最好方法是自己動手實踐。為此,需要一個數據庫和用來測試sql語句的應用系統。 作者 signjing