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