|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
通过支付一定费用,客户可以得到优先的24/7支持,访问内容丰富的在线知识库和联系一个专门的技术负责经理。access|技能|语句ACCESS中利用SQL语句应注重的中央及几点技能
援用:Fred
以下SQL语句在ACCESSXP的查询中测试经由过程
建表:
CreateTableTab1(
IDCounter,
Namestring,
Ageinteger,
[Date]DateTime);
技能:
自增字段用Counter声明.
字段名为关头字的字段用方括号[]括起来,数字作为字段名也可行.
创建索引:
上面的语句在Tab1的Date列上创建可反复索引
CreateIndexiDateONTab1([Date]);
完成后ACCESS中字段Date索引属性显现为-有(有反复).
上面的语句在Tab1的Name列上创建不成反复索引
CreateUniqueIndexiNameONTab1(Name);
完成后ACCESS中字段Name索引属性显现为-有(无反复).
上面的语句删除方才创建的两个索引
DropIndexiDateONTab1;
DropIndexiNameONTab1;
ACCESS与SQLSERVER中的UPDATE语句对照:
SQLSERVER中更新多表的UPDATE语句:
UPDATETab1
SETa.Name=b.Name
FROMTab1a,Tab2b
WHEREa.ID=b.ID;
一样功效的SQL语句在ACCESS中应当是
UPDATETab1a,Tab2b
SETa.Name=b.Name
WHEREa.ID=b.ID;
即:ACCESS中的UPDATE语句没有FROM子句,一切援用的表都列在UPDATE关头字后.
上例中假如Tab2能够不是一个表,而是一个查询,例:
UPDATETab1a,(SelectID,NameFromTab2)b
SETa.Name=b.Name
WHEREa.ID=b.ID;
会见多个分歧的ACCESS数据库-在SQL中利用In子句:
Selecta.*,b.*FromTab1a,Tab2bIndb2.mdbWherea.ID=b.ID;
下面的SQL语句查询出以后数据库中Tab1和db2.mdb(以后文件夹中)中Tab2以ID为联系关系的一切纪录.
弱点-内部数据库不克不及带暗码.
增补:看到ugvanxk在一贴中的回复,能够用
Select*from[c:aaa.mdb;pwd=1111].table1;
ACCESSXP测试经由过程
在ACCESS中会见别的ODBC数据源
下例在ACCESS中查询SQLSERVER中的数据
SELECT*FROMTab1IN[ODBC]
[ODBC;Driver=SQLServer;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_MACHINEOFTWAREODBCODBCINST.INI
中找到
ACCESS撑持子查询
ACCESS撑持外毗连,但不包含完全内部连接,如撑持
LEFTJOIN或RIGHTJOIN
但不撑持
FULLOUTERJOIN或FULLJOIN
ACCESS中的日期查询
注重:ACCESS中的日期工夫分开符是#而不是引号
Select*FromTab1Where[Date]>#2002-1-1#;
在DELPHI中我如许用
SQL.Add(Format(
Select*FromTab1Where[Date]>#%s#;,
[DateToStr(Date)]));
ACCESS中的字符串能够用双引号分开,但SQLSERVER不认,以是为了迁徙便利和兼容,
倡议用单引号作为字符串分开符.
ACCESS的束缚
在JETSQL参考中关于束缚的内容不敷具体,能够参考SQLServer的联机丛书
上面的SQL为a表的Name字段增添非空束缚
ALTERTABLEaADDCONSTRAINTa_checknameCHECK(Not[Name]isNull)
注重:每个束缚都是一个工具,都有一个名字
上面的语句把id列设置为主键
AlterTable[表]AddPrimaryKey(Id)
上面的语句把id列改成主动编号范例,而且设置为主键
AlterTable[表]Alter[id]CounterConstraint[表_p]PrimaryKey
增加复合主键
上面的SQL为tb_demo表增加复合主键(id,id2).
AlterTabletb_demo
AddConstrainttb_demo_pk
PrimaryKey(id,id2)
你可以配置MySQL运行在微小的嵌入式应用程序中,处理的数据可能不足1Mb??而你也可以用它来处理数Tb的数据。MySQL获得这种可扩展性的路径之一是通过一个人们所熟知的存储过程,这是一个运行在程序之外的微型、预编译程序。 |
|