① sql語言是一個什麼語言
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統,可以使用相同的結構化查詢語言作為數據輸入與管理的介面。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。
(1)sql系列什麼意思擴展閱讀:
sql語言的特點
1、綜合統一
SQL語言集數據定義語言DDL、數據操縱語言DML、數據控制語言DCL的功能於一體,語言風格統一,可以獨立完成資料庫生命周期中的全部活動,包括定義關系模式、錄入數據以建立資料庫、查詢、更新、維護、資料庫重構、資料庫安全性控制等一系列操作要求,這就為資料庫應用系統開發提供了良好的環境,例如用戶在資料庫投入運行後,還可根據需要隨時地逐步地修改模式,並不影響資料庫的運行,從而使系統具有良好的可擴充性。
2、高度非過程化
非關系數據模型的數據操縱語言是面向過程的語言,用其完成某項請求,必須指定存取路徑。而用SQL語言進行數據操作,用戶只需提出「做什麼」,而不必指明「怎麼做」,因此用戶無需了解存取路徑,存取路徑的選擇以及SQL語句的操作過程由系統自動完成。這不但大大減輕了用戶負擔,而且有利於提高數據獨立性。
3、面向集合的操作方式
SQL語言採用集合操作方式,不僅查找結果可以是元組的集合,而且一次插入、刪除、更新操作的對象也可以是元組的集合。
非關系數據模型採用的是面向記錄的操作方式,任何一個操作其對象都是一條記錄。例如查詢所有平均成績在80分以上的學生姓名,用戶必須說明完成該請求的具體處理過程,即如何用循環結構按照某條路徑一條一條地把滿足條件的學生記錄讀出來。
4、以同一種語法結構提供兩種使用方式
SQL語言既是自含式語言,又是嵌入式語言。
作為自含式語言,它能夠獨立地用於聯機交互的使用方式,用戶可以在終端鍵盤上直接鍵入SQL命令對資料庫進行操作。作為嵌入式語言,SQL語句能夠嵌入到高級語言(例如C、PB)程序中,供程序員設計程序時使用。而在兩種不同的使用方式下,SQL語言的語法結構基本上是一致的。這種以統一的語法結構提供兩種不同的使用方式的作法,為用戶提供了極大的靈活性與方便性。
② SQL語句是什麼意思
以下摘自網路 SQL基本語句 來自:SQL編程技巧
掌握SQL四條最基本的數據操作語句:Insert,Select,Update和Delete。
練掌握SQL是資料庫用戶的寶貴財 富。在本文中,我們將引導你掌握四條最基本的數據操作語句—SQL的核心功能—來依次介紹比較操作符、選擇斷言以及三值邏輯。當你完成這些學習後,顯然你已經開始算是精通SQL了。
在我們開始之前,先使用CREATE TABLE語句來創建一個表(如圖1所示)。DDL語句對資料庫對象如表、列和視進行定義。它們並不對表中的行進行處理,這是因為DDL語句並不處理資料庫中實際的數據。這些工作由另一類SQL語句—數據操作語言(DML)語句進行處理。
SQL中有四種基本的DML操作:INSERT,SELECT,UPDATE和DELETE。由於這是大多數SQL用戶經常用到的,我們有必要在此對它們進行一一說明。在圖1中我們給出了一個名為EMPLOYEES的表。其中的每一行對應一個特定的雇員記錄。請熟悉這張表,我們在後面的例子中將要用到它。
INSERT語句
用戶可以用INSERT語句將一行記錄插入到指定的一個表中。例如,要將雇員John Smith的記錄插入到本例的表中,可以使用如下語句:
INSERT INTO EMPLOYEES VALUES
('Smith','John','1980-06-10',
'Los Angles',16,45000);
通過這樣的INSERT語句,系統將試著將這些值填入到相應的列中。這些列按照我們創建表時定義的順序排列。在本例中,第一個值「Smith」將填到第一個列LAST_NAME中;第二個值「John」將填到第二列FIRST_NAME中……以此類推。
我們說過系統會「試著」將值填入,除了執行規則之外它還要進行類型檢查。如果類型不符(如將一個字元串填入到類型為數字的列中),系統將拒絕這一次操作並返回一個錯誤信息。
如果SQL拒絕了你所填入的一列值,語句中其他各列的值也不會填入。這是因為SQL提供對事務的支持。一次事務將資料庫從一種一致性轉移到另一種一致性。如果事務的某一部分失敗,則整個事務都會失敗,系統將會被恢復(或稱之為回退)到此事務之前的狀態。
回到原來的INSERT的例子,請注意所有的整形十進制數都不需要用單引號引起來,而字元串和日期類型的值都要用單引號來區別。為了增加可讀性而在數字間插入逗號將會引起錯誤。記住,在SQL中逗號是元素的分隔符。
同樣要注意輸入文字值時要使用單引號。雙引號用來封裝限界標識符。
對於日期類型,我們必須使用SQL標准日期格式(yyyy-mm-dd),但是在系統中可以進行定義,以接受其他的格式。當然,2000年臨近,請你最好還是使用四位來表示年份。
既然你已經理解了INSERT語句是怎樣工作的了,讓我們轉到EMPLOYEES表中的其他部分:
INSERT INTO EMPLOYEES VALUES
('Bunyan','Paul','1970-07-04',
'Boston',12,70000);
INSERT INTO EMPLOYEES VALUES
('John','Adams','1992-01-21',
'Boston',20,100000);
INSERT INTO EMPLOYEES VALUES
('Smith','Pocahontas','1976-04-06',
'Los Angles',12,100000);
INSERT INTO EMPLOYEES VALUES
('Smith','Bessie','1940-05-02',
'Boston',5,200000);
INSERT INTO EMPLOYEES VALUES
('Jones','Davy','1970-10-10',
'Boston',8,45000);
INSERT INTO EMPLOYEES VALUES
('Jones','Indiana','1992-02-01',
'Chicago',NULL,NULL);
在最後一項中,我們不知道Jones先生的工薪級別和年薪,所以我們輸入NULL(不要引號)。NULL是SQL中的一種特殊情況,我們以後將進行詳細的討論。現在我們只需認為NULL表示一種未知的值。
有時,像我們剛才所討論的情況,我們可能希望對某一些而不是全部的列進行賦值。除了對要省略的列輸入NULL外,還可以採用另外一種INSERT語句,如下:
INSERT INTO EMPLOYEES(
FIRST_NAME, LAST_NAME,
HIRE_DATE, BRANCH_OFFICE)
VALUE(
'Indiana','Jones',
'1992-02-01','Indianapolis');
這樣,我們先在表名之後列出一系列列名。未列出的列中將自動填入預設值,如果沒有設置預設值則填入NULL。請注意我們改變了列的順序,而值的順序要對應新的列的順序。如果該語句中省略了FIRST_NAME和LAST_NAME項(這兩項規定不能為空),SQL操作將失敗。
讓我們來看一看上述INSERT語句的語法圖:
INSERT INTO table
[(column { ,column})]
VALUES
(columnvalue [{,columnvalue}]);
和前一篇文章中一樣,我們用方括弧來表示可選項,大括弧表示可以重復任意次數的項(不能在實際的SQL語句中使用這些特殊字元)。VALUE子句和可選的列名列表中必須使用圓括弧。
SELECT語句
SELECT語句可以從一個或多個表中選取特定的行和列。因為查詢和檢索數據是資料庫管理中最重要的功能,所以SELECT語句在SQL中是工作量最大的部分。實際上,僅僅是訪問資料庫來分析數據並生成報表的人可以對其他SQL語句一竅不通。
SELECT語句的結果通常是生成另外一個表。在執行過程中系統根據用戶的標准從資料庫中選出匹配的行和列,並將結果放到臨時的表中。在直接SQL(direct SQL)中,它將結果顯示在終端的顯示屏上,或者將結果送到列印機或文件中。也可以結合其他SQL語句來將結果放到一個已知名稱的表中。
SELECT語句功能強大。雖然表面上看來它只用來完成本文第一部分中提到的關系代數運算「選擇」(或稱「限制」),但實際上它也可以完成其他兩種關系運算—「投影」和「連接」,SELECT語句還可以完成聚合計算並對數據進行排序。
SELECT語句最簡單的語法如下:
SELECT columns FROM tables;
當我們以這種形式執行一條SELECT語句時,系統返回由所選擇的列以及用戶選擇的表中所有指定的行組成的一個結果表。這就是實現關系投影運算的一個形式。
讓我們看一下使用圖1中EMPLOYEES表的一些例子(這個表是我們以後所有SELECT語句實例都要使用的。而我們在圖2和圖3中給出了查詢的實際結果。我們將在其他的例子中使用這些結果)。
假設你想查看雇員工作部門的列表。那下面就是你所需要編寫的SQL查詢:
SELECT BRANCH_OFFICE FROM EMPLOYEES;
以上SELECT語句的執行將產生如圖2中表2所示的結果。
由於我們在SELECT語句中只指定了一個列,所以我們的結果表中也只有一個列。注意結果表中具有重復的行,這是因為有多個雇員在同一部門工作(記住SQL從所選的所有行中將值返回)。要消除結果中的重復行,只要在SELECT語句中加上DISTINCT子句:
SELECT DISTINCT BRANCH_OFFICE
FROM EMPLOYEES;
這次查詢的結果如表3所示。
現在已經消除了重復的行,但結果並不是按照順序排列的。如果你希望以字母表順序將結果列出又該怎麼做呢?只要使用ORDER BY子句就可以按照升序或降序來排列結果:
SELECT DISTINCT BRANCH_OFFICE
FROM EMPLOYEES
ORDER BY BRANCH_OFFICE ASC;
這一查詢的結果如表4所示。請注意在ORDER BY之後是如何放置列名BRANCH _OFFICE的,這就是我們想要對其進行排序的列。為什麼即使是結果表中只有一個列時我們也必須指出列名呢?這是因為我們還能夠按照表中其他列進行排序,即使它們並不顯示出來。列名BRANCH_ OFFICE之後的關鍵字ASC表示按照升序排列。如果你希望以降序排列,那麼可以用關鍵字DESC。
同樣我們應該指出ORDER BY子句只將臨時表中的結果進行排序;並不影響原來的表。
假設我們希望得到按部門排序並從工資最高的雇員到工資最低的雇員排列的列表。除了工資括弧中的內容,我們還希望看到按照聘用時間從最近聘用的雇員開始列出的列表。以下是你將要用到的語句:
SELECT BRANCH_OFFICE,FIRST_NAME,
LAST_NAME,SALARY,HIRE_DATE
FROM EMPLOYEES
ORDER BY SALARY DESC,
HIRE_DATE DESC;
這里我們進行了多列的選擇和排序。排序的優先順序由語句中的列名順序所決定。SQL將先對列出的第一個列進行排序。如果在第一個列中出現了重復的行時,這些行將被按照第二列進行排序,如果在第二列中又出現了重復的行時,這些行又將被按照第三列進行排序……如此類推。這次查詢的結果如表5所示。
將一個很長的表中的所有列名寫出來是一件相當麻煩的事,所以SQL允許在選擇表中所有的列時使用*號:
SELECT * FROM EMPLOYEES;
這次查詢返回整個EMPLOYEES表,如表1所示。
下面我們對開始時給出的SELECT語句的語法進行一下更新(豎直線表示一個可選項,允許在其中選擇一項。):
SELECT [DISTINCT]
(column [{, columns}])| *
FROM table [ {, table}]
[ORDER BY column [ASC] | DESC
[ {, column [ASC] | DESC }]];
定義選擇標准
在我們目前所介紹的SELECT語句中,我們對結果表中的列作出了選擇但返回的是表中所有的行。讓我們看一下如何對SELECT語句進行限制使得它只返回希望得到的行:
SELECT columns FROM tables [WHERE predicates];
WHERE子句對條件進行了設置,只有滿足條件的行才被包括到結果表中。這些條件由斷言(predicate)進行指定(斷言指出了關於某件事情的一種可能的事實)。如果該斷言對於某個給定的行成立,該行將被包括到結果表中,否則該行被忽略。在SQL語句中斷言通常通過比較來表示。例如,假如你需要查詢所有姓為Jones的職員,則可以使用以下SELECT語句:
SELECT * FROM EMPLOYEES
WHERE LAST_NAME = 'Jones';
LAST_NAME = 'Jones'部分就是斷言。在執行該語句時,SQL將每一行的LAST_NAME列與「Jones」進行比較。如果某一職員的姓為「Jones」,即斷言成立,該職員的信息將被包括到結果表中(見表6)。
使用最多的六種比較
我們上例中的斷言包括一種基於「等值」的比較(LAST_NAME = 'Jones'),但是SQL斷言還可以包含其他幾種類型的比較。其中最常用的為:
等於 =
不等於 <>
小於 <
大於 >
小於或等於 <=
大於或等於 >=
下面給出了不是基於等值比較的一個例子:
SELECT * FROM EMPLOYEES
WHERE SALARY > 50000;
這一查詢將返回年薪高於$50,000.00的職員(參見表7)。
邏輯連接符
有時我們需要定義一條不止一種斷言的SELECT語句。舉例來說,如果你僅僅想查看Davy Jones的信息的話,表6中的結果將是不正確的。為了進一步定義一個WHERE子句,用戶可以使用邏輯連接符AND,OR和NOT。為了只得到職員Davy Jones的記錄,用戶可以輸入如下語句:
SELECT * FROM EMPLOYEES
WHERE LAST_NAME = 'Jones' AND FIRST_NAME = 'Davy';
在本例中,我們通過邏輯連接符AND將兩個斷言連接起來。只有兩個斷言都滿足時整個表達式才會滿足。如果用戶需要定義一個SELECT語句來使得當其中任何一項成立就滿足條件時,可以使用OR連接符:
SELECT * FROM EMPLOYEES
WHERE LAST_NAME = 'Jones' OR LAST_NAME = 'Smith';
有時定義一個斷言的最好方法是通過相反的描述來說明。如果你想要查看除了Boston辦事處的職員以外的其他所有職員的信息時,你可以進行如下的查詢:
SELECT * FROM EMPLOYEES
WHERE NOT(BRANCH_OFFICE = 'Boston');
關鍵字NOT後面跟著用圓括弧括起來的比較表達式。其結果是對結果取否定。如果某一職員所在部門的辦事處在Boston,括弧內的表達式返回true,但是NOT操作符將該值取反,所以該行將不被選中。
斷言可以與其他的斷言嵌套使用。為了保證它們以正確的順序進行求值,可以用括弧將它們括起來:
SELECT * FROM EMPLOYEES
WHERE (LAST_NAME = 'Jones'
AND FIRST_NAME = 'Indiana')
OR (LAST_NAME = 'Smith'
AND FIRST_NAME = 'Bessie');
SQL沿用數學上標準的表達式求值的約定—圓括弧內的表達式將最先進行求值,其他表達式將從左到右進行求值。
以上對邏輯連接符進行了說明,在對下面的內容進行說明之前,我們再一次對SELECT語句的語法進行更新:
SELECT [DISTINCT]
(column [{, column } ] )| *
FROM table [ { , table} ]
[ORDER BY column [ASC] | [DESC
[{ , column [ASC] | [DESC } ] ]
WHERE predicate [ { logical-connector predicate } ];
NULL和三值邏輯
在SQL中NULL是一個復雜的話題,關於NULL的詳細描述更適合於在SQL的高級教程而不是現在的入門教程中進行介紹。但由於NULL需要進行特殊處理,並且你也很可能會遇到它,所以我們還是簡略地進行一下說明。
首先,在斷言中進行NULL判斷時需要特殊的語法。例如,如果用戶需要顯示所有年薪未知的職員的全部信息,用戶可以使用如下SELECT語句:
SELECT * FROM EMPLOYEES
WHERE SALARY IS NULL;
相反,如果用戶需要所有已知年薪數據的職員的信息,你可以使用以下語句:
SELECT * FROM EMPLOYEES
WHERE SALARY IS NOT NULL;
請注意我們在列名之後使用了關鍵字IS NULL或IS NOT NULL,而不是標準的比較形式:COLUMN = NULL、COLUMN <> NULL或是邏輯操作符NOT(NULL)。
這種形式相當簡單。但當你不明確地測試NULL(而它們確實存在)時,事情會變得很混亂。
例如,回過頭來看我們圖1中的EM-PLOYEES表,可以看到Indiana Jones的工薪等級或年薪值都是未知的。這兩個列都包含NULL。可以想像運行如下的查詢:
SELECT * FROM EMPLOYEES
WHERE GRADE <= SALARY;
此時,Indiana Jones應該出現在結果表中。因為NULL都是相等的,所以可以想像它們是能夠通過GRADE小於等於SALARY的檢查的。這其實是一個毫無疑義的查詢,但是並沒有關系。SQL允許進行這樣的比較,只要兩個列都是數字類型的。然而,Indiana Jones並沒有出現在查詢的結果中,為什麼?
正如我們早先提到過的,NULL表示未知的值(而不是象某些人所想像的那樣表示一個為NULL的值)。對於SQL來說意味著這個值是未知的,而只要這個值為未知,就不能將其與其他值比較(即使其他值也是NULL)。所以SQL允許除了在true 和false之外還有第三種類型的真值,稱之為「非確定」(unknown)值。
如果比較的兩邊都是NULL,整個斷言就被認為是非確定的。將一個非確定斷言取反或使用AND或OR與其他斷言進行合並之後,其結果仍是非確定的。由於結果表中只包括斷言值為「真」的行,所以NULL不可能滿足該檢查。從而需要使用特殊的操作符IS NULL和IS NOT NULL。
UPDATE語句
UPDATE語句允許用戶在已知的表中對現有的行進行修改。
例如,我們剛剛發現Indiana Jones的等級為16,工資為$40,000.00,我們可以通過下面的SQL語句對資料庫進行更新(並清除那些煩人的NULL)。
UPDATE EMPLOYEES
SET GRADE = 16, SALARY = 40000
WHERE FIRST_NAME = 'Indiana'
AND LAST_NAME = 'Jones';
上面的例子說明了一個單行更新,但是UPDATE語句可以對多行進行操作。滿足WHERE條件的所有行都將被更新。如果,你想讓Boston辦事處中的所有職員搬到New York,你可以使用如下語句:
UPDATE EMPLOYEES
SET BRANCH_OFFICE = 'New York'
WHERE BRANCH_OFFICE = 'Boston';
如果忽略WHERE子句,表中所有行中的部門值都將被更新為'New York'。
UPDATE語句的語法流圖如下面所示:
UPDATE table
SET column = value [{, column = value}]
[ WHERE predicate [ { logical-connector predicate}]];
DELETE語句
DELETE語句用來刪除已知表中的行。如同UPDATE語句中一樣,所有滿足WHERE子句中條件的行都將被刪除。由於SQL中沒有UNDO語句或是「你確認刪除嗎?」之類的警告,在執行這條語句時千萬要小心。如果決定取消Los Angeles辦事處並解僱辦事處的所有職員,這一卑鄙的工作可以由以下這條語句來實現:
DELETE FROM EMPLOYEES
WHERE BRANCH_OFFICE = 'Los Angeles';
如同UPDATE語句中一樣,省略WHERE子句將使得操作施加到表中所有的行。
DELETE語句的語法流圖如下面所示:
DELETE FROM table
[WHERE predicate [ { logical-connector predicate} ] ];
現在我們完成了數據操作語言(DML)的主要語句的介紹。我們並沒有對SQL能完成的所有功能進行說明。SQL還提供了許多的功能,如求平均值、求和以及其他對表中數據的計算,此外SQL還能完成從多個表中進行查詢(多表查詢,或稱之為連接)的工作。這種語言還允許你使用GRANT和REVOKE命令控制使用者的數據訪問許可權。
③ SQL資料庫是什麼
SQL是Structured Query Language(結構化查詢語言)的縮寫。SQL是專為資料庫而建立的操作命令集,是一種功能齊全的資料庫語言。在使用它時,只需要發出「做什麼」的命令,「怎麼做」是不用使用者考慮的。
SQL資料庫的數據體系結構基本上是三級結構,但使用術語與傳統關系模型術語不同。在SQL中,關系模式(模式)稱為"基本表"(base table);存儲模式(內模式)稱為"存儲文件"(stored file);子模式(外模式)稱為"視圖"(view);元組稱為"行"(row);屬性稱為"列"(column)。
(3)sql系列什麼意思擴展閱讀:
SQL資料庫的優點:
1、易用性高:
適合分布式組織的可伸縮性、用於決策支持的數據倉庫功能、與許多其他伺服器軟體緊密關聯的集成性、良好的性價比等。
2.為數據管理與分析帶來了靈活性:
允許單位在快速變化的環境中從容響應,從而獲得競爭優勢。從數據管理和分析角度看,將原始數據轉化為商業智能和充分利用Web帶來的機會非常重要。作為一個完備的資料庫和數據分析包,SQLServer為快速開發新一代企業級商業應用程序、為企業贏得核心競爭優勢打開了勝利之門。
④ SQL的四個組成部分,到底是怎麼分的
(1)數據定義語言,即SQL DDL,用於定義SQL模式、基本表、視圖、索引等結構。
(2)數據操縱語言,即SQL DML。數據操縱分成數據查詢和數據更新兩類。
(3)數據查詢語言,即SQL DQL。
(4)數據控制語言,即SQL DCL,這一部分包括對基本表和視圖的授權、完整性規則的描述、事務控制等內容。
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統, 可以使用相同的結構化查詢語言作為數據輸入與管理的介面。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。
(4)sql系列什麼意思擴展閱讀:
SQL可以獨立完成資料庫生命周期中的全部活動,包括定義關系模式、錄入數據、建立資料庫、査詢、更新、維護、資料庫重構、資料庫安全性控制等一系列操作,這就為資料庫應用系統開發提供了良好的環境,在資料庫投入運行後,還可根據需要隨時逐步修改模式,且不影響資料庫的運行,從而使系統具有良好的可擴充性。
⑤ 學習SQL有什麼用,具體用於什麼方面
SQL用於存儲數據,做一些管理系統,網站什麼的,都會使用sqlserver來存儲數據,SQL的作用:
SQL主要用於資料庫系列的軟體的查詢、匯總、寫入、刪改等方面的操控,具體應用於資料庫編程或資料庫數據的維護。
也就是說SQL一般用於資料庫編程,以及現有資料庫錯誤排查。所以一般涉及資料庫的編程人員或電腦信息化系統維護人員需要對SQL(也就是對資料庫)知識進行學習。
(5)sql系列什麼意思擴展閱讀:
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統, 可以使用相同的結構化查詢語言作為數據輸入與管理的介面。
結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。
⑥ sql2000是什麼
資料庫 對於有需要的人有用 一般人別裝 耗費系統資源
如果用推薦SQLSERVER2005吧 最新版是2008
⑦ SQL資料庫是什麼東西想認識一下
SQL全稱:Structured Query Language(結構化查詢語言)是現階段最流行的資料庫管理系統語言,用起來比較方便,而且人性化,管理起來也很容易,它的存儲方式是將數據以文件形式存放在硬碟(內模式),管理員通過對文件對應的表格系統(模式)進行管理,而用戶則可以通過查詢表格的映射——視圖(外模式)來進行增刪改操作,一目瞭然,不同的用戶具有不同的許可權,可以查看不同受限層次的內容,安全性高
典型代表有:甲骨文的Oracle系列,IBM的DB2,微軟的MS SQL Server系列,Sybase公司的Sybase系統,中國人民大學的人大金倉,網上流行的免費資料庫My SQL,以及微軟OFFICE ACCESS,FOX PRO等小型資料庫,你可以搜一下相關的資料
⑧ SQL的主要用途是什麼
SQL(結構化查詢語言)用於存取數據以及查詢、更新和管理關系資料庫系統。
SQL基於關系代數和元組關系演算,包括一個數據定義語言和數據操縱語言。SQL的范圍包括數據插入、查詢、更新和刪除,資料庫模式創建和修改,以及數據訪問控制。盡管很大程度上是一種聲明式編程(4GL),但是其也含有過程式編程的元素。
SQL是對埃德加·科德的關系模型的第一個商業化語言實現,這一模型在其1970年的一篇具有影響力的論文《一個對於大型共享型資料庫的關系模型》中被描述。
盡管SQL並非完全按照科德的關系模型設計,但其依然成為最為廣泛運用的資料庫語言。SQL在1986年成為美國國家標准學會(ANSI)的一項標准,在1987年成為國際標准化組織(ISO)標准。此後,這一標准經過了一系列的增訂,加入了大量新特性。
(8)sql系列什麼意思擴展閱讀:
SQL是高級的非過程化編程語言,它允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解其具體的數據存放方式。而它的界面,能使具有底層結構完全不同的資料庫系統和不同資料庫之間,使用相同的SQL作為數據的輸入與管理。
它以記錄項目〔records〕的合集(set)〔項集,record set〕作為操縱對象,所有SQL語句接受項集作為輸入,回提交的項集作為輸出,這種項集特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語句可以嵌套,這使它擁有極大的靈活性和強大的功能。
在多數情況下,在其他編程語言中需要用一大段程序才可實踐的一個單獨事件,而其在SQL上只需要一個語句就可以被表達出來。這也意味著用SQL可以寫出非常復雜的語句,在不特別考慮性能下。
⑨ 什麼是SQL語言和DOS命令
SQL語言,是資料庫的語言,例如
MSSQL,MYSQL等。常見的有
select,insert,deleted,update
命令。
DOS命令是微軟的以前的操作系統的命令,例如cd
mkdir
edit
等等,DOS已經被現在的windows
系列的操作系統取代。
⑩ SQL資料庫是什麼 主要干什麼用的
SQL資料庫之QQ農場版
人物:菜鳥, 收垃圾的, 數據機器
菜鳥: 吃菜的鳥,簡稱菜鳥
數據機器: 指的SQL Server 2008(微軟體最新推出的資料庫,數據大小支持100TB(我的家庭住址:http://www.microsoft.com/china/sql/2008/)
計算機基礎單位換算:
一道「月亮之上」mp3文件大小為5MB左右
1GB=1024MB 1TB=1024G
資料庫 Database,簡稱DB,是一種總稱,有幾種資料庫產品:
大型:Oracle(甲骨文),DB2(IBM) 這種軟體用於電信,工業。
中型:SQL Server 2000, SQL Server2005, SQL Server 2008(都是微軟)
小型:ACCESS, foxpro, vf
這樣的,你電腦上的文件也比較多吧,你要什麼資料的時候,想一下,如何做的!!!!!!!!!!!!!
是不是一個文件夾包一個文件夾的,我們要一個一個的解開,,特是煩,時間浪費了,而且我要說的,很多人,放文件是東一個西一個,不好找,文件不能充分利用。
用過系統里的搜索沒有,你只要說文件名或文件內容,他會乖乖從硬碟里給找出來,這就是資料庫的原形,但找到這個文件可能要1分,或者更長時間。
我們能不能把搜索的時間從5分鍾變為100ms(毫秒)了。
提示: 1000ms = 1s秒)
一個大街走過來的人: 可以,現在的百毒不是這樣嗎,輸一個詞 「艷照門」颼的一個就出來了。
菜鳥: 對,這就是資料庫的應用,速度快,想一下你是怎麼存文件的吧,每次關程序的時候,要你這里選那裡選存放地方,煩,用了這么久,還不知道要存什麼地方。
收垃圾的:資料庫有什麼秘密了。
菜鳥:說你菜,你還不相信,是這樣的,好比一個100米的菜地,今天你要吃面,為了味道好吃一點,需要菜葉做為調料,好,這個菜地里這樣的,每過十米一種菜:
1. 靚菜 2. 白菜 3.油菜 4.太空大白菜 5.茄子白菜
6. 白火食菜 7.紫菜 8.花菜 9.捲心菜 10.不鳥不菜
你這個人對生活要求不高,但求生活多資多彩的,下個面,要10種菜都來一點,走來走去,總算花了5分鍾才摘完菜。
而我們如果把每十米都種十種菜,每塊區域都一樣,就算這種多資多彩的人可能20秒也完成了。
收垃圾的:OH,YES(人跳了大約0.00123毫米),是這樣的,把東西集中一齊,速度自然提高了,同時也可以一下知道我種那些菜。
菜鳥:對,這就是資料庫的好處,速度快,不關心文件具體存放地,(OH,YEAR)我不要保存對話框了。給它一個數據,它就會返回相應的結果,再想一想我們windows裡面的搜索
觀眾:老大「windows搜索」老頭已是春天的故事了
數據機器: It's my world(歌詞),媽呀,終於我可以演講演講了,你們說的也很不錯,真正操作起來還有很多工作要作,如何放,如何取。你們懂啥哦!
我們的Excel其實就是一個簡單的資料庫,它縱橫交錯的在一個表格里存放著數據,不可亂存,這是保證我們快速存儲與搜索的基石。
收垃圾的:不聽你們說了,菜鳥的說的100米的菜園,我看我沒有這么多時間去種,還是去QQ農場種些,我感覺,那速度,更快,更直觀(觀眾已扔鞋,apple,banana,orange),,DIDI(聲音),不好,我的BP機通知我的QQ農場1號靚菜被隔壁大媽偷了一個,不對呀!我養了狗的了,(觀眾:這叫臨死也要偷,誰叫你種名字多要吸引的靚菜了,而且還掛了一個標簽:太空一號靚菜).哎(聲音)昨天揀垃圾,忘了給狗一份,這狗狗,這里長時間,一次不給吃,我就下了菜,不說了,,我要火箭速度去抓住偷,這是歷史第一次。
原創自:http://hi..com/ohxs
作者:小魚
結語: 資料庫是種把數據按一定格式有序存儲,能快速,准確返回數據
建議: 初學者學習先學習 Access,office系列的,比較快的就可以上手,界面和word,excel一樣,之後學習sql server,和mysql(免費),論壇用的比較多(PHPWind論壇,喬客)