SQL是英文Structured Query Language的縮寫,意思為結構化查詢語言。SQL語言的主要功能就是同各種數據庫建立聯系,進行溝通。按照ANSI(美國國家標准協會)的規定,SQL被作為關系型數據庫管理系統的標准語言。SQL語句可以用來執行各種各樣的操作,例如更新數據庫中的數據,從數據庫中提取數據等。目前,絕大多數流行的關系型數據庫管理系統,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL語言標准。雖然很多數據庫都對SQL語句進行了再開發和擴展,但是包括Select, Insert, Update, Delete, Create, 以及Drop在內的標准的SQL命令仍然可以被用來完成幾乎所有的數據庫操作。下面,我們就來詳細介紹一下SQL語言的基本知識。
數據庫表格
一個典型的關系型數據庫通常由一個或多個被稱作表格的對象組成。數據庫中的所有數據或信息都被保存在這些數據庫表格中。數據庫中的每一個表格都具有自己唯一的表格名稱,都是由行和列組成,其中每一列包括了該列名稱,數據類型,以及列的其它屬性等信息,而行則具體包含某一列的記錄或數據。以下,是一個名為天氣的數據庫表格的實例。
城市 最高氣溫 最低氣溫 北京 10 5 上海 15 8 天津 82 重慶2013
該表格中“城市”, “最高氣溫”和“最低氣溫”就是三個不同的列,而表格中的每一行則包含了具體的表格數據。
數據查詢
在眾多的SQL命令中,select語句應該算是使用最頻繁的。Select語句主要被用來對數據庫進行查詢並返回符合用戶查詢標准的結果數據。Select語句的語法格式如下:
select column1 [, column2,etc] from tablename
[where condition];
([] 表示可選項)
select語句中位於select關鍵詞之後的列名用來決定那些列將作為查詢結果返回。用戶可以按照自己的需要選擇任意列,還可以使用通配符“*”來設定返回表格中的所有列。
select語句中位於from關鍵詞之後的表格名稱用來決定將要進行查詢操作的目標表格。
Select語句中的where可選從句用來規定哪些數據值或哪些行將被作為查詢結果返回或顯示。
在where條件從句中可以使用以下一些運算符來設定查詢標准:
= 等於
> 大於
< 小於
>= 大於等於
<= 小於等於
<> 不等於
除了上面所提到的運算符外,LIKE運算符在where條件從句中也非常重要。LIKE運算符的功能非常強大,通過使用LIKE運算符可以設定只選擇與用戶規定格式相同的記錄。此外,我們還可以使用通配符“%”用來代替任何字符串。舉例如下:
select firstname, lastname, city
from employee
where firstname LIKE ‘E%’;
(注意,字符串必須被包含在單括號內)
上述SQL語句將會查詢所有名稱以E開頭的姓名。或者,通過如下語句:
select * from employee
where firstname = ‘May’;
查詢所有名稱為May的行。
創建表格SQL語言中的create table語句被用來建立新的數據庫表格。Create table語句的使用格式如下:
create table tablename
(column1 data type,
column2 data type,
column3 data type);
如果用戶希望在建立新表格時規定列的限制條件,可以使用可選的條件選項:
create table tablename
(column1 data type [constraint],
column2 data type [constraint],
column3 data type [constraint]);
舉例如下:
create table employee
(firstname varchar(15),
lastname varchar(20),
age number(3),
address varchar(30),
city varchar(20));
簡單來說,創建新表格時,在關鍵詞create table後面加入所要建立的表格的名稱,然後在括號內順次設定各列的名稱,數據類型,以及可選的限制條件等。注意,所有的SQL語句在結尾處都要使用“;”符號。
使用SQL語句創建的數據庫表格和表格中列的名稱必須以字母開頭,後面可以使用字母,數字或下劃線,名稱的長度不能超過30個字符。注意,用戶在選擇表格名稱時不要使用SQL語言中的保留關鍵詞,如select, create, insert等,作為表格或列的名稱。