MySQL必知必會—概念篇

術語

不一樣的人可能會使用相同的數據庫術語表示不一樣的事物,會形成一些混亂,下面是一張重要的數據庫術語清單。mysql

數據庫(database)

數據庫是保存有組織的數據的容器(一般是一個文件或一組文件)。git

易混點:人們常常用「數據庫」這個詞表明他們使用的數據庫軟件。數據庫軟件是 DBMS(數據庫管理系統),例如 MySQL 就是一種 DBMS ,而數據庫是經過 DBMS 建立和操縱的容器。咱們一般不直接訪問數據庫,而是經過使用 DBMS 來訪問數據庫。

表(table)

表是某種特定類型數據的結構化清單。github

數據庫中的每一個表都有一個名字,用來標識本身,稱之爲「表名」。此名字是惟一的,在相同的數據庫中不能使用重複的表名,可是在不一樣的數據庫中可使用。sql

模式(schema)

模式是關於數據庫和表的佈局及特性的信息。數據庫

列(column)

列是表中的一個字段。全部的表都是由一個或多個列組成的。函數

數據類型(datatype)

數據類型是所允許的數據的類型。每一個表列都有相應的數據類型,它限制(或允許)該列中存儲的數據類型。佈局

行(row)

行是表中的一個記錄。設計

有人會把行(row)稱之爲數據庫記錄(record),這兩個數據是能夠互相代替的,可是從技術上說,行纔是正確的術語。code

主鍵(primary key)

主鍵是一列(或一組列),其值可以惟一區分表中每一個行。內存

表中的任何列只要知足如下條件,均可以做爲主鍵:

  • 任意兩行都不具備相同的主鍵值;
  • 每一個行都必須具備一個主鍵值(主鍵列不容許 NULL 值)

此外還有幾個主鍵的最佳實踐:

  • 不更新主鍵列中的值;
  • 不重用主鍵列的值;
  • 不在主鍵列中使用可能會更改的值。(例如,若是使用一個名字做爲主鍵以標識某個供應商,當該供應商合併和更改其名字時,就得必須更改這個主鍵。)

外鍵(foreign key)

外鍵爲某個表中的一列,它包含另外一個表的主鍵值,定義了兩個表之間的關係。

子句(clause)

SQL 語句由子句構成,有些子句是必需的,而有的是可選的。一個子句一般由一個關鍵字和所提供的數據組成。例如 SELECT 語句的 FROM 子句。

操做符(operator)

用來聯結或改變 WHERE 子句中的子句的關鍵字。也稱爲 邏輯操做符(logical operator)

通配符(wildcard)

用來匹配值的一部分的特殊字符。

搜索模式(search pattern)

由字面量、通配符或二者組合構成的搜索條件

拼接(concatenate)

將值聯結到一塊兒構成單個值

別名(alias)

是一個字段或值的替換名。別名用 AS 關鍵字賦予。別名有時也稱爲導出列(derived column),無論稱爲何,它們所表明的都是相同的東西。

彙集函數(aggregate function)

運行在行組上,計算和返回單個值的函數。

查詢(query)

任何 SQL 語句都是查詢。但此術語通常指 SELECT 語句。

相關子查詢(correlated subquery)

涉及外部查詢的子查詢。

可伸縮性(scale)

可以適應不斷增長的工做量而不失敗。設計良好的數據庫或應用程序稱之爲可伸縮性好(scale well)

變量(variable)

內存中一個特定的位置,用來臨時存儲數據。全部 MySQL 變量都必須以 @ 開始。

SQL(Structured Query Language)

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

SQL 的優勢:

  • SQL 不是某個特定數據庫供應商專有的語言。即 SQL 不是一種專利語言,並且存在一個標準委員會。幾乎全部重要的 DBMS 都支持 SQL。
  • SQL 簡單易學。它的語句全都是由描述性很強的英語單詞組成,並且這些單詞的書目很少。
  • SQL 儘管看上去很簡單,但它其實是一種強有力的語言,靈活使用其語言元素,能夠進行很是複雜和高級的數據庫操做。


一個持續更新的github筆記,連接地址:Front-End-Basics,能夠watch,也能夠star。

此篇文章的地址:MySql必知必會

相關文章
相關標籤/搜索