Acess与SQL的区别
Acess与SQL的区别
以下總結了自己在項目中所遇到的有關Acess與SQL差異的一些地方:
1,对于日期字段字段
access表示为:#1981-28-12#
SQLSERVER2000表示为:''1981-02-12''
2,SQL语句区别,_select,_update在对单表操作时都差不多,
但多表操作时update语句的区别ACCESS与SQLSERVER中的UPDATE语句对比:
SQLSERVER中更新多表的UPDATE语句:
_updateTab1
SET a.Name = b.Name
from Tab1 a,Tab2 b
WHERE a.ID = b.ID;
同样功能的SQL语句在ACCESS中应该是
_updateTab1 a,Tab2 b
SET a.Name = b.Name
WHERE a.ID = b.ID;
即:ACCESS中的UPDATE语句没有from子句,所有引用的表都列在UPDATE关键字后.
更新单表时:都为:
_updatetable1 set ab='12',cd=444 where ....
3,delete语句
access中删除时用:_delete* from table1 where a>2 即只要把_select语句里的_select换成delete就可以了。
sqlserve 中则为: _deletefrom table1 where a>2 即没有*号
4,as 后面的计算字段区别
access中可以这样:_selecta,sum(num) as kc_num,kc_num*num as all_kc_num 即可以把AS后的字段当作一个数据库字段参与计算。
sqlserver 中则为:_selecta,sum(num) as kc_num,sum(num)*num as all_kc_num 即不可以把AS后的字段当作一个数据库字段参与计算。
5,[.]与[!]的区别
access中多表联合查询时:_selecttab1!a as tab1a,tab2!b tab2b from tab1,tab2 ,中间的AS可以不要。
sqlserve 中则:_selecttab1.a as tab1a,tab2.b tab2b from tab1,tab2 ,中间的AS可以不要。
6,联合查询时,
access中多表联合查询:'_selecta,b from(
_selecta,b from tab1 where a>3 union _selectc,d from tab2 ) group by a,b
sqlserve 中则'_selecta,b from(
_selecta,b from tab1 where a>3 union _selectc,d from tab2 ) tmptable group by a,b即要加一个虚的表tmptable,表名任意。---
7,access升级到sqlserver时,
可以用sqlserver的数据导入工具导入数据,但要做必要的处理。
access中的自动编号,不会自动转换SQL中的自动编号,只能转换为int型,要把它手工改成标识字段,种子为1,把所有导入被sqlserver转化成的以n开头的字段类型的n去掉,如nvarchar->varchar.
相关文档:
--oracle优化slq语句
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):
Oracle的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,您必须选择记录条数最少的表作为基础表。假如有3个以上的 ......
.清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
2.截断事务日志:
BACKUP LOG 库名 WITH NO_LOG
3.收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接 ......
ORACLE 中SQL 语句大致可以分为4大类
1.DQL(data quary language 数据查询语言)
数据查询语言DQL基本结构是由SELECT子句,from子句,WHERE子句组成
2.DDL(data definition language 数据定义语言)
CREATE
ALTER
DROP
RENAME
TRUNCATE
3.DML(data manipulation language 数据操纵语言)
INSERT
UPDATE
......
笔者曾在《程序员》2009年11期上探讨Transact-SQL的元编程,即通过目录视图、元数据函数等方式访问数据库的元数据信息,在执行过程中动态生成SQL脚本。当时限于篇幅,所给的例子较少。这里给出动态生成SQL脚本的一个典型应用,把数据表的内容转换为相应的INSERT语句。
这个启发来自我管理远程数据库的经历。我常常需要用本 ......