003_SQL语言简介
1. SQL: Structure Query Language結(jié)構(gòu)化查詢語言, 是一種特殊目的的編程語言, 是一種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語言, 用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。
2. 結(jié)構(gòu)化查詢語言是高級的非過程化編程語言, 允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。它不要求用戶指定對數(shù)據(jù)的存放方法, 也不需要用戶了解具體的數(shù)據(jù)存放方式, 所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫系統(tǒng), 可以使用相同的結(jié)構(gòu)化查詢語言作為數(shù)據(jù)輸入與管理的接口。結(jié)構(gòu)化查詢語言語句可以嵌套, 這使它具有極大的靈活性和強(qiáng)大的功能。
3. SQL的核心部分相當(dāng)于關(guān)系代數(shù), 但又具有關(guān)系代數(shù)所沒有的許多特點(diǎn), 如聚集、數(shù)據(jù)庫更新等。它是一個(gè)綜合的、通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫語言。
4. 其特點(diǎn)是:
4.1. 數(shù)據(jù)描述、操縱、控制等功能一體化。
4.2. 兩種使用方式, 統(tǒng)一的語法結(jié)構(gòu)。SQL有兩種使用方式。一是聯(lián)機(jī)交互使用, 這種方式下的SQL實(shí)際上是作為自含型語言使用的。另一種方式是嵌入到某種高級程序設(shè)計(jì)語言(如C語言等)中去使用。
4.3. 高度非過程化。SQL是一種第四代語言(4GL), 用戶只需要提出"干什么", 無須具體指明"怎么干", 像存取路徑選擇和具體處理操作等均由系統(tǒng)自動(dòng)完成。
4.4. 語言簡潔, 易學(xué)易用。盡管SQL的功能很強(qiáng), 但語言十分簡潔, 核心功能只用了9個(gè)動(dòng)詞(CREATE、ALTER、DROP、SELECT、INSERT、UPDATE、DELETE、GRANT、REVOKE)。SQL的語法接近英語口語, 所以, 用戶很容易學(xué)習(xí)和使用。
5. SQL是用于訪問和處理數(shù)據(jù)庫的標(biāo)準(zhǔn)計(jì)算機(jī)語言。MySQL、SQL Server、Access、Oracle、Sybase、DB2等等都遵循SQL標(biāo)準(zhǔn)。
6. 結(jié)構(gòu)化查詢語言包含6個(gè)部分:
6.1. 數(shù)據(jù)查詢語言(DQL: Data Query Language): 也稱為"數(shù)據(jù)檢索語句", 用以從表中獲得數(shù)據(jù), 確定數(shù)據(jù)怎樣在應(yīng)用程序給出。保留字SELECT是DQL(也是所有SQL)用得最多的動(dòng)詞, 其他DQL常用的保留字有WHERE, ORDER BY, GROUP BY和HAVING。這些DQL保留字常與其它類型的SQL語句一起使用。 ?
6.2. 數(shù)據(jù)操作語言(DML: Data Manipulation Language): 其語句包括動(dòng)詞INSERT、UPDATE和DELETE。它們分別用于添加、修改和刪除。
6.3. 事務(wù)控制語言(TCL): 它的語句能確保被DML語句影響的表的所有行及時(shí)得以更新。包括COMMIT(提交)命令、SAVEPOINT(保存點(diǎn))命令、ROLLBACK(回滾)命令。
6.4. 數(shù)據(jù)控制語言(DCL): 它的語句通過GRANT或REVOKE實(shí)現(xiàn)權(quán)限控制, 確定單個(gè)用戶和用戶組對數(shù)據(jù)庫對象的訪問。某些RDBMS可用GRANT或REVOKE控制對表單個(gè)列的訪問。
6.5. 數(shù)據(jù)定義語言(DDL): 其語句包括動(dòng)詞CREATE, ALTER和DROP。在數(shù)據(jù)庫中創(chuàng)建新表或修改、刪除表(CREATE TABLE或DROP TABLE); 為表加入索引等。
6.6. 指針控制語言(CCL): 它的語句, 像DECLARE CURSOR, FETCH INTO和UPDATE WHERE CURRENT用于對一個(gè)或多個(gè)表單獨(dú)行的操作。
7. SQL能做什么?
7.1. SQL面向數(shù)據(jù)庫執(zhí)行查詢。
7.2. SQL可從數(shù)據(jù)庫取回?cái)?shù)據(jù)。
7.3. SQL可在數(shù)據(jù)庫中插入新的記錄。
7.4. SQL可更新數(shù)據(jù)庫中的數(shù)據(jù)。
7.5. SQL可從數(shù)據(jù)庫刪除記錄。
7.6. SQL可創(chuàng)建新數(shù)據(jù)庫。
7.7. SQL可在數(shù)據(jù)庫中創(chuàng)建新表。
7.8. SQL可在數(shù)據(jù)庫中創(chuàng)建存儲(chǔ)過程。
7.9. SQL可在數(shù)據(jù)庫中創(chuàng)建視圖。
7.10. SQL可以設(shè)置表、存儲(chǔ)過程和視圖的權(quán)限。
8. 一些最重要的SQL命令
8.1. SELECT: 從數(shù)據(jù)庫中提取數(shù)據(jù)。
8.2. UPDATE: 更新數(shù)據(jù)庫中的數(shù)據(jù)。
8.3. DELETE: 從數(shù)據(jù)庫中刪除數(shù)據(jù)。
8.4. INSERT INTO: 向數(shù)據(jù)庫中插入新數(shù)據(jù)。
8.5. CREATE DATABASE: 創(chuàng)建新數(shù)據(jù)庫。
8.6. ALTER DATABASE: 修改數(shù)據(jù)庫。
8.7. CREATE TABLE: 創(chuàng)建新表。
8.8. ALTER TABLE: 變更數(shù)據(jù)庫表。
8.9. DROP TABLE: 刪除表。
8.10. CREATE INDEX: 創(chuàng)建索引。
8.11. DROP INDEX: 刪除索引。
總結(jié)
以上是生活随笔為你收集整理的003_SQL语言简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 002_centos7上安装mysql8
- 下一篇: 001_冒泡排序