SQL語言的基本介紹
1、SQL語言的基本概念
SQL指結構化查詢語言,全稱是 Structured Query Language。使用 SQL 可以訪問和處理關系型數據庫,它是用于訪問和處理數據庫的標準的計算機語言。
SQL語句既可以查詢數據庫中的數據,也可以添加、更新和刪除數據庫中的數據,還可以對數據庫進行管理和維護操作。不同的數據庫,都支持SQL,這樣,我們通過學習SQL這一種語言,就可以操作各種不同的數據庫。
雖然SQL已經被ANSI組織定義為標準,不幸地是,各個不同的數據庫對標準的SQL支持不太一致。并且,大部分數據庫都在標準的SQL上做了擴展。也就是說,如果只使用標準SQL,理論上所有數據庫都可以支持,但如果使用某個特定數據庫的擴展SQL,換一個數據庫就不能執行了。例如,Oracle把自己擴展的SQL稱為PL/SQL,Microsoft把自己擴展的SQL稱為T-SQL。
現實情況是,如果我們只使用標準SQL的核心功能,那么所有數據庫通常都可以執行。不常用的SQL功能,不同的數據庫支持的程度都不一樣。而各個數據庫支持的各自擴展的功能,通常我們把它們稱之為“方言”。
SQL 的特點有:
- SQL 面向數據庫執行查詢
- SQL 可從數據庫取回數據
- SQL 可在數據庫中插入新的記錄
- SQL 可更新數據庫中的數據
- SQL 可從數據庫刪除記錄
- SQL 可創建新數據庫
- SQL 可在數據庫中創建新表
- SQL 可在數據庫中創建存儲過程
- SQL 可在數據庫中創建視圖
- SQL 可以設置表、存儲過程和視圖的權限
1.1、NoSQL的簡單介紹
除了關系型數據庫外,你可能還聽說過NoSQL數據庫,也就是非SQL的數據庫,包括MongoDB、Cassandra、Dynamo等等,它們都不是關系數據庫。有很多人鼓吹現代Web程序已經無需關系數據庫了,只需要使用NoSQL就可以。但事實上,SQL數據庫從始至終從未被取代過。今天,SQL數據庫仍然承擔了各種應用程序的核心數據存儲,而NoSQL數據庫作為SQL數據庫的補充,兩者不再是二選一的問題,而是主從關系。所以,無論使用哪種編程語言,無論是Web開發、游戲開發還是手機開發,掌握SQL,是所有軟件開發人員所必須的。
2、SQL的語法特點
SQL語法的語法特點有:
- SQL 對關鍵字的大小寫不敏感,比如SELECT 與 select 是相同的,一個關鍵字混合大小寫也是可以的,比如 SeLect,關鍵字建議大寫。
- 數據庫名,表名,表字段一般來說都是區分大小寫的,所以在使用SQL命令操作數據庫表和字段時需要輸入正確的名稱。
- SQL語句可以以單行或者多行書寫,以分行結束(某些數據庫系統要求在每條 SQL 語句的末端使用分號,比如MySQL)。分號是在數據庫系統中分隔每條 SQL 語句的標準方法,這樣就可以在對服務器的相同請求中執行一條以上的 SQL 語句。
- SQL的注釋:
單行注釋: -- 注釋內容、# 注釋內容 (在MySQL中,-- 后面一定要加一個空格,#后面可加可不加空格。單行注釋建議使用 #) SELECT * FROM Websites; -- 這里是注釋 SELECT * FROM Websites; # 這里是注釋 多行注釋: /* 注釋內容 注釋內容 */
3、SQL語句的分類(DDL、DML、DQL、DCL)
SQL語言定義了以下四種操作數據庫的能力,可分為以下四類:
DDL(Data Definition Language,操作數據庫和表結構):DDL是用來操作數據庫和表的,也就是創建數據庫和表、刪除數據庫和表、修改表結構這些操作。通常,DDL由數據庫管理員執行。
DQL(Data Query Language,查詢數據):DQL就是用來查詢表中的數據的,為用戶提供查詢數據的能力,這也是通常最頻繁的數據庫日常操作。
DML(Data Manipulation Language,修改數據):DML就是用來增刪改表中的數據的,為用戶提供添加、刪除、更新數據的能力,這些是應用程序對數據庫的日常操作。
DCL(Data Control Language,授權權限):DCL是用來授權的,用來定義數據庫的訪問權限和安全級別,以及創建用戶等。關鍵字:GRANT、REVOKE等。

浙公網安備 33010602011771號