ACCESS中使用SQL语句应注意的地方及几点技巧
来源:互联网 发布:犀牛软件中文版下载 编辑:程序博客网 时间:2024/05/01 11:35
Create Unique Index iName ON Tab1 (Name);
完成后ACCESS中字段Name索引属性显示为 - 有(无重复).
下面的语句删除刚才建立的两个索引
Drop Index iDate ON Tab1;
Drop Index iName ON Tab1;
ACCESS与SQLSERVER中的UPDATE语句对比:
SQLSERVER中更新多表的UPDATE语句:
UPDATE Tab1
SET a.Name = b.Name
FROM Tab1 a,Tab2 b
WHERE a.ID = b.ID;
同样功能的SQL语句在ACCESS中应该是
UPDATE Tab1 a,Tab2 b
SET a.Name = b.Name
WHERE a.ID = b.ID;
即:ACCESS中的UPDATE语句没有FROM子句,所有引用的表都列在UPDATE关键字后.
上例中如果Tab2可以不是一个表,而是一个查询,例:
UPDATE Tab1 a,(Select ID,Name From Tab2) b
SET a.Name = b.Name
WHERE a.ID = b.ID;
访问多个不同的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中访问其它ODBC数据源
下例在ACCESS中查询SQLSERVER中的数据
SELECT * FROM Tab1 IN [ODBC]
[ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]
外部数据源连接属性的完整参数是:
[ODBC;DRIVER=driver;SERVER=server;DATABASE=database;UID=user;PWD=password;]
其中的DRIVER=driver可以在注册表中的
HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI/
中找到
ACCESS支持子查询
ACCESS支持外连接,但不包括完整外部联接,如支持
LEFT JOIN 或 RIGHT JOIN
但不支持
FULL OUTER JOIN 或 FULL JOIN
ACCESS中的日期查询
注意:ACCESS中的日期时间分隔符是#而不是引号
Select * From Tab1 Where [Date]>#2002-1-1#;
在DELPHI中我这样用
SQL.Add(Format(
'Select * From Tab1 Where [Date]>#%s#;',
[DateToStr(Date)]));
ACCESS中的字符串可以用双引号分隔,但SQLSERVER不认,所以为了迁移方便和兼容,
建议用单引号作为字符串分隔符.
完成后ACCESS中字段Name索引属性显示为 - 有(无重复).
下面的语句删除刚才建立的两个索引
Drop Index iDate ON Tab1;
Drop Index iName ON Tab1;
ACCESS与SQLSERVER中的UPDATE语句对比:
SQLSERVER中更新多表的UPDATE语句:
UPDATE Tab1
SET a.Name = b.Name
FROM Tab1 a,Tab2 b
WHERE a.ID = b.ID;
同样功能的SQL语句在ACCESS中应该是
UPDATE Tab1 a,Tab2 b
SET a.Name = b.Name
WHERE a.ID = b.ID;
即:ACCESS中的UPDATE语句没有FROM子句,所有引用的表都列在UPDATE关键字后.
上例中如果Tab2可以不是一个表,而是一个查询,例:
UPDATE Tab1 a,(Select ID,Name From Tab2) b
SET a.Name = b.Name
WHERE a.ID = b.ID;
访问多个不同的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中访问其它ODBC数据源
下例在ACCESS中查询SQLSERVER中的数据
SELECT * FROM Tab1 IN [ODBC]
[ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]
外部数据源连接属性的完整参数是:
[ODBC;DRIVER=driver;SERVER=server;DATABASE=database;UID=user;PWD=password;]
其中的DRIVER=driver可以在注册表中的
HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI/
中找到
ACCESS支持子查询
ACCESS支持外连接,但不包括完整外部联接,如支持
LEFT JOIN 或 RIGHT JOIN
但不支持
FULL OUTER JOIN 或 FULL JOIN
ACCESS中的日期查询
注意:ACCESS中的日期时间分隔符是#而不是引号
Select * From Tab1 Where [Date]>#2002-1-1#;
在DELPHI中我这样用
SQL.Add(Format(
'Select * From Tab1 Where [Date]>#%s#;',
[DateToStr(Date)]));
ACCESS中的字符串可以用双引号分隔,但SQLSERVER不认,所以为了迁移方便和兼容,
建议用单引号作为字符串分隔符.
- ACCESS中使用SQL语句应注意的地方及几点技巧
- ACCESS中使用SQL语句应注意的地方及几点技巧
- ACCESS中使用SQL语句应注意的地方及几点技巧
- ACCESS中使用SQL语句应注意的地方及几点技巧
- ACCESS中使用SQL语句应注意的地方及几点技巧
- ACCESS中使用SQL语句应注意的地方及几点技巧
- ACCESS中使用SQL语句应注意的地方及几点技巧
- ACCESS中使用SQL语句应注意的地方及几点技巧
- ACCESS中使用SQL语句应注意的地方及几点技巧
- ACCESS中使用SQL语句应注意的地方及几点技巧
- ACCESS中使用SQL语句应注意的地方及几点技巧
- Delphi+Access 使用SQL语句应注意的地方及几点技巧
- ACCESS中使用SQL语句应注意的地方、与sql server的区别及几点技巧(整理中)
- access中使用SQL语句需要注意的几个地方
- 使用SQL语句时应注意以下几点
- 使用Access的几点技巧
- 正确使用String类应注意的几点
- jsp-cookie使用应注意的几点
- 典故/故事/寓意
- 一些PHP+MYSQL配置[转]
- 有朋友将SharpDevelop_1.0.3.1768的版本完整的转换成了VS2003版并提供下载
- 请教关于global.asa的问题
- 繁忙之后
- ACCESS中使用SQL语句应注意的地方及几点技巧
- 以增加收藏夹功能为实例,解析asp.net forums2结构流程及组件设计
- eDonkey2000 Protocol
- 整合PDF和Java技术
- 访问标准CGI变量
- 访问标准CGI变量
- 名言(汇集)
- 清风的XUL学习之旅
- 2005年3月27日 晴,天气与昨天一样,特别好