1. 程式人生 > >讀書筆記《MySQL必知必會》之第一章瞭解SQL

讀書筆記《MySQL必知必會》之第一章瞭解SQL

文章目錄

瞭解SQL

資料庫基礎

什麼是資料庫

按照書中官方翻譯的說法, 資料庫是一個以某種有組織的方式儲存的資料集合。
是儲存有組織的資料的容器(通常是一個檔案或一組檔案)。

什麼是表

表是某種特定型別的結構化清單。
描述表的資訊稱為模式(schema)即描述表的可以儲存什麼樣的資料,資料如何分解, 各部分的資訊如何命名等等。
模式(schema)是關於資料庫和表的區域性及特性的資訊。

列和資料型別

  • 列(column): 是表中的一個欄位,所有的表都是由一個或者多個列組成的。
  • 資料型別(datatype): 所容許的資料的型別。 每個表列都有相應的資料型別, 它限制或容許了該列中的資料型別。

行是表中的一個記錄。

主鍵

一列(或者一組列),其值能夠唯一區分表中的每個行。
應該為每個表都設定主鍵。
表中的任何列都可以作為主鍵,只要它滿足以下的條件:

  • 任意兩行都不具備相同的主鍵值
  • 每個行都必須具有一個主鍵值(主鍵列不允許null值)
    通常來說主鍵定義在表的一列上, 但也可以使用多個列作為主鍵, 所有列值的組合必須是唯一的 ,但單個列的值可以相同.

關於主鍵最好的習慣

  • 不更新主鍵列中的值
  • 不重用主鍵列中的值
  • 不在主鍵列中使用可能會更改的值(例如,如果使用某個產品的名稱作為主鍵, 一旦這個產品的名稱發生了改變, 那麼就必須更改這個主鍵)

什麼是SQL

SQL是結構化的查詢語言(Structure Query Language)的縮寫,是一種專門用來和資料庫通訊的語言.
SQL是由很少的關鍵詞構成的, 這樣設計SQL的目的是很好的完成一項任務, 提供一種從資料庫中讀寫資料的簡單的有效的方法.
SQL有如下的優點:

  • 幾乎所有的資料庫管理軟體都支援SQL, 因此學習SQL可以使你與幾乎所有的資料庫打交道.
  • SQL簡單易學, 它的語句全都是由描述性很強的英語單詞構成, 而且這些單詞的數目並不多.
  • SQL非常的靈活, 可以進行非常複雜和高階的資料庫操作.