SQL 簡介

2023-02-24 11:38 更新

SQL(結(jié)構(gòu)化查詢語言)是用于訪問和操作數(shù)據(jù)庫中的數(shù)據(jù)的標(biāo)準(zhǔn)數(shù)據(jù)庫編程語言。

SQL是關(guān)系數(shù)據(jù)庫系統(tǒng)的標(biāo)準(zhǔn)語言。所有關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDMS),如MySQL、MS Access、Oracle、Sybase、Informix、Postgres和SQL Server都使用SQL作為它們的標(biāo)準(zhǔn)數(shù)據(jù)庫語言。

為了處理數(shù)據(jù)庫和數(shù)據(jù)庫相關(guān)的編程,程序員需要有一些介質(zhì),或者可以說接口來詳細(xì)說明一組命令或代碼來處理數(shù)據(jù)庫或訪問數(shù)據(jù)庫的數(shù)據(jù)。在本章中,將簡要介紹在學(xué)習(xí)SQL的過程中您將學(xué)習(xí)的術(shù)語。


你會(huì)從SQL中學(xué)到什么?

SQL為結(jié)構(gòu)化查詢語言提供了獨(dú)特的學(xué)習(xí)和數(shù)據(jù)庫處理技術(shù),并將幫助您更好地控制SQL查詢并有效處理這些代碼。由于SQL幫助您包括數(shù)據(jù)庫創(chuàng)建,數(shù)據(jù)庫或表刪除,獲取行數(shù)據(jù)和修改這些數(shù)據(jù)等,并行SQL使得事情自動(dòng)和平滑,最終用戶可以輕松訪問和處理該應(yīng)用程序的數(shù)據(jù)。


SQL 是什么?

  • SQL 發(fā)音為“sequel”。
  • SQL 指結(jié)構(gòu)化查詢語言,全稱是 Structured Query Language(是最初由IBM開發(fā))。
  • SQL 是關(guān)系數(shù)據(jù)庫系統(tǒng)的標(biāo)準(zhǔn)語言。
  • SQL 是一種 ANSI(American National Standards Institute 美國國家標(biāo)準(zhǔn)化組織)標(biāo)準(zhǔn)的計(jì)算機(jī)語言。

SQL 能做什么?

  • SQL可以創(chuàng)建新的數(shù)據(jù)庫及其對(duì)象(表,索引,視圖,存儲(chǔ)過程,函數(shù)和觸發(fā)器)。
  • SQL可以修改現(xiàn)有數(shù)據(jù)庫的結(jié)構(gòu)。
  • SQL可以從數(shù)據(jù)庫中刪除(刪除)對(duì)象。
  • SQL可以TRUNCATE(截?。┍碇械乃杏涗洝?/li>
  • SQL可以對(duì)數(shù)據(jù)字典進(jìn)行COMMENT。
  • SQL可以RENAME一個(gè)對(duì)象。
  • SQL可以從數(shù)據(jù)庫中選擇(檢索)數(shù)據(jù)。
  • SQL可以將數(shù)據(jù)插入到表中。
  • SQL可以更新表中的現(xiàn)有數(shù)據(jù)。
  • SQL可以從數(shù)據(jù)庫表中刪除記錄。
  • SQL可以在數(shù)據(jù)庫中設(shè)置用戶的GRANT和REVOKE權(quán)限。

SQL 的歷史

  • 1970年,SQL由IBM的Donald D. Chamberlin和Raymond F. Boyce開發(fā)。
  • 1974年,開發(fā)版本最初被稱為SEQUEL(結(jié)構(gòu)化英語查詢語言)。
  • 1979年,關(guān)系軟件發(fā)布了第一個(gè)叫做System / R的商業(yè)產(chǎn)品。
  • 由于商標(biāo)沖突問題,SEQUEL首字母縮略詞后來更改為SQL。
  • 后來IBM基于System / R的原型開始在SQL上開發(fā)商業(yè)產(chǎn)品。
  • 第一個(gè)關(guān)系數(shù)據(jù)庫由RelationalSoftware發(fā)布,后來被稱為Oracle。

SQL 是一種標(biāo)準(zhǔn) - 但是...

雖然 SQL 是一門 ANSI(American National Standards Institute 美國國家標(biāo)準(zhǔn)化組織)標(biāo)準(zhǔn)的計(jì)算機(jī)語言,但是仍然存在著多種不同版本的 SQL 語言。

然而,為了與 ANSI 標(biāo)準(zhǔn)相兼容,它們必須以相似的方式共同地來支持一些主要的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。

lamp 注釋:除SQL標(biāo)準(zhǔn)之外,大多數(shù)SQL數(shù)據(jù)庫程序還具有自己的專有擴(kuò)展名!

在您的網(wǎng)站中使用 SQL

要?jiǎng)?chuàng)建一個(gè)顯示數(shù)據(jù)庫中數(shù)據(jù)的網(wǎng)站,您需要:

  • 一個(gè)RDBMS數(shù)據(jù)庫程序(即MS Access,SQL Server,MySQL)。
  • 使用服務(wù)器端腳本語言,如PHP或ASP。
  • 使用SQL來獲取所需的數(shù)據(jù)。
  • 使用HTML / CSS來設(shè)置頁面的樣式

RDBMS

RDBMS 指關(guān)系型數(shù)據(jù)庫管理系統(tǒng),全稱 Relational Database Management System。

RDBMS 是 SQL 的基礎(chǔ),同樣也是所有現(xiàn)代數(shù)據(jù)庫系統(tǒng)的基礎(chǔ),比如 MS SQL Server、IBM DB2、Oracle、MySQL 以及 Microsoft Access。

RDBMS 中的數(shù)據(jù)存儲(chǔ)在被稱為表的數(shù)據(jù)庫對(duì)象中。

表是相關(guān)的數(shù)據(jù)項(xiàng)的集合,它由列和行組成。

代碼示例:

SELECT * FROM Customers;

每個(gè)表都被分解成稱為字段的更小的實(shí)體。Customers表中的字段由CustomerID,CustomerName,ContactName,Address,City,PostalCode和Country組成。字段是表中的一列,用于維護(hù)表中每條記錄的特定信息。

記錄(也稱為行)是表中存在的每個(gè)單獨(dú)條目。例如,在上面的Customers表中有91條記錄。記錄是表中的橫向?qū)嶓w。

列是表中的垂直實(shí)體,其包含與表中的特定字段相關(guān)聯(lián)的所有信息。


SQL進(jìn)程

當(dāng)您對(duì)任何RDBMS執(zhí)行SQL命令時(shí),系統(tǒng)將確定執(zhí)行請(qǐng)求的最佳方式,并由SQL引擎確定如何解釋該任務(wù)。

在此過程中包含了各種組件。

查詢調(diào)度器優(yōu)化引擎經(jīng)典查詢引擎SQL查詢引擎

典型的查詢引擎處理所有非SQL查詢,但SQL查詢引擎不會(huì)處理邏輯文件。


SQL標(biāo)準(zhǔn)命令

與關(guān)系數(shù)據(jù)庫交互的標(biāo)準(zhǔn)SQL命令是?CREATE?,?SELECT?,?INSERT?,?UPDATE?,?DELETE?和?DROP?,簡單分為以下幾組:


DDL(數(shù)據(jù)定義語言)

數(shù)據(jù)定義語言用于改變數(shù)據(jù)庫結(jié)構(gòu),包括創(chuàng)建、更改和刪除數(shù)據(jù)庫對(duì)象。用于操縱表結(jié)構(gòu)的數(shù)據(jù)定義語言命令有:

  • CREATE TABLE-- 創(chuàng)建(在數(shù)據(jù)庫中創(chuàng)建新表、表視圖或其他對(duì)象)
  • ALTER TABLE-- 更改 (修改現(xiàn)有的數(shù)據(jù)庫對(duì)象,如表)
  • DROP TABLE-- 刪除  (刪除數(shù)據(jù)庫中的整個(gè)表、表或其他對(duì)象的視圖)

DML(數(shù)據(jù)操縱語言)

數(shù)據(jù)操縱語言用于檢索、插入和修改數(shù)據(jù),數(shù)據(jù)操縱語言是最常見的SQL命令。

數(shù)據(jù)操縱語言命令包括:

  • INSERT-- 插入 (創(chuàng)建記錄)
  • DELETE-- 刪除 (刪除記錄)
  • UPDATE-- 修改(修改記錄)
  • SELECT -- 檢索 (從一個(gè)或多個(gè)表檢索某些記錄)

DCL(數(shù)據(jù)控制語言)

數(shù)據(jù)控制語言為用戶提供權(quán)限控制命令。

用于權(quán)限控制的命令有:

  • GRANT-- 授予權(quán)限
  • REVOKE-- 撤銷已授予的權(quán)限

SQL格式化使用

SQL的縮進(jìn)規(guī)范要求:

  • 使用空格來縮進(jìn)
  • 每個(gè)縮進(jìn)層次使用2個(gè)空格
  • 每行最多使用80個(gè)字符
  • 每個(gè)子句應(yīng)該獨(dú)占一行
  • 每個(gè)子句的參數(shù)應(yīng)該縮進(jìn)一個(gè)層次。

SQL格式化工具可以比較直觀的看到您想要的操作



章節(jié)小測(cè)

現(xiàn)在,相信您已經(jīng)了解了SQL的基礎(chǔ)知識(shí),那么,測(cè)驗(yàn)一下吧!

SQL微課 - 數(shù)據(jù)庫介紹:點(diǎn)擊此處進(jìn)行測(cè)試>>

更多測(cè)試題請(qǐng)參考:《SQL測(cè)驗(yàn)》題庫>>

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)