本文详细讲述了Access中使用SQL语句应掌握的几点技巧。

以下SQL语句在ACCESS XP的查询中测试通过

建表:

Create Table Tab1 (
ID Counter,
Name string,
Age integer,
[Date] DateTime);

技巧:

自增字段用 Counter 声明。

字段名为关键字的字段用方括号[]括起来,数字作为字段名也可行。

建立索引:

下面的语句在Tab1的Date列上建立可重复索引:

Create Index iDate ON Tab1 ([Date]);

完成后ACCESS中字段Date索引属性显示为 - 有(有重复)。

下面的语句在Tab1的Name列上建立不可重复索引:

Create Unique Index iName ON Tab1 (Name);

完成后ACCESS中字段Name索引属性显示为 - 有(无重复)。

下面的语句删除刚才建立的两个索引:

Drop Index iDate ON Tab1;
Drop Index iName ON Tab1;

Access与SQL Server中的UPDATE语句对比

SQL Server中更新多表的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中的字符串可以用双引号分隔,但SQL Server不认,所以为了迁移方便和兼容, 建议用单引号作为字符串分隔符。

Access中使用SQL语句应掌握的几点技巧相关推荐

  1. ACCESS中执行sql语句

    ACCESS中执行sql语句 简单的说:查询--新建-- 设计视图--选择表或者不选--右键新建SQL视图 不会就看图 access采用sql语句与sql的区别 Access中提供查询对象,在设计时可 ...

  2. ACCESS中写SQL语句时尽量把表名和字段名用中括号括起来

    ACCESS中写SQL语句时尽量把表名和字段名用中括号括起来,一般都要写成: [TableName].FieldName,否则较长的中文名表名可能会被不识别.

  3. 在Access中使用SQL语句

    百度教程----如何在Access中使用SQL语句: http://jingyan.baidu.com/article/624e7459b17ff134e8ba5ae7.html 查询语句示例: -- ...

  4. 在Access中执行SQL语句

    Access在小型系统开发中等到了广泛使用.虽然Access提供了可视化的操作方法,但许多开发人员还是喜欢直接用SQL语句操作数据表.如何在Access中打开SQL视图,对于初次使用Access的程序 ...

  5. MySQL教程(二)—— 关于在ACCESS中使用SQL语句

    1  正常步骤 打开数据库 (出现表选项,添加也行,不添加也行) (写好语句后,点击运行) 2  快捷键方式 Alt+C 点击'q'后点击'd' 转载于:https://www.cnblogs.com ...

  6. ACCESS中的Update语句不支持Select的解决办法

    ACCESS中的Update语句不支持Select的解决办法执行 比如ACCESS中执行SQL语句: UPDATE HN_news AS a SET typeid = (select clid fro ...

  7. ACCESS数据库使用sql语句创建表

    在Access中使用sql语句创建表时指定字段类型 长度为255的文本varchar 长度为20的文本varchar(20) 日期时间datetime 数字byte或smallint或integer, ...

  8. access oracle sql语句,在 Access 中使用 SQL 建索引

    时 间:2017-12-29 08:30:39 作 者:摘 要:  一般在Oracle中使用Sql,在Access中使用很少,不过与Oracle的Sql还是有很多相似之处的.以下SQL语句在ACCES ...

  9. 存储过程中定义sql语句_学习SQL:用户定义的存储过程

    存储过程中定义sql语句 Stored procedures (SPs) are one more powerful database object we have at our disposal. ...

  10. java中的sql语句书写_Java中sql语句之通配符*

    在java中执行SQL语句要特别注意通配符的问题,否则是不会成功的: 在ACCESS中的通配符是* 例:select  *  from student  where  name like  '张*' ...

最新文章

  1. 京东玩三角恋,结果“擦枪走火”
  2. 自定义注解妙用,一行代码搞定用户操作日志记录
  3. 做了5年Java,java文件下载代码
  4. 台湾大学林轩田机器学习技法课程学习笔记3 -- Kernel Support Vector Machine
  5. 【Python】7000字,7幅图,这样就可以拿下Python字典?
  6. linux去掉某一字符开头的行
  7. 朴素贝叶斯实现分类_关于朴素贝叶斯分类及其实现的简短教程
  8. PTS + ARMS打造性能和应用诊断利器
  9. 想学好C语言?先把基础打好再说吧!
  10. 窗口限制文件上传格式
  11. centos6.5卸载java,CentOS 5.2卸载自带Java1.4.2 安装JDK6
  12. 判断用户 小程序_解读微信小程序用户运营四部曲
  13. 关于IP地址定位、IP查询和IP地址库 你想了解的历史都在这里
  14. python基于大数据的食物推荐系统
  15. file_contexts 踩坑
  16. 读书笔记:《穷查理宝典》
  17. Android自定义View之CircleView
  18. 消息推送技术干货:美团实时消息推送服务的技术演进之路
  19. java文件下载错误提示_java文件下载出错
  20. 线程安全、线程同步、线程间通信

热门文章

  1. 小暑至盛夏始吃苦尝酸保健康
  2. MYSQL数据库的数据完整性
  3. 小技巧:方便开机打开多个程序
  4. Java 分支与循环
  5. S3C2440 LCD驱动(FrameBuffer)实例开发一(转)
  6. sql 基础知识普及
  7. Windows Embedded CE 中断结构分析
  8. 618秒杀抢不到?用Python完成毫秒级抢单,助你秒杀淘宝大单
  9. linux系统进去dev sdb6,linux书上划的题的答案
  10. think php 500错误,thinkPHP5配置nginx环境无法打开 ,每次都是报500错误