發(fā)布于:2021-01-28 10:42:47
0
215
0
什么是SQL?
SQL是處理關系數(shù)據(jù)庫的標準語言。SQL可用于插入、搜索、更新和刪除數(shù)據(jù)庫記錄。SQL可以做很多其他的操作,包括數(shù)據(jù)庫的優(yōu)化和維護。
SQL 完整格式
SQL是結構化查詢語言,發(fā)音為“S-Q-L”或有時是“See Quel”。。。像MySQL數(shù)據(jù)庫、Oracle、mssqlserver、Sybase等關系數(shù)據(jù)庫都使用ANSI SQL。
如何使用SQL
SQL代碼示例:
SELECT * FROM Members WHERE Age > 30
不同數(shù)據(jù)庫中使用的SQL語法幾乎是相似的,盡管很少有RDBMS使用一些不同的命令,甚至是專有的SQL語法。
SQL的用途是什么?
下面是使用SQL的重要原因
它幫助用戶訪問RDBMS系統(tǒng)中的數(shù)據(jù)。
它幫助您描述數(shù)據(jù)。
它允許您定義數(shù)據(jù)庫中的數(shù)據(jù)并操作特定的數(shù)據(jù)。
借助SQL,您可以創(chuàng)建和刪除數(shù)據(jù)庫和表。
SQL為您提供了在數(shù)據(jù)庫中使用函數(shù)、創(chuàng)建視圖和存儲過程。
您可以設置表、過程和視圖的權限。
SQL簡史
以下是SQL歷史上的重要里程碑:
1970年,Edgar F.“Ted”Codd博士描述了數(shù)據(jù)庫的關系模型。
1974年,結構化查詢語言出現(xiàn)。
1978年,IBM發(fā)布了一款名為System/R的產(chǎn)品。
1986年,IBM開發(fā)了關系數(shù)據(jù)庫的原型,這是由ANSI標準化的。
1989-有史以來第一個推出SQL的版本
1999-推出具有觸發(fā)器、面向?qū)ο蟮裙δ艿腟QL 3。
SQL 2003-窗口函數(shù)、XML相關功能,等等
SQL 2006-支持XML查詢語言
SQL 2011-改進對時態(tài)數(shù)據(jù)庫的支持
SQL語句的類型
下面是五種廣泛使用的SQL查詢類型。
數(shù)據(jù)定義語言(DDL)
數(shù)據(jù)操作語言(DML)
數(shù)據(jù)控制語言(DCL)
事務控制語言(TCL)
數(shù)據(jù)查詢語言(DQL)
SQL命令列表
這里是一些最常用的SQL命令列表:
CREATE -定義數(shù)據(jù)庫結構模式
INSERT -將數(shù)據(jù)插入表的行
UPDATE -更新數(shù)據(jù)庫中的數(shù)據(jù)
DELETE -從表中刪除一行或多行
SELECT -根據(jù)WHERE子句描述的條件選擇屬性
DROP -刪除表和數(shù)據(jù)庫
SQL進程
當您想為任何DBMS系統(tǒng)執(zhí)行SQL命令時,您需要找到執(zhí)行請求的最佳方法,SQL引擎決定如何解釋該特定任務。
此SQL過程中包含的重要組件包括:
SQL查詢引擎
優(yōu)化引擎
查詢調(diào)度程序
經(jīng)典查詢引擎
經(jīng)典的查詢引擎允許您管理所有非SQL查詢。
SQL標準
SQL是一種操作數(shù)據(jù)庫的語言。它包括數(shù)據(jù)庫創(chuàng)建、刪除、獲取行、修改行等。SQL是ANSI(美國國家標準協(xié)會)標準語言。SQL標準分為幾個部分。
以下是SQL標準的一些重要部分:
SQL語言元素
以下是SQL語言的重要元素:
關鍵字:每條SQL語句包含一個或多個關鍵字。
標識符:標識符是數(shù)據(jù)庫中對象的名稱,如用戶ID、表、,和列。
字符串:字符串可以是文字字符串,也可以是具有VARCHAR或CHAR數(shù)據(jù)類型的表達式。
表達式:表達式由多個元素組成,如常量、SQL運算符、列名、,和子查詢。
搜索條件:條件用于從表中選擇行的子集,或用于控制語句(如IF語句),以確定流的控制。
特殊值:特殊值應在表達式中使用,并在生成表時作為列默認值。
變量:Sybase IQ支持局部變量、全局變量和連接級別變量。
注釋:注釋是另一個SQL元素,用于將解釋性文本附加到SQL語句或語句塊。數(shù)據(jù)庫服務器不執(zhí)行任何注釋。
NULL值:使用NULL,這有助于指定未知、缺失或不適用的值。
什么是SQL中的數(shù)據(jù)庫?
SQL Server中的一種數(shù)據(jù)庫,由一組表組成,這些表存儲一組詳細的結構化數(shù)據(jù)。它是一個表,包含一組行(稱為記錄或元組)和列(也稱為屬性)。
表中的每一列都設計用于存儲特定類型的信息,例如名稱、日期、美元金額和數(shù)字。
什么是NoSQL?
NoSQL是一種即將推出的數(shù)據(jù)庫管理系統(tǒng)。它的主要特點是不遵循關系數(shù)據(jù)庫的概念。NoSQL的意思是“不僅僅是SQL”。NoSQL數(shù)據(jù)庫的概念隨著處理海量數(shù)據(jù)的互聯(lián)網(wǎng)巨頭如Google、Facebook、Amazon等而發(fā)展。
當您使用關系數(shù)據(jù)庫處理大量數(shù)據(jù)時,系統(tǒng)的響應時間開始變慢。為了克服這個問題,我們可以通過升級現(xiàn)有的硬件來“擴展”我們的系統(tǒng)。上述問題的替代方法是,隨著負載的增加,在多個主機上分配數(shù)據(jù)庫負載。這就是所謂的“向外擴展”。
NoSQL數(shù)據(jù)庫是非關系數(shù)據(jù)庫,它比關系數(shù)據(jù)庫擴展得更好,并且在設計時考慮了web應用程序。它們不使用SQL查詢數(shù)據(jù),也不遵循關系模型之類的嚴格模式。對于NoSQL,ACID(原子性、一致性、隔離性、持久性)特性并不總是得到保證。
為什么在NoSQL之后再學習SQL是有意義的?
鑒于NoSQL數(shù)據(jù)庫的優(yōu)勢,它比關系模型擴展得更好,您可能會想為什么人們?nèi)匀幌肓私釹QL數(shù)據(jù)庫?NoSQL數(shù)據(jù)庫是高度專業(yè)化的系統(tǒng),有其特殊的用途和局限性。NoSQL更適合那些處理大量數(shù)據(jù)的人。絕大多數(shù)使用關系數(shù)據(jù)庫和相關工具。
與NoSQL數(shù)據(jù)庫相比,關系數(shù)據(jù)庫具有以下優(yōu)點。
SQL(relational)數(shù)據(jù)庫具有成熟的數(shù)據(jù)存儲和管理模式。這對于企業(yè)用戶來說至關重要。
SQL數(shù)據(jù)庫支持視圖的概念,即只允許用戶查看他們有權查看的數(shù)據(jù)。他們無權查看的數(shù)據(jù)被隱藏起來。
SQL數(shù)據(jù)庫支持存儲過程SQL,這使數(shù)據(jù)庫開發(fā)人員能夠?qū)⒉糠謽I(yè)務邏輯實現(xiàn)到數(shù)據(jù)庫中。
與NoSQL數(shù)據(jù)庫相比,SQL數(shù)據(jù)庫具有更好的安全模型。
世界并沒有偏離關系數(shù)據(jù)庫的使用。對能夠處理關系數(shù)據(jù)庫的專業(yè)人員的需求越來越大。因此,學習數(shù)據(jù)庫和SQL基礎知識仍然是有價值的。
總結/要點
SQL語言用于查詢數(shù)據(jù)庫。
SQL代表什么或SQL的含義:結構化查詢語言。
SQL用于:
RDBMS系統(tǒng)。
描述,定義和處理數(shù)據(jù)。
創(chuàng)建和刪除數(shù)據(jù)庫和表。
SQL語句的類型:DDL,DML,DCL,TCL,DQL。
SQL命令列表:CREATE,INSERT,UPDATE,DELETE,SELECT,DROP。
SQL語言元素:關鍵字,標識符,字符串,表達式,變量等。
NoSQL:表示“不僅SQL”而且是數(shù)據(jù)庫管理系統(tǒng)的下一類。
與傳統(tǒng)的基于平面文件的系統(tǒng)相比,數(shù)據(jù)庫方法在存儲數(shù)據(jù)方面具有許多優(yōu)勢。