SQL 是用於訪問和處理數據庫的標准的計算機語言。
什麼是 SQL?
SQL 指結構化查詢語言
SQL 使我們有能力訪問數據庫
SQL 是一種 ANSI 的標准計算機語言
編者注:ANSI,美國國家標准化組織
SQL 能做什麼?
SQL 面向數據庫執行查詢
SQL 可從數據庫取回數據
SQL 可在數據庫中插入新的紀錄
SQL 可更新數據庫中的數據
SQL 可從數據庫刪除記錄
SQL 可創建新數據庫
SQL 可在數據庫中創建新表
SQL 可在數據庫中創建存儲過程
SQL 可在數據庫中創建視圖
SQL 可以設置表、存儲過程和視圖的權限
SQL 是一種標准 - 但是...
SQL 是一門 ANSI 的標准計算機語言,用來訪問和操作數據庫系統。SQL 語句用於取回和更新數據庫中的數據。SQL 可與數據庫程序協同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他數據庫系統。
不幸地是,存在著很多不同版本的 SQL 語言,但是為了與 ANSI 標准相兼容,它們必須以相似的方式共同地來支持一些主要的關鍵詞(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。
注釋:除了 SQL 標准之外,大部分 SQL 數據庫程序都擁有它們自己的私有擴展!
在您的網站中使用 SQL
要創建發布數據庫中數據的網站,您需要以下要素:
RDBMS 數據庫程序(比如 MS Access, SQL Server, MySQL)
服務器端腳本語言(比如 PHP 或 ASP)
SQL
Html / CSS
RDBMS
RDBMS 指的是關系型數據庫管理系統。
RDBMS 是 SQL 的基礎,同樣也是所有現代數據庫系統的基礎,比如 MS SQL Server, IBM DB2, Oracle, MySQL 以及 Microsoft Access。
RDBMS 中的數據存儲在被稱為表(tables)的數據庫對象中。
表是相關的數據項的集合,它由列和行組成。
數據庫表
一個數據庫通常包含一個或多個表。每個表由一個名字標識(例如“客戶”或者“訂單”)。表包含帶有數據的記錄(行)。
下面的例子是一個名為 "Persons" 的表:
Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing
上面的表包含三條記錄(每一條對應一個人)和五個列(Id、姓、名、地址和城市)。
SQL 語句
您需要在數據庫上執行的大部分工作都由 SQL 語句完成。
下面的語句從表中選取 LastName 列的數據:
SELECT LastName FROM Persons
結果集類似這樣:
LastName
Adams
Bush
Carter
在本教程中,我們將為您講解各種不同的 SQL 語句。
重要事項
一定要記住,SQL 對大小寫不敏感!
SQL 語句後面的分號?
某些數據庫系統要求在每條 SQL 命令的末端使用分號。在我們的教程中不使用分號。
分號是在數據庫系統中分隔每條 SQL 語句的標准方法,這樣就可以在對服務器的相同請求中執行一條以上的語句。
如果您使用的是 MS Access 和 SQL Server 2000,則不必在每條 SQL 語句之後使用分號,不過某些數據庫軟件要求必須使用分號。
SQL DML 和 DDL
可以把 SQL 分為兩個部分:數據操作語言 (DML) 和 數據定義語言 (DDL)。
SQL (結構化查詢語言)是用於執行查詢的語法。但是 SQL 語言也包含用於更新、插入和刪除記錄的語法。本文來源於網頁教學網。
查詢和更新指令構成了 SQL 的 DML 部分:
SELECT - 從數據庫表中獲取數據
UPDATE - 更新數據庫表中的數據
DELETE - 從數據庫表中刪除數據
INSERT INTO - 向數據庫表中插入數據
SQL 的數據定義語言 (DDL) 部分使我們有能力創建或刪除表格。我們也可以定義索引(鍵),規定表之間的鏈接,以及施加表間的約束。
SQL 中最重要的 DDL 語句:
CREATE DATABASE - 創建新數據庫
ALTER DATABASE - 修改數據庫
CREATE TABLE - 創建新表
ALTER TABLE - 變更(改變)數據庫表
DROP TABLE - 刪除表
CREATE INDEX - 創建索引(搜索鍵)
DROP INDEX - 刪除索引