建立表
create table 订单明细(订单明细ID counter,订单ID integer
default 1,商品ID integer default 1,单价 money default 1,
数量 integer default 1,商品编码 string default 1,售价
money default 1,订购日期 date,公司 string default 1,
分店 string default 1)
注意:自增字端用counter类型
删除表
drop table 订单明细
数据转移
insert into 商品临时(商品ID,商品名称,单位,商品条码,
供货商ID) select 商品ID,商品名称,单位,商品条码,供货
商ID from 商品
内容来自dedecms
增加字段
alter table 订单明细 add 备注 string default 1 copyright dedecms
删除字段
alter table 订单明细 drop 备注 内容来自dedecms
修改字段
alter table 订单明细 modify 备注 新备注 string(100)...
织梦好,好织梦
在Tab1的Date列上建立可重复索引
Create Index iDate ON Tab1 ([Date]) 本文来自织梦
在Tab1的Name列上建立不可重复索引
Create Unique Index iName ON Tab1 (Name) dedecms.com
删除索引
Drop Index iDate ON Tab1
访问多个不同的ACCESS数据库-在SQL中使用In子句
Select a.*,b.* From Tab1 a,Tab2 b In 'db2.mdb'
Where a.ID=b.ID;
上面的SQL语句查询出当前数据库中Tab1和db2.mdb
(当前文件夹中)中Tab2以ID为关联的所有记录.
缺点-外部数据库不能带密码. dedecms.com
ACCESS中的日期查询
注意:ACCESS中的日期时间分隔符是#而不是引号
Select * From Tab1 Where [Date]>#2002-1-1#
dedecms.com
ACCESS中的字符串可以用双引号分隔,但SQLSERVER
不认,所以为了迁移方便和兼容,
建议用单引号作为字符串分隔符.
本文来自织梦
=======================================================
选择不重复的数据用DIST
SELECT DISTINCT PRICE FROM TABLE 织梦内容管理系统
对字段进行计算后形成新字段
SELECT PRICE,(PRICE+15)NEWPRICE FROM TABLE
或
SELECT PRICE,PRICE+15 NEWPRICE FROM TABLE
也可以对其中两个字段进行计算形成新了段 内容来自dedecms
LIKE的格式有
表示含:SELECT name FROM users WHERE name LIKE '%yang%'
表示不含:SELECT name FROM users WHERE name NOT LIKE '%yang%'
表示以yang开头:SELECT name FROM users WHERE name LIKE 'yang%'
表示匹配其它字符:SELECT name FROM users WHERE name LIKE 'ya_'
组合:SELECT name FROM users WHERE name LIKE '_ya%' 织梦好,好织梦
把两个字符串类型的字段合在一起(同CONCAT)
SELECT fname || lname name FROM users
中间也可以插入符号:SELECT fname || ',' || lname name FROM users
内容来自dedecms
UNION(联合)
SELECT * FROM user1 UNION SELECT * FROM user2
//合并两个选择结果,去重复部分
SELECT * FROM user1 UNION ALL SELECT * FROM user2
//合并两个选择结果,不去重复部分
INTERSECT(相交)
SELECT * FROM user1 INTERSECT SELECT * FROM user2
//得到两种选择结果共同的部分
MINUS(相减)
SELECT * FROM user1 MINUS SELECT * FROM user2 内容来自dedecms
IN
SELECT * FROM user WHERE username IN('yang','lin','chen')
//得到用户名中含有yang或lin或chen的用户
BETWEEN
SELECT * FROM PRICETABLE WHERE price BETWEEN 10 AND 30
//得到价格在10和30之间的产品
===============================================
COUNT() 得到记录个数
SUM() 汇总数
AVG() 平均数
MAX() 最大数
MIN() 最小数
ADD_MONTHS() 增加一个月 例: SELECT * FROM date
WHERE ADD_MONTHS(bdate) < ldate
LAST_DAY() 返回月份的最后一天 SELECT LAST_DAY(ndate) FROM user
MONTHS_BETWEEN(udate,ndate) 返回两个月之间有多少个月
NEXT_DAY() 返回指定日期所在星期 星期几的日期
SYSDATE() 返回系统日期和时间 copyright dedecms
ABS()绝对值
MOD(A,B) 余数
CHR() 返回字符 如:CHR(27)
CONCAT() 连接两个字符串字段
LTRIM()
RTRIM()
REPLACE()
LPAD()
RPAD()
LOWER()
UPPER()
SUBSRT()
TRANSLATE()
INSTR()
LENGTH()
TO_CHAT()
TO_NUMBER() copyright dedecms
GREATEST()
LEAST()
USER()
===============================================
对一个表中某个字段为数字需要在另一个表中得到具体内容
的操作,以下例子是涉及到四个表的操作方法。
SELECT *
FROM (((Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort)
INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel)
INNER JOIN MemberIdentity ON Member.MemberIdentity=MemberIdentity.MemberIdentity)
INNER JOIN Wedlock ON Member.Wedlock=Wedlock.Wedlock
ORDER BY MemberDate DESC
本文来自织梦
=============================================== 织梦内容管理系统
===============================================
copyright dedecms
===============================================
copyright dedecms
=============================================== copyright dedecms
===============================================
内容来自dedecms
=============================================== copyright dedecms
蛙蛙推荐:整理了一些SQL数据库技巧,贴一下
一.怎样删除一个表中某个字段重复的列呀,举个例子
表[table1]
id name
1 aa
2 bb
3 cc
1 aa
2 bb
3 cc
我想最后的表是这样的
id name
1 aa
2 bb
3 cc
回答:
将记录存到临时表#t中,重复的记录只存一条,然后将临时表#t
中的记录再存回原表中,注意“select distinct id,class,name”
要包含你需要的所有字段,否则有些字段就被删掉了。
在查询管理器里执行下面代码:
-----------------------------
SELECT DISTINCT id,, name
INTO #t
FROM table1 DELETE table1
INSERT
INTO table1
SELECT *
FROM #t
------------------------------
二.找出既会VB又会PHP的人
表是这样的:
ID 员工 技能
1 1 VB
2 1 PHP
3 1 ASP
4 2 PHP
5 3 ASP
6 4 VB
7 4 ASP
要从这张表中找出既会VB又会PHP的人,SQL该怎么写啊?
回答:
-------------------------------------------------------- 本文来自织梦
-------------------------------------
SELECT 员工 FROM [Table] WHERE 员工 IN(SELECT 员工 FROM
[Table] WHERE 技能='VB' ) AND 技能='PHP'
-------------------------------------------------------
---------------------------------------
三.数据库合并问题
access里的两个表,想让两个表的内容合并
本文来自织梦
表[a]结构如下:
[id] 编号 自动编号
[name] 名称 文本
[price] 价格 数字
[guige] 规格 文本
[changjia] 生产厂家 文本
[baozhuang] 包装 文本
[danwei] 单位 文本
共有900条记录,除了id和name字段,其他均可以为空
dedecms.com
表[b]结构如下:
[id] 编号 自动编号
[name] 名称 文本
[price] 价格 数字
[changjia] 生产厂家 文本
[danwei] 单位 文本
[xingzhi] 性质 文本
共有800条记录,除了id和name字段,比表[a]少几个字段,但还多
一个[xingzhi]的字符安其它均可以为空
现在想生成一个新表[c],结构如下,而且内容是两个表的内容之和,
[id] 编号 自动编号
[name] 名称 文本
[price] 价格 数字
[guige] 规格 文本
[changjia] 生产厂家 文本
[baozhuang] 包装 文本
[danwei] 单位 文本
[xingzhi] 性质 文本 织梦好,好织梦
用sql语句也可以,手工操作也好,xml也好,别管怎么着吧,怎么
实现呀,哥们要郁闷坏了,真要让我们再输入800条记录,我就挂了,
回答:
1.这样
-----------------------------
insert into c(id,name,.....)
select id,name,.....
from a
insert into c(id,name,.....)
select max(id)+1,name,.....
from b
------------------------------
2.更正:
如果直接在查询分析器里执行:
-------------------------------
insert into c(name,.....)
select name,.....
from a
insert into c(name,.....)
select name,.....
from b
--------------------------------
3.用union方法
---------------------------------
insert into [c] ([id] ,编号,自动编号)
select [id],编号,自动编号 from [a]
union
select [id],编号,自动编号 from [b]
-----------------------------------
4.asp的解决办法
------------------------------------------------------------
<% '循环检测a表
内容来自dedecms
Sub actAdd(txt)
Dim ts, sql
sql = "insert into b(name) values('"& txt &"')"
Set ts = Conn.Execute(sql)
ts.Close
Set ts = Nothing
end Sub
%>
----------------------------------------------------
5.asp的解决办法 ----
<%
dim arr_temp1,arr_temp2,arr_data
set rs=conn.execute("select id,name,price,guige,
changjia,baozhuang,danwei from a")
arr_temp1=rs.getrows
rs.close
set rs=nothing
织梦内容管理系统
set rs=conn.execute("select id,name,price,guige,
changjia,danwei,xingzhi from b")
arr_temp2=rs.getrows
rs.close
set rs=nothing dedecms.com
rem 开始处理
redim arr_data(ubound(arr_temp1,2)+ubound(arr_temp2,2),7)
rem 把两个数组的内容复制进来
这一部分自己写了做两个循环
然后再存进数据库
%>
--------------------------------------------------
最后转一些经典的SQL语句:
1.蛙蛙推荐:一些精妙的SQL语句
---------------------------------------------------
说明:复制表(只复制结构,源表名:a 新表名:b)
织梦内容管理系统
SQL: select * into b from a where 1<>1
说明:拷贝表(拷贝数据,源表名:a 目标表名:b) 本文来自织梦
SQL: insert into b(a, b, c) select d,e,f from b; 织梦内容管理系统
说明:显示文章、提交人和最后回复时间 织梦内容管理系统
SQL: select a.title,a.username,b.adddate from table
a,(select max(adddate) adddate from table where
table.title=a.title) b copyright dedecms
说明:外连接查询(表名1:a 表名2:b)
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a
LEFT OUT JOIN b ON a.a = b.c dedecms.com
说明:日程安排提前五分钟提醒
SQL: select * from 日程安排 where datediff('minute',
f开始时间,getdate())>5
本文来自织梦
说明:两张关联表,删除主表中已经在副表中没有的信息
内容来自dedecms
SQL:
dedecms.com
delete from info where not exists ( select * from
infobz where info.infid=infobz.infid )
说明:-- dedecms.com
SQL:
织梦好,好织梦
SELECT A.NUM, A.NAME, B.UPD_DATE, B.PREV_UPD_DATE
FROM TABLE1, 本文来自织梦
(SELECT X.NUM, X.UPD_DATE, Y.UPD_DATE PREV_UPD_DATE
织梦好,好织梦
FROM (SELECT NUM, UPD_DATE, INBOUND_QTY, STOCK_ONHAND 织梦内容管理系统
FROM TABLE2
WHERE TO_CHAR(UPD_DATE,'YYYY/MM') = TO_CHAR(SYSDATE,
'YYYY/MM')) X,
(SELECT NUM, UPD_DATE, STOCK_ONHAND
内容来自dedecms
FROM TABLE2 内容来自dedecms
WHERE TO_CHAR(UPD_DATE,'YYYY/MM') = 织梦内容管理系统
TO_CHAR(TO_DATE(TO_CHAR(SYSDATE, 'YYYY/MM') ¦
¦ '/01','YYYY/MM/DD') - 1, 'YYYY/MM') ) Y, copyright dedecms
WHERE X.NUM = Y.NUM (+)
AND X.INBOUND_QTY + NVL(Y.STOCK_ONHAND,0) <> X.STOCK_ONHAND ) B
织梦好,好织梦
WHERE A.NUM = B.NUM dedecms.com
说明:--
内容来自dedecms
SQL:
内容来自dedecms
select * from studentinfo where not exists(select * from
student where studentinfo.id=student.id) and 系名
称='"&strdepartmentname&"' and 专业名称='"&strprofessionname&"' order
by 性别,生源地,高考总成绩
织梦好,好织梦
说明:
copyright dedecms
从数据库中去一年的各单位电话费统计(电话费定额贺电化肥清单两个表来源) 本文来自织梦
SQL: 织梦好,好织梦
SELECT a.userper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'yyyy') AS telyear, copyright dedecms
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '01', a.factration)) AS JAN, 内容来自dedecms
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '02', a.factration)) AS FRI,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '03', a.factration)) AS MAR,
织梦内容管理系统
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '04', a.factration)) AS APR,
内容来自dedecms
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '05', a.factration)) AS MAY,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '06', a.factration)) AS JUE,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '07', a.factration)) AS JUL, 本文来自织梦
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '08', a.factration)) AS AGU, 织梦内容管理系统
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '09', a.factration)) AS SEP,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '10', a.factration)) AS OCT, 织梦好,好织梦
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '11', a.factration)) AS NOV,
本文来自织梦
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '12', a.factration)) AS DEC 织梦内容管理系统
FROM (SELECT a.userper, a.tel, a.standfee, b.telfeedate, b.factration 本文来自织梦
FROM TELFEESTAND a, TELFEE b 本文来自织梦
WHERE a.tel = b.telfax) a 内容来自dedecms
GROUP BY a.userper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'yyyy')
织梦好,好织梦
说明:四表联查问题:
copyright dedecms
SQL: select * from a left inner join b on a.a=b.b right inner join
c on a.a=c.c inner join d on a.a=d.d where ..... 织梦好,好织梦
说明:得到表中最小的未使用的ID号
copyright dedecms
SQL:
dedecms.com
SELECT (CASE WHEN EXISTS(SELECT * FROM Handle b WHERE b.HandleID = 1)
THEN MIN(HandleID) + 1 ELSE 1 END) as HandleID
dedecms.com
FROM Handle
WHERE NOT HandleID IN (SELECT a.HandleID - 1 FROM Handle a)
-------------------------------------------------------------
2.删除重复数据 ----------------
一、具有主键的情况
a.具有唯一性的字段id(为唯一主键)
delete table
where id not in
(
select max(id) from table group by col1,col2,col3...
)
group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,
那么只要col1字段内容相同即表示记录相同。
织梦好,好织梦
b.具有联合主键
假设col1+','+col2+','...col5 为联合主键
select * from table where col1+','+col2+','...col5 in (
select max(col1+','+col2+','...col5) from table
where having count(*)>1
group by col1,col2,col3,col4
)
group by 子句后跟的字段就是你用来判断重复的条件,
如只有col1,那么只要col1字段内容相同即表示记录相同。 本文来自织梦
c:判断所有的字段
select * into #aa from table group by id1,id2,....
delete table
insert into table
select * from #aa
内容来自dedecms
二、没有主键的情况 copyright dedecms
a:用临时表实现
select identity(int,1,1) as id,* into #temp from ta
delete #temp
where id not in
(
select max(id) from # group by col1,col2,col3...
)
delete table ta
inset into ta(...)
select ..... from #temp
织梦好,好织梦
b:用改变表结构(加一个唯一字段)来实现
alter table 表 add newfield int identity(1,1)
delete 表
where newfield not in
(
select min(newfield) from 表 group by 除newfield外的所有字段
)
alter table 表 drop column newfield ~ 织梦好,好织梦
1.76精品传奇_1.76天下毁灭_1.76复古传奇_英雄合击_中变靓装传奇_无忧传奇
传奇花屏补丁,花屏补丁,土城花屏补丁,盟重土城花屏补丁下载,土城花屏补丁下载,沙巴克花屏补丁,传奇土城花屏补丁下载
网站每天发布最新、最好的传奇版本下载和与传奇服务端配套开区传奇模版,网游技术教程全部免费下载!
无忧网络是目前唯一家所有的传奇服务端,传奇私服花屏补丁,盟重花屏补丁和传奇客户端下载都经过站长亲自测试并配有真实测试图!
所有的工具软件和传奇版本在发布之前,都会经过站长亲自测试,保证chuanqisf可以进入游戏,所有软件都无毒无插件!
本站声明:本站所有技术资料与下载资源均为网络搜集整理,并不代表本站的观点与立场,如有侵犯您的权益,请来信指出,本站将立即改正Copyright © 2002-2014 无忧网络 版权所有蜀ICP备09041899号