SQL 簡(jiǎn)介

2023-02-24 11:38 更新

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

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

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


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

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


SQL 是什么?

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

SQL 能做什么?

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

SQL 的歷史

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

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

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

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

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

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

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

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

RDBMS

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

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

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

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

代碼示例:

SELECT * FROM Customers;

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

記錄(也稱(chēng)為行)是表中存在的每個(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ù)。

在此過(guò)程中包含了各種組件。

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

SQL格式化使用

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

  • 使用空格來(lái)縮進(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ù)庫(kù)介紹:點(diǎn)擊此處進(jìn)行測(cè)試>>

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

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)