Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1003|回复: 0

在ACCESS中如何使用SQL语句建表

  [复制链接]

该用户从未签到

发表于 2011-9-26 15:03:49 | 显示全部楼层 |阅读模式
以下SQL语句在ACCESS XP的查询中测试通过

建表:

     Create Table Tab1 (

         ID Counter primary key,

         Name string(20),

         Age integer,

         [Date] DateTime);

技巧:

     自动增加字段用 Counter 声明.

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

      建立主键:primary key





建立索引:

     下面的语句在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与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=saWD=;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#;



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

建议用单引号作为字符串分隔符.
回复

使用道具 举报

该用户从未签到

发表于 2011-10-25 08:42:59 | 显示全部楼层
学习了啊。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-22 01:45 , Processed in 0.396340 second(s), 46 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表