设为首页
加入收藏
联系本站
游戏秘籍 游戏文学游戏沙龙游戏攻略游戏资讯网游秘籍游戏战报私服学院游戏贴图
您的位置: 无限游戏 >> >> 私服学院 >> 天堂私服制作 >>
天堂私服制作热点
·天2服务端简略安装说明!
·在0.2里增加GM命令方法
·天堂II S级装备代码
·天堂2java服务端0.1+JAVA平台 +完整安装说明
·2000架设天2指南
·教你添加 B/A/S 级套装效果
·修改装备的简单方法
·职业,种族,属性!
·天堂2游戏不顺畅的解决方法
·人类战士部分技能代码
推荐广告

SQL数据库和表的操作

作者:      来源:     时间:2005-9-16 10:04:45




SQL数据库和表的操作(1) 建立表
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 商品

增加字段
alter table 订单明细 add 备注 string default 1

删除字段
alter table 订单明细 drop 备注

修改字段
alter table 订单明细 modify 备注 新备注 string(100)...


在Tab1的Date列上建立可重复索引
Create Index iDate ON Tab1 ([Date])

在Tab1的Name列上建立不可重复索引
Create Unique Index iName ON Tab1 (Name)

删除索引
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为关联的所有记录.
缺点-外部数据库不能带密码.

ACCESS中的日期查询
注意:ACCESS中的日期时间分隔符是#而不是引号
Select * From Tab1 Where [Date]>#2002-1-1#

ACCESS中的字符串可以用双引号分隔,但SQLSERVER
不认,所以为了迁移方便和兼容,
建议用单引号作为字符串分隔符.


=======================================================
选择不重复的数据用DIST
SELECT DISTINCT PRICE FROM TABLE

对字段进行计算后形成新字段
SELECT PRICE,(PRICE+15)NEWPRICE FROM TABLE

SELECT PRICE,PRICE+15 NEWPRICE FROM TABLE
也可以对其中两个字段进行计算形成新了段

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

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

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() 返回系统日期和时间

ABS()绝对值
MOD(A,B) 余数
CHR() 返回字符 如:CHR(27)
CONCAT() 连接两个字符串字段
LTRIM()
RTRIM()
REPLACE()
LPAD()
RPAD()
LOWER()
UPPER()
SUBSRT()
TRANSLATE()
INSTR()
LENGTH()
TO_CHAT()
TO_NUMBER()

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

===============================================

===============================================

===============================================

===============================================

===============================================

===============================================

蛙蛙推荐:整理了一些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字段,其他均可以为空
SQL数据库和表的操作相关文章:
SQL数据库和表的操作相关软件:
分页:
共3页 首页 上一页 [1] [2] [3下一页 尾页>
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员我们经快给予更正
[打印本页] [关闭窗口] 转载请注明来源:无限游戏网