|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时.sql语法|参考|对象|纪录集|语句 SQL语法
DB2 供应了干系式材料库的查询言语 SQL (Structured Query Language),是一种十分白话化、既易学又易懂的语法。此一言语几近是每一个材料库体系都必需供应的,用以暗示干系式的操作,包括了材料的界说(DDL)和材料的处置(DML)。SQL本来拼成SEQUEL,这言语的原型以"体系 R"的名字在 IBM 圣荷西实行室完成,经由IBM外部及其他的很多利用性及效力测试,其了局相当使人写意,并决意在体系R 的手艺基本开展出来 IBM 的产物。并且美国国度尺度学会(ANSI)及国际尺度化组织(ISO)在1987遵守一个几近是以 IBM SQL 为基本的尺度干系式材料言语界说。
1、材料界说 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
2、的材料形状 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
包括了 年、月、日、时、分、秒、千分之一秒。
3、材料操作 DML (Data Manipulation Language)
材料界说好之後接上去的就是材料的操作。材料的操作不过乎增添材料(insert)、查询材料(query)、更改材料(update) 、删除材料(delete)四种形式,以下分 别引见他们的语法:
1、增添材料:
INSERT INTO table_name (column1,column2,...)
valueS ( value1,value2, ...)
申明:
1.若没有指定column 体系则会按表格内的栏位按次填入材料。
2.栏位的材料形状和所填入的材料必需吻合。
3.table_name 也能够是景不雅 view_name。
INSERT INTO table_name (column1,column2,...)
SELECT columnx,columny,... FROM another_table
申明:也能够经由一个子查询(subquery)把其余表格的材料填入。
2、查询材料:
根基查询
SELECT column1,columns2,...
FROM table_name
申明:把table_name 的特定栏位材料全体列出来
SELECT *
FROM table_name
WHERE column1 = xxx
[AND column2 > yyy] [OR column3 <> zzz]
申明:
1.''*''暗示全体的栏位都列出来。
2.WHERE 之後是接前提式,把合适前提的材料列出来。
SELECT column1,column2
FROM table_name
ORDER BY column2 [DESC]
申明:ORDER BY 是指定以某个栏位做排序,[DESC]是指从大到小分列,若没有指明,则是从小到大
分列
组合查询
组合查询是指所查询得材料来历其实不只要单一的表格,而是结合一个以上的
表格才干够失掉了局的。
SELECT *
FROM table1,table2
WHERE table1.colum1=table2.column1
申明:
1.查询两个表格中个中 column1 值不异的材料。
2.固然两个表格互相对照的栏位,其材料形状必需不异。
3.一个庞杂的查询其动用到的表格能够会良多个。
整合性的查询:
SELECT COUNT (*)
FROM table_name
WHERE column_name = xxx
申明:
查询合适前提的材料共有几笔。
SELECT SUM(column1)
FROM table_name
申明:
1.盘算出总和,所选的栏位必需是可数的数字形状。
2.除此之外还有 AVG() 是盘算均匀、MAX()、MIN()盘算最大最小值的整合性查询。
SELECT column1,AVG(column2)
FROM table_name
GROUP BY column1
HAVING AVG(column2) > xxx
申明:
1.GROUP BY: 以column1 为一组盘算 column2 的均匀值必需和 AVG、SUM等整合性查询的关头字
一同利用。
2.HAVING : 必需和 GROUP BY 一同利用作为整合性的限制。
复合性的查询
SELECT *
FROM table_name1
WHERE EXISTS (
SELECT *
FROM table_name2
WHERE conditions )
申明:
1.WHERE 的 conditions 可所以别的一个的 query。
2.EXISTS 在此是指存在与否。
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 (''xxx'',''yyy'',..)
申明:IN 後面接的是一个纠合,暗示column1 存在纠合外面。
SELECT *
FROM table_name1
WHERE column1 BETWEEN xx AND yy
申明:BETWEEN 暗示 column1 的值介於 xx 和 yy 之间。
3、更改材料:
UPDATE table_name
SET column1=''xxx''
WHERE conditoins
申明:
1.更改某个栏位设定其值为''xxx''。
2.conditions 是所要合适的前提、若没有 WHERE 则全部 table 的谁人栏位城市全体被更改。
4、删除材料:
DELETE FROM table_name
WHERE conditions
申明:删除合适前提的材料。
申明:关于WHERE前提前面假如包括有日期的对照,分歧数据库有分歧的表达式。详细以下:
(1)假如是ACCESS数据</p> asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。 |
|