sql是什么意思
SQL是Structured Quevy Language(結構化查詢語言)的縮寫。SQL是專為數據庫而建立的操作命令集,是一種功能齊全的數據庫語言。在使用它時,只需要發出“做什么”的命令,“怎么做”是不用使用者考慮的。SQL功能強大、簡單易學、使用方便,已經成為了數據庫操作的基礎,并且現在幾乎所有的數據庫均支持SQL。
##1 二、SQL數據庫數據體系結構
SQL數據庫的數據體系結構基本上是三級結構,但使用術語與傳統關系模型術語不同。在SQL中,關系模式(模式)稱為“基本表”(base table);存儲模式(內模式)稱為“存儲文件”(stored file);子模式(外模式)稱為“視圖”(view);元組稱為“行”(row);屬性稱為“列”(column)。名稱對稱如^00100009a^:
##1 三、SQL語言的組成
在正式學習SQL語言之前,首先讓我們對SQL語言有一個基本認識,介紹一下SQL語言的組成:
1.一個SQL數據庫是表(Table)的集合,它由一個或多個SQL模式定義。
2.一個SQL表由行集構成,一行是列的序列(集合),每列與行對應一個數據項。
3.一個表或者是一個基本表或者是一個視圖。基本表是實際存儲在數據庫的表,而視圖是由若干基本表或其他視圖構成的表的定義。
4.一個基本表可以跨一個或多個存儲文件,一個存儲文件也可存放一個或多個基本表。每個存儲文件與外部存儲上一個物理文件對應。
5.用戶可以用SQL語句對視圖和基本表進行查詢等操作。在用戶角度來看,視圖和基本表是一樣的,沒有區別,都是關系(表格)。
*用戶可以是應用程序,也可以是終端用戶。SQL語句可嵌入在宿主語言的程序中使用,宿主語言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada語言等。SQL用戶也能作為獨立的用戶接口,供交互環境下的終端用戶使用。
##1 四、對數據庫進行操作
SQL包括了所有對數據庫的操作,主要是由4個部分組成:
1.數據定義:這一部分又稱為“SQL DDL”,定義數據庫的邏輯結構,包括定義數據庫、基本表、視圖和索引4部分。
2.數據操縱:這一部分又稱為“SQL DML”,其中包括數據查詢和數據更新兩大類操作,其中數據更新又包括插入、刪除和更新三種操作。
3.數據控制:對用戶訪問數據的控制有基本表和視圖的授權、完整性規則的描述,事務控制語句等。
4.嵌入式SQL語言的使用規定:規定SQL語句在宿主語言的程序中使用的規則。
下面我們將分別介紹:
##2 (一)數據定義
SQL數據定義功能包括定義數據庫、基本表、索引和視圖。
首先,讓我們了解一下SQL所提供的基本數據類型:(如^00100009b^)
1.數據庫的建立與刪除
(1)建立數據庫:數據庫是一個包括了多個基本表的數據集,其語句格式為:
CREATE DATABASE 〔其它參數〕
其中,在系統中必須是唯一的,不能重復,不然將導致數據存取失誤。〔其它參數〕因具體數據庫實現系統不同而異。
例:要建立項目管理數據庫(xmmanage),其語句應為:
CREATE DATABASE xmmanage
(2) 數據庫的刪除:將數據庫及其全部內容從系統中刪除。
其語句格式為:DROP DATABASE
例:刪除項目管理數據庫(xmmanage),其語句應為:
DROP DATABASE xmmanage
2.基本表的定義及變更
本身獨立存在的表稱為基本表,在SQL語言中一個關系唯一對應一個基本表。基本表的定義指建立基本關系模式,而變更則是指對數據庫中已存在的基本表進行刪除與修改。
……
sql全稱
結構化標準查詢語言 SQL全稱是“結構化查詢語言(Structured Query Language)”,最早的是IBM的圣約瑟研究實驗室為其關系數據庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。
SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應用。如今無論是像Oracle ,Sybase,Informix,SQL server這些大型的數據庫管理系統,還是像Visual Foxporo,PowerBuilder這些微機上常用的數據庫開發系統,都支持SQL語言作為查詢語言。
Structured Query Language包含4個部分: 數據查詢語言DQL-Data Query Language SELECT 數據操縱語言DQL-Data Manipulation Language INSERT, UPDATE, DELETE 數據定義語言DQL-Data Definition Language CREATE, ALTER, DROP 數據控制語言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK SQL的歷史 在70年代初,*首先提出了關系模型。70年代中期,IBM公司在研制 SYSTEM R關系數據庫管理系統中研制了SQL語言,最早的SQL語言(叫SEQUEL2)是在1976 年 11 月的IBM Journal of R&D上公布的。
1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2 和SQL/DS數據庫系統中也實現了SQL。 1986年10月,美國ANSI采用SQL作為關系數據庫管理系統的標準語言(ANSI X3. 135-1986),后為國際標準化組織(ISO)采納為國際標準。
1989年,美國ANSI采納在ANSI X3.135-1989報告中定義的關系數據庫管理系統的SQL標準語言,稱為ANSI SQL 89, 該標準替代ANSI X3.135-1986版本。該標準為下列組織所采納: ● 國際標準化組織(ISO),為ISO 9075-1989報告“Database Language SQL With Integrity Enhancement” ● 美國聯邦政府,發布在The Federal Information Processing Standard Publication(FIPS PUB)127 目前,所有主要的關系數據庫管理系統支持某些形式的SQL語言, 大部分數據庫打算遵守ANSI SQL89標準。
SQL的優點 SQL廣泛地被采用正說明了它的優點。它使全部用戶,包括應用程序員、DBA管理員和終端用戶受益非淺。
(1) 非過程化語言 SQL是一個非過程化的語言,因為它一次處理一個記錄,對數據提供自動導航。SQL允許用戶在高層的數據結構上工作,而不對單個記錄進行操作,可操作記錄集。
所有SQL 語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結果作為另一條SQL語句的輸入。
SQL不要求用戶指定對數據的存放方法。 這種特性使用戶更易集中精力于要得到的結果。
所有SQL語句使用查詢優化器,它是RDBMS的一部分,由它決定對指定數據存取的最快速度的手段。查詢優化器知道存在什么索引,哪兒使用合適,而用戶從不需要知道表是否有索引,表有什么類型的索引。
(2) 統一的語言 SQL可用于所有用戶的DB活動模型,包括系統管理員、數據庫管理員、 應用程序員、決策支持系統人員及許多其它類型的終端用戶。基本的SQL 命令只需很少時間就能學會,最高級的命令在幾天內便可掌握。
SQL為許多任務提供了命令,包括: ● 查詢數據 ● 在表中插入、修改和刪除記錄 ● 建立、修改和刪除數據對象 ● 控制對數據和數據對象的存取 ● 保證數據庫一致性和完整性 以前的數據庫管理系統為上述各類操作提供單獨的語言,而SQL 將全部任務統一在一種語言中。 (3) 是所有關系數據庫的公共語言 由于所有主要的關系數據庫管理系統都支持SQL語言,用戶可將使用SQL的技能從一個RDBMS轉到另一個。
所有用SQL編寫的程序都是可以移植的。
編寫T-SQL語句,定義規則Email-rule,限制字符串中必
ifobject_id('fCheckEmail')isnotnulldropfunctionfCheckEmailGO----創建驗證函數,返回值為1表示正確,否則格式錯誤createfunctionfCheckEmail(@Emailvarchar(1000)) ('')>0or/*含有空格*/len(@email)-len(replace(@email,'。
',''))>1or/*'。'超過1個*/len(@email)-len(replace(@email,'@',''))>1or/*'@'超過1個*/right(@email,1)='。
'or/*以'。'結尾*/right(@email,1)='@'or/*以'@'結尾*/left(@email,1)='。
'or/*以'。'開頭*/left(@email,1)='@'or/*以'。
'開頭*/charindex('。')-charindex('@') '相鄰*/charindex('。
')-charindex('@')=1/*'@'與'。'相鄰*/ /*僅供參考,可以靈活添加\刪除或修改某些條件*/。
SQL的全稱是什么
SQL全稱是“結構化查詢語言(Structured Query Language)”,最早的是IBM的圣約瑟研究實驗室為其關系數據庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。
SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應用。如今無論是像Oracle ,Sybase,Informix,SQL server這些大型的數據庫管理系統,還是像Visual Foxporo,PowerBuilder這些微機上常用的數據庫開發系統,都支持SQL語言作為查詢語言。
SQL是高級的非過程化編程語言,允許用戶在高層數據結構上工作。他不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同數據庫系統可以使用相同的SQL語言作為數據輸入與管理的接口。
它以記錄集合作為操縱對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語言可以嵌套,這使他具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程序實現的一個單獨事件只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。 SQL同時也是數據庫文件格式的擴展名。
SQL語言包含4個部分: 數據查詢語言(SELECT語句) 數據操縱語言(INSERT, UPDATE, DELETE語句) 數據定義語言(如CREATE, DROP等語句) 數據控制語言(如COMMIT, ROLLBACK等語句)。
SQL語言的特點是什么
用戶想要檢索數據庫中的數據時,就通過 SQL 語言發出請求,接著 DBMS (數據庫管理系統。譬如:SQL Server、Oracle)對該 SQL 請求進行處理并檢索所要求的數據,最后將其返回給用戶,此過程被稱作為數據庫查詢,這也就是數據庫查詢語言這一名稱的由來。
SQL 并不是象 C、COBOL 和 Fortran 語言那樣的完整的計算機語言。SQL 沒有用于條件測試的 IF 語句,也沒有用于程序分支的 Goto 語句以及循環語句 For 或 Do。確切的講,SQL 是一種數據庫子語言,SQL 語句可以被嵌入到另一種語言中,從而使其具有數據庫存取功能。SQL 也非嚴格的結構式語言,它的句法更接近英語語句,因此易于理解,大多數 SQL 語句都是直述其意,讀起來就象自然語言一樣明了。 SQL 還是一種交互式查詢語言,允許用戶直接查詢存儲數據,利用這一交互特性,用戶可以在很短的時間內回答相當復雜的問題,而同樣問題若讓程序員編寫相應的報表程序則可能要用幾個星期甚至更長時間。
數據庫是指長期儲存在計算機內的、有組織的、可共享的數據集合。
數據庫包含關系數據庫、面向對象數據庫及新興的XML數據庫等多種,目前應用最廣泛的是關系數據庫,若在關系數據庫基礎上提供部分面向對象數據庫功能的對象關系數據庫。在數據庫技術的早期還曾經流行過層次數據庫與網狀數據庫,但這兩類數據庫目前已經極少使用。
SQL語句是什么
SQL全稱是“結構化查詢語言(Structured Query Language)” SQL(Structured Query Language)是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統。
SQL同時也是數據庫腳本文件的擴展名。 SQL是高級的非過程化編程語言,允許用戶在高層數據結構上工作。
他不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同數據庫系統可以使用相同的SQL語言作為數據輸入與管理的接口。它以記錄集合作為操作對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語句可以嵌套,這使他具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程序實現的功能只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。
結構化查詢語言(Structured Query Language)最早是IBM的圣約瑟研究實驗室為其關系數據庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言得到了廣泛的應用。
如今無論是像Oracle、Sybase、Informix、SQL Server這些大型的數據庫管理系統,還是像Visual Foxporo、PowerBuilder這些PC上常用的數據庫開發系統,都支持SQL語言作為查詢語言。 美國國家標準局(ANSI)與國際標準化組織(ISO)已經制定了SQL標準。
ANSI是一個美國工業和商業集團組織,負責開發美國的商務和通訊標準。ANSI同時也是ISO和International Electrotechnical Commission(IEC)的成員之一。
ANSI 發布與國際標準組織相應的美國標準。1992年,ISO和IEC發布了SQL國際標準,稱為SQL-92。
ANSI隨之發布的相應標準是ANSI SQL-92。ANSI SQL-92有時被稱為ANSI SQL。
盡管不同的關系數據庫使用的SQL版本有一些差異,但大多數都遵循 ANSI SQL 標準。SQL Server使用ANSI SQL-92的擴展集,稱為T-SQL,其遵循ANSI制定的 SQL-92標準。
SQL語言包含4個部分: ※ 數據定義語言(DDL),例如:CREATE、DROP、ALTER等語句。 ※ 數據操作語言(DML),例如:INSERT、UPDATE、DELETE語句。
※ 數據查詢語言(DQL),例如:SELECT語句。 ※ 數據控制語言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等語句。
SQL語言包括三種主要程序設計語言類別的陳述式:數據定義語言(DDL),數據操作語言(DML)及數據控制語言(DCL)。 [編輯本段]SQL發展歷史 1970: E.J. Codd 發表了關系數據庫理論(relational database theory); 1974-79: IBM 以Codd的理論為基礎開發了“Sequel”,并重命名為"SQL"; 1979: Oracle 發布了商業版SQL 1981-84: 出現了其他商業版本,分別來自 IBM(DB2),Data General(DG/SQL),Relational Technology(INGRES); SQL/86:ANSI 跟 ISO的第一個標準; SQL/89:增加了引用完整性(referential integrity); SQL/92(aka SQL2):被數據庫管理系統(DBMS)生產商廣發接受; 1997+:成為動態網站(Dynamic web content)的后臺支持; SQL/99:Core level跟其他8種相應的level,包括遞歸查詢,程序跟流程控制,基本的對象(object)支持包括oids; SQL/2003:包含了XML相關內容,自動生成列值(column values); 2005-09-30:“Data is the next generation inside。
SQL is the new HTML”! Tim O'eilly提出了Web 2.0理念,稱數據將是核心,SQL將成為“新的 HTML"; SQL/2006:定義了SQL與XML(包含XQuery)的關聯應用; 2006:Sun公司將以SQL基礎的數據庫管理系統嵌入Java V6。