SQL(Structure Query Language)結(jié)構(gòu)化查詢語言是數(shù)據(jù)庫的核心語言,是高級的非過程化編程語言拍嵌。它功能強大村刨,效率高,簡單易學(xué)易維護撰茎。SQL語言基本上獨立于數(shù)據(jù)庫本身嵌牺、使用的機器、網(wǎng)絡(luò)龄糊、操作系統(tǒng)逆粹,基于SQL的DBMS產(chǎn)品可以運行在從個人機、工作站到基于局域網(wǎng)炫惩、小型機和大型機的各種計算機系統(tǒng)上僻弹,具有良好的可移植性。
SQL結(jié)構(gòu)化查詢語言包含6個部分
1.數(shù)據(jù)查詢語言(DQL: Data Query Language)
數(shù)據(jù)檢索語句他嚷,用于從表中獲取數(shù)據(jù)蹋绽。通常最常用的為保留字SELECT,并且常與FROM子句芭毙、WHERE子句組成查詢SQL查詢語句。
語法:
SELECT <字段名> FROM <表或視圖名> WHERE <查詢條件>;
2.數(shù)據(jù)操縱語言(DML:Data Manipulation Language)
主要用來對數(shù)據(jù)庫的數(shù)據(jù)進行一些操作卸耘,常用的就是INSERT退敦、UPDATE、DELETE蚣抗。
語法:
INSERT INTO <表名>(列1,列2,...) VALUES (值1,值2,...);
UPDATE <表名> SET <列名>=新值 WHERE <列名>=某值;
DELETE FROM <表名> WHERE <列名>=某值;
3.事務(wù)處理語言(DPL)
事務(wù)處理語句能確保被DML語句影響的表的所有行及時得以更新侈百。TPL語句包括BEGIN TRANSACTION、COMMIT和ROLLBACK翰铡。
4.數(shù)據(jù)控制語言(DCL)
通過GRANT和REVOKE钝域,確定單個用戶或用戶組對數(shù)據(jù)庫對象的訪問權(quán)限。
5.數(shù)據(jù)定義語言(DDL)
常用的有CREATE和DROP锭魔,用于在數(shù)據(jù)庫中創(chuàng)建新表或刪除表例证,以及為表加入索引等。
6.指針控制語言(CCL)
它的語句迷捧,想DECLARE CURSOR战虏、FETCH INTO和UPDATE WHERE CURRENT用于對一個或多個表單獨行的操作。
注:
SQL是一個標準党涕,每個數(shù)據(jù)庫服務(wù)器都在標準的基礎(chǔ)上進行了相應(yīng)的調(diào)整和擴展,相應(yīng)的巡社,每個數(shù)據(jù)庫對數(shù)據(jù)的各種操作語言的語法就會做出相應(yīng)的調(diào)整膛堤。在MySQL中,SQL通常分為DDL晌该、DML和查詢肥荔,還包括一些其它語句類別。MySQL將SELECT與INSERT朝群、UPDATE燕耿、DELETE分別劃分到了查詢和DML,但是也并非絕對的劃分姜胖,通常會將SELECT與INSERT誉帅、UPDATE、DELETE一起劃分為DML右莱。具體參見MySQL官網(wǎng)中的MySQL Glossary蚜锨,其中對SQL和DML的釋義分別如下: