大多數網站的應用程式後端都有資料庫系統來處理和儲存資料,這也使得資料庫成為駭客攻擊的目標,假如我們想要防禦各種對資料庫的威脅,我們必須了解資料庫如何運作及資料庫使用的語言。
Relational Database
Database Applications
SQL(Structured Query Language) 是用來和 relational database 互動和溝通的程式語言。SQL 是簡單易懂的語言。
一個資料庫有若干元件 (components) 和項目(entities)。
下面是一些資料庫的特定用語:
Tables 是一系列由垂直的行和水平的列組成數值,行和列相交的第。
Records 就是列,也稱為 tuple
Columns 屬於同一型態的資料數值。
Primary Key
Foreign Key
Data Definition Language:
是定義結構的指令,用來建立新的 table,更改 table 的名稱,移除 table。
CREATE 建立新的 table。
ALTER 更改 table 的結構。
DROP 移除 table 或整個資料庫。
TRUNCATE 刪除 table 的資料。
Data Control Language:
用來控制資料庫內資料的存取,可以允許或禁止特定使用者對資料庫的個各種動作。
GRANT
REVOKE
Query and Clauses:
SELECT and FROM
WHERE
GROUP BY
HAVING
ORDER BY
DISTINCT
Data Manipulation:
INSERT
UPDATE
DELETE
特殊涵義的符號
Symbol | Name | Description |
---|---|---|
; | Semicolon | 敘述中止 |
-- | Hyphen Hyphen | 任何在這符號之後是註解 |
' | Single Quote | 定界符 |
Non-relational Database