瀏覽統計 total:18049 | year:18049 | quarter:18049 | month:5956 | week:867 | today:10
第 1 頁 sql 語法參考手冊 [1]
第 2 頁 sql 語法參考手冊 [2]
第 3 頁 sql 語法參考手冊 [3]
db2 提供了關連式資料庫的查詢語言 sql (structured query language),是一種非常口語化、既易學又易懂的語法。此一語言幾乎是每個資料庫系統都必須提供的,用以表示關連式的*作,包含了資料的定義(ddl)以及資料的處理(dml)。sql原來拼成sequel,這語言的原型以「系統 r「的名字在 ibm 聖荷西實驗室完成,經過ibm內部及其他的許多使用性及效率測試,其結果相當令人滿意,並決定在系統r 的技術基礎發展出來 ibm 的產品。
而且美國國家標準學會(ansi)及國際標準化組織(iso)在1987遵循乙個幾乎是以 ibm sql 為基礎的標準關連式資料語言定義。
一、資料定義 ddl(data definition language)
資料定語言是指對資料的格式和形態下定義的語言,他是每個資料庫要建立時候時首先要面對的,舉凡資料分哪些**關係、**內的有什麼字段主鍵、**和**之間互相參考的關係等等,都是在開始的時候所必須規劃好的。
1、建**:
create table table_name(
column1 datatype [not null] [not null primary key],
column2 datatype [not null],
...)
說明:datatype --是資料的格式,詳見表。
nut null --可不可以允許資料有空的(尚未有資料填入)。
primary key --是本表的主鍵。
2、更改**
alter table table_name
add column column_name datatype
說明:增加乙個字段(沒有刪除某個欄位的語法)。
alter table table_name
add primary key (column_name)
說明:更改表得的定義把某個欄位設為主鍵。
alter table table_name
drop primary key (column_name)
說明:把主鍵的定義刪除。
3、建立索引
create index index_name on table_name (column_name)
說明:對某個**的字段建立索引以增加查詢時的速度。
4、刪除
drop table_name
drop index_name
二、的資料形態 datatypes
smallint
16 位元的整數。
interger
32 位元的整數。
decimal(p,s)
p 精確值和 s 大小的十進位整數,精確值p是指全部有幾個數(digits)大小值,s是指小數
點後有幾位數。如果沒有特別指定,則系統會設為 p=5; s=0 。
float
32位元的實數。
double
64位元的實數。
char(n)
n 長度的字串,n不能超過 254。
varchar(n)
長度不固定且其最大長度為 n 的字串,n不能超過 4000。
graphic(n)
和 char(n) 一樣,不過其單位是兩個字元 double-bytes, n不能超過127。這個形態是為
了支援兩個字元長度的字型,例如中文字。
vargraphic(n)
可變長度且其最大長度為 n 的雙字元字串,n不能超過 2000。
date
包含了年份、月份、日期。
time
包含了小時、分鐘、秒。
timestamp
包含了年、月、日、時、分、秒、千分之一秒。
組合查詢
組合查詢是指所查詢得資料**並不只有單一的**,而是聯合乙個以上的
**才能夠得到結果的。
select *
from table1,table2
where
說明:1.查詢兩個**中其中 column1 值相同的資料。
2.當然兩個**相互比較的字段,其資料形態必須相同。
3.乙個複雜的查詢其動用到的**可能會很多個。
整合性的查詢:
select count (*)
from table_name
where column_name = ***
說明:查詢符合條件的資料共有幾筆。
select sum(column1)
from table_name
說明:1.計算出總和,所選的字段必須是可數的數字形態。
2.除此以外還有 **g() 是計算平均、max()、min()計算最大最小值的整合性查詢。
select column1,**g(column2)
from table_name
group by column1
h**ing **g(column2) > ***
說明:by: 以column1 為一組計算 column2 的平均值必須和 **g、sum等整合性查詢的關鍵字
一起使用。
: 必須和 group by 一起使用作為整合性的限制。
複合性的查詢
select *
from table_name1
where exists (
select *
from table_name2
where conditions )
說明:的 conditions 可以是另外乙個的 query。
在此是指存在與否。
select *
from table_name1
where column1 in (
select column1
from table_name2
where conditions )
說明:1. in 後面接的是乙個集合,表示column1 存在集合裡面。
2. select 出來的資料形態必須符合 column1。
其他查詢
select *
from table_name1
where column1 like 』x%』
說明:like 必須和後面的』x%』 相呼應表示以 x為開頭的字串。
select *
from table_name1
where column1 in (』***』,』yyy』,..)
說明:in 後面接的是乙個集合,表示column1 存在集合裡面。
select *
from table_name1
where column1 between xx and yy
說明:between 表示 column1 的值介於 xx 和 yy 之間。
3、更改資料:
update table_name
set column1=』***』
where conditoins
說明:1.更改某個字段設定其值為』***』。
是所要符合的條件、若沒有 where 則整個 table 的那個欄位都會全部被更改。
4、刪除資料:
delete from table_name
where conditions
說明:刪除符合條件的資料。
說明:關於where條件後面如果包含有日期的比較,不同資料庫有不同的表示式。具體如下:
(1)如果是access資料庫,則為:where mydate>#2000-01-01#
(2)如果是oracle資料庫,則為:where mydate>cast(』2000-01-01』 as date)
或:where mydate>to_date(』2000-01-01』,』yyyy-mm-dd』)
在delphi中寫成:
thedate=』2000-01-01』;
* from abc where mydate>cast(』+』』』』+thedate+』』』』+』 as date)』);
如果比較日期時間型,則為:
where mydatetime>to_date(』2000-01-01 10:00:01』,』yyyy-mm-dd hh24:mi:ss』)
SQL語法參考手冊
分類 資料庫應用 通用資料庫應用 db2提供了關連式資料庫的查詢語言 structured query language 是一種非常口語化 既易學又易懂的語法。此一語言幾乎是每個資料庫系統都必須提供的,用以表示關連式的操作,包含了資料的定義 以及資料的處理 sql原來拼成sequel,這語言的原型以...
CV參考手冊
hunnish 注 本翻譯是直接根據 opencv beta 4.0 版本的使用者手冊翻譯的,原檔案是 doc ref opencvref 可以從 sourceforg 上面的 opencv 專案 也可以直接從阿須數碼中 翻譯中肯定有不少錯誤,另外也有些術語和原文語義理解不透導致翻譯不準確或者錯誤,...
APQP CP參考手冊培訓試題
部門姓名 得分一 填空題 10 3分 1 apqp cp參考手冊中文含義是產品質量先期策劃和控制 計畫 其目的是為新產品和更改產品作批量生產前 準備工作。2 apqp cp參考手冊最新版本是 1994 年 6 月發布的,是第一版。3 apqp小組應由技術 製造 材料控制 採購 質量 銷售等部門人員參...