首頁 資料庫 SQL sql語言是什麼語言

sql語言是什麼語言

Aug 03, 2019 am 10:40 AM
sql

sql語言是什麼語言

  結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的程式語言,是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關係資料庫系統。

相關推薦:MySQL入門影片

推薦教學:SQL資料庫教學

  結構化查詢語言是高階的非過程化程式語言,允許使用者在高層資料結構上工作。它不要求使用者指定對資料的存放方法,也不需要使用者了解特定的資料存放方式,所以具有完全不同底層結構的不同資料庫系統, 可以使用相同的結構化查詢語言作為資料輸入與管理的介面。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。

  SQL語言1974年由Boyce和Chamberlin提出,並先在IBM公司開發的關聯式資料庫系統SystemR上實現。由於它具有功能豐富、使用方便靈活、語言簡潔易學等突出的優點,深受電腦工業界和電腦使用者的歡迎。 1980年10月,經美國國家標準局(ANSI)的資料庫委員會X3H2批准,將SQL作為關聯式資料庫語言的美國標準,同年公佈了標準SQL,此後不久,國際標準化組織(ISO)也作出了同樣的決定。 

  SQL從功能上可以分為3部分:資料定義、資料操縱和資料控制。 

  SQL的核心部分相當於關係代數,但又有關係代數所沒有的許多特點,如聚集、資料庫更新等。它是一個綜合的、通用的、功能極強的關係資料庫語言。其特點是: 

  1、資料描述、操縱、控制等功能整合。

  2、兩種使用方式,統一的語法結構。 SQL有兩種使用方式。一是線上互動使用,這種方式下的SQL其實是作為自含型語言使用的。另一種方式是嵌入到某種高階程式設計語言(如C語言等)中去使用。前一種方式適合於非電腦專業人員使用,後一種方式適合於專業電腦人員使用。儘管使用方式不向,但所用語言的語法結構基本上是一致的。 

  3、高度非製程化。 SQL是一種第四代語言(4GL),使用者只需要提出“幹什麼”,無須具體指明“怎麼幹”,像訪問路徑選擇和具體處理操作等均由系統自動完成。 

  4、語言簡潔,易學易用。儘管SQL的功能很強,但語言十分簡潔,核心功能只用了9個動詞。 SQL的語法接近英語口語,所以,使用者很容易學習和使用。 

功能

SQL有資料定義、資料操縱、資料控制。 

  1、SQL資料定義功能:能夠定義資料庫的三級模式結構,即外模式、全域模式與內部模式結構。在SQL中,外模式有叫做視圖(View),全域模式簡稱模式( Schema),內模式由系統依照資料庫模式自動實現,一般無需使用者過問。 

  2、SQL資料操縱功能:包含基本表和檢視的資料插入、刪除和修改,特別是具有強大的資料查詢功能。 

  3、SQL的資料控制功能:主要是針對使用者的存取權限加以控制,以確保系統的安全性。

語言特性

SQL風格統一

  SQL可以獨立完成資料庫生命週期中的全部活動,包括定義關係模式、錄人資料、建立資料庫、査詢、更新、維護、資料庫重構、資料庫安全性控制等一系列操作,這就為資料庫應用系統開發提供了良好的環境,在資料庫投入運行後,還可隨時依需求逐步修改模式,且不影響資料庫的運行,使系統具有良好的可擴充性。

高度非過程化

  非關聯式資料模型的資料操縱語言是過程導向的語言,用其完成使用者請求時,必須指定存取路徑。而用SQL進行資料操作,使用者只需提出“做什麼”,而不必指明“怎麼做”,因此使用者無須了解訪問路徑,訪問路徑的選擇以及SQL語句的操作過程由系統自動完成。這不僅大大減輕了用戶負擔,而且有利於提高資料獨立性。 

物件導向的運算方式

#

  SQL採用集合操作方式,不僅查找結果可以是元組的集合,而且一次插入、刪除、更新操作的物件也可以是元組的集合。

以同一種語法結構提供兩種使用方式

  SQL既是自含式語言,也是嵌人式語言。作為自含式語言,它能夠獨立地用於線上互動的使用方式,使用者可以在終端鍵盤上直接輸入SQL命令對資料庫進行操作。作為嵌入式語言,SQL語句能夠嵌入到高階語言(如C、 C#、JAVA)程式中,供程式設計師設計程式時使用。而在兩種不同的使用方式下,SQL的語法結構基本上是一致的。這種以統一的語法結構提供兩種不同的操作方式,為使用者提供了極大的靈活性與便利性。

語言簡潔,易學易用

  SQL功能極強,但由於設計巧妙,語言十分簡潔,完成資料定義、資料操縱、資料控制的核心功能只用了9個動詞: CREATE、 ALTER、DROP、 SELECT、 INSERT、 UPDATE、 DELETE、GRANT、 REVOKE。且SQL語言文法簡單,接近英語口語,因此容易學習,也容易使用。

以上是sql語言是什麼語言的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Hibernate 框架中 HQL 和 SQL 的差異是什麼? Hibernate 框架中 HQL 和 SQL 的差異是什麼? Apr 17, 2024 pm 02:57 PM

HQL和SQL在Hibernate框架中進行比較:HQL(1.物件導向語法,2.資料庫無關的查詢,3.類型安全),而SQL直接操作資料庫(1.與資料庫無關的標準,2.可執行複雜查詢和資料操作)。

Oracle SQL中除法運算的用法 Oracle SQL中除法運算的用法 Mar 10, 2024 pm 03:06 PM

《OracleSQL中除法運算的用法》在OracleSQL中,除法運算是常見的數學運算之一。在資料查詢和處理過程中,除法運算可以幫助我們計算欄位之間的比例或得出特定數值的邏輯關係。本文將介紹OracleSQL中除法運算的用法,並提供具體的程式碼範例。一、OracleSQL中除法運算的兩種方式在OracleSQL中,除法運算可以用兩種不同的方式來進行

Oracle與DB2的SQL語法比較與區別 Oracle與DB2的SQL語法比較與區別 Mar 11, 2024 pm 12:09 PM

Oracle和DB2是兩個常用的關聯式資料庫管理系統,它們都有自己獨特的SQL語法和特性。本文將針對Oracle和DB2的SQL語法進行比較與區別,並提供具體的程式碼範例。資料庫連接在Oracle中,使用以下語句連接資料庫:CONNECTusername/password@database而在DB2中,連接資料庫的語句如下:CONNECTTOdataba

詳解MyBatis動態SQL標籤中的Set標籤功能 詳解MyBatis動態SQL標籤中的Set標籤功能 Feb 26, 2024 pm 07:48 PM

MyBatis動態SQL標籤解讀:Set標籤用法詳解MyBatis是一個優秀的持久層框架,它提供了豐富的動態SQL標籤,可以靈活地建構資料庫操作語句。其中,Set標籤是用來產生UPDATE語句中SET子句的標籤,在更新作業中非常常用。本文將詳細解讀MyBatis中Set標籤的用法,以及透過具體的程式碼範例來示範其功能。什麼是Set標籤Set標籤用於MyBati

SQL中的identity屬性是什麼意思? SQL中的identity屬性是什麼意思? Feb 19, 2024 am 11:24 AM

SQL中的Identity是什麼,需要具體程式碼範例在SQL中,Identity是一種用於產生自增數字的特殊資料類型,它常用於唯一識別表中的每一行資料。 Identity欄位通常與主鍵列搭配使用,可確保每筆記錄都有獨一無二的識別碼。本文將詳細介紹Identity的使用方式以及一些實際的程式碼範例。 Identity的基本使用方式在建立表格時,可以使用Identit

java怎麼透過MySQL驅動攔截器實現執行sql耗時計算 java怎麼透過MySQL驅動攔截器實現執行sql耗時計算 May 27, 2023 pm 01:10 PM

背景公司的一個需求,公司既有的鏈路追蹤日誌元件要支援MySQL的sql執行時間列印,要實現鏈路追蹤常用的手段就是實現第三方框架或工具提供的攔截器接口或是過濾器接口,對於MySQL也不例外,其實就是實作了MySQL驅動的攔截器介面而已。具體實作MySQL的管道有不同的版本,不同版本的攔截器介面是不同的,所以要針對你所使用的不同版本的MySQL驅動去實現回應的攔截器,接下來分別介紹下MySQL頻道5,6, 8版本的實作方式。 MySQL5這裡以MySQL頻道5.1.18版本為例實現,實作Statem

SQL出現5120錯誤怎麼解決 SQL出現5120錯誤怎麼解決 Mar 06, 2024 pm 04:33 PM

解決方法:1、檢查登入使用者是否具有足夠的權限來存取或操作該資料庫,確保該使用者俱有正確的權限;2、檢查SQL Server服務的帳戶是否具有存取指定檔案或資料夾的權限,確保該帳戶具有足夠的權限來讀取和寫入該文件或資料夾;3、檢查指定的資料庫文件是否已被其他進程打開或鎖定,嘗試關閉或釋放該文件,並重新運行查詢;4、嘗試以管理員身份運行Management Studio等等。

Springboot+Mybatis-plus不使用SQL語句進行多表新增怎麼實現 Springboot+Mybatis-plus不使用SQL語句進行多表新增怎麼實現 Jun 02, 2023 am 11:07 AM

在Springboot+Mybatis-plus不使用SQL語句進行多表添加操作我所遇到的問題準備工作在測試環境下模擬思維分解一下:創建出一個帶有參數的BrandDTO對像模擬對後台傳遞參數我所遇到的問題我們都知道,在我們使用Mybatis-plus中進行多表操作是極其困難的,如果你不使用Mybatis-plus-join這一類的工具,你只能去配置對應的Mapper.xml文件,配置又臭又長的ResultMap,然後再寫對應的sql語句,這種方法雖然看上去很麻煩,但具有很高的靈活性,可以讓我們

See all articles