收藏 分销(赏)

ACCESS编程SQL基础知识点.docx

上传人:w****g 文档编号:10587877 上传时间:2025-06-03 格式:DOCX 页数:30 大小:27.30KB 下载积分:12 金币
下载 相关 举报
ACCESS编程SQL基础知识点.docx_第1页
第1页 / 共30页
ACCESS编程SQL基础知识点.docx_第2页
第2页 / 共30页


点击查看更多>>
资源描述
ACCESS( 基础知识点 SQL 编程 ) 数据库基础知识 基本概念:选择题、填空题。数据、信息、处理。 数据处理技术发展:人工、文件、数据库。 数据库系统:含数据库、管理系统、应用系统、计算机、人(管理员)。 数据模型:层次、网状、关系。 关系模型概念:实体、属性、域、主键、联系、实体完整性、参照完整性。 数据表:结构、记录(元组)。 关系:实体间联系—表,E-R模型,规范化:第1-5范式 关系运算:选择、投影、连接。集合的并、交、差、积。 联系:1:1一对一 ,1:m一对多, 多对多m:n 创建数据库 表:结构、记录。视图:表设计、数据表。多种方式建表:设计器、字段模板、网站、导入。 表结构:描述表的属性。记录:数据、内容。 字段名:列的名称。 实体的属性。 字段大小:数据位数-列的宽度。 格式:>强制大写, <强制小,@占位符,如短日期。小数位数。精度。数值范围。 掩码:0-数字,9数字空格,#,L-必字母,?-可字母,A-必字母数字, a-可字母数字,&-必任1字符,C-可任1字符。见表2-5。 标题:窗体的标签。 默认值:自动填充初始值。 有效性规则:必须满足的条件。表的有效性(记录有效性) 有效性文本:违反有效性规则,弹出对话框上的“文字”。 必填字段:选择是/否。 索 引:加快搜索、查询的速度。重复/不重复。主键。 查阅属性: 查询/SQL SQL(Structured Query Language)结构化查询语言。提供交互工具“查询设计器”。 1. 选择查询 2. 参数查询 3. 交叉查询 4. 操作查询 1.) 删除查询 2.)更新查询 3.)追加查询 4.)生成查询 筛选条件:比较运算符、 like 、in、 between…and 多表查询:连接,join …. On 左/右/内/全—连接。 嵌套查询:in /not in 。 Union :查询结果并。 3.3 查询语句Select SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT]] [Alias.] Select_Item [AS]Column_Name] [, [Alias.] Select_Item [As Column_Name] ...] FROM [FORCE] Table [AS Local_Alias] [[INNER | LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER] JOIN DatabaseName!]Table [[AS] Local_Alias] [ON JoinCondition …] [[INTO Destination] | [TO [ADDITIVE] | TO PRINTER [PROMPT] | TO SCREEN]] [PREFERENCE PreferenceName] [NOCONSOLE] [PLAIN] [NOWAIT] [WHERE JoinCondition [AND JoinCondition ...] [AND | OR FilterCondition [AND | OR FilterCondition ...]]] [GROUP BY GroupColumn [, GroupColumn ...]] [HAVING FilterCondition] [UNION [ALL] SELECTCommand] [ORDER BY Order_Item [ASC | DESC] [, Order_Item [ASC | DESC] ...]] 模块与VBA编程 变量:类型、定义、赋值、常数。 表达式:把变量(常量/函数)用“运算符”联接成有意义(能计算的)式子。 算术、字符、日期、关系、逻辑—运算符—表达式。书写规则。 函数:常用内部函数:数值、字符、日期、类型转换。 输入:inputbox(提示[,标题][,默认值][,X坐标][,Y坐标]) 输出: MsgBox(<提示信息>[,类型[,对话框标题]]) 三大程序结构:顺序、选择、循环结构。 选择结构:对给定的条件进行分析、比较和判断,根据结果采取不同的操作。让计算机具有智能性。 “选择结构”或称“分支结构” if <条件> then…else ….endcase select case ….case ……endcase 循环结构也称重复结构,是按照给定的条件,重复执行程序段(语句组)。 Do While … [exit ]…. Loop For i=初值 to 终值[step] …. [exit]….Next 数组:一组变量用统一名称表示。定义,使用:数组(下标) 过程函数: 定义、调用。参数:形参、虚参、实参,数值传递,地址传递。 窗体 窗体:程序界面窗口。由可视化对象作成。 类型:纵栏式、表格式、数据表、主\子窗体、图表、透视表、透视图、导航、分割窗体。 创建窗体:窗体:快速所有字段窗体 窗体设计:设计视图 空白窗体:用布局视图设计窗体。 窗体向导:通过向导设计纵栏式等窗体 导航:创建具有导航按钮6种布局窗体。 其他窗体:创建多个项目、分割窗体、模式对话框、透视图、透视表等6种窗体。 工具箱:画对象、属性窗口。 对象:数据与代码的集合。即属性事件、方法 代码窗口:如何操作对象,文本框输入输出、列表框输出(list0.additem 数据) 窗体结构:主体、窗体页眉、页面页眉、页面页脚、窗体页脚。 设计视图:视图、主题、控件、页眉/脚、工具5个组。 排列:堆积、表格。表、行列、合并、移动、位置、调整大小6个组 格式:所选内容、字体、数字、背景、格式5个组。 对象:标签、文本框、列表框、组合框、命令按扭、选项按扭、复选框、图象等对象的属性与应用。 报表 设计“表/查询”的打印格式,只能输出的格式化窗体。 类型:纵栏式、表格式、图表、标签。 报表设计器组成:区域:报表页眉、页面页眉、组页眉、主体….有7个区。 数据源:表、查询、SQL语句。 分组:“排序分组”窗格,可有多级分组。 汇总:页脚区汇总项:总计、平均、最大, =sum( ) 、=avg( )等 标签:可多栏打印的小的标签报表。 视图:预览/打印、设计、报表视图。 宏 宏:可以完成人工复杂的手写代码。一般在“命令按钮”运行宏取代手写“代码”。 宏操作:窗口、宏命令、数据库对象、系统命令、用户界面命令等分类。 独立宏和嵌入的宏。 宏设计窗格:应用。注释Comment 。分组(块) Group。 条件宏: 根据条件控制其中的那些宏操作执行。 最多可以嵌套10级 子宏:一个宏中可以定义多个子宏,每个子宏都能被单独调用执行并完成一个任务。 运行:命令按钮调用、自动运行的宏AutoExec。 选择题 ( 30题30分) 基本概念 。复习第一章内容,关系、 实体、域、 记录、属性(字段)…. 数据库:表的属性,有效性。 编程基础:变量、表达式。 程序结构:分支、循环、顺序。三大序结构。 窗体:概念、布局、分类。 SQL:选择正确的语句。 其他:宏、报表等覆盖所有章节。 概念填空( 10 题10分) 数据库的6个对象是表、查询、窗体、报表、宏和模块。 与选择题范围相同,填写答案。 填写基本概念: 数据库基本概念:关系、参照完整性、主关键字…. 查询设计器、窗体、报表、宏的基本概念、组成、分类。 程序填空(10个空20分) 把程序空出关键词。 DO ____ I<100 ___ MOD(I,2)=1 ….. ENDIF loop 完善SQL语句。 书写正确的表达式。 1.作业3中SQL命令。 图书 交叉表(作者 出版社) TRANSFORM Count(图书.[书名]) AS 书名之计数 SELECT 图书.[作者], Count(图书.[书名]) AS 总数 FROM 图书 GROUP BY 图书.[作者] PIVOT 图书.[出版社]; 三个表查询 SELECT 图书类别.类别名称, 图书.图书编号, 图书.书名, 借阅.借书证号, 借阅.借阅日期 FROM 图书类别 INNER JOIN (借阅 INNER JOIN 图书 ON 借阅.图书编号 = 图书.图书编号) ON 图书类别.类别号 = 图书.类别号 ORDER BY 图书类别.类别名称, 图书.图书编号 DESC , 图书.书名 DESC; 查询 价格 降序 SELECT 图书.*, 图书.价格 FROM 图书 ORDER BY 图书.价格 DESC; 查询图书所有信息 SELECT 图书.序号, 图书.图书编号, 图书.类别号, 图书.书名, 图书.作者, 图书.出版社, 图书.出版日期, 图书.价格, 图书.在馆否, 图书.简介, 图书.封面照 FROM 图书; 查询价格 10-25 SELECT 图书.*, 图书.价格 FROM 图书 WHERE (((图书.价格) Between 10 And 25)); 查询清华 经济 SELECT 图书.*, 图书.出版社 FROM 图书 WHERE (((图书.出版社) Like "*经济*" Or (图书.出版社) Like "*清华*")); 类别 统计图书册数 SELECT 图书.类别号, Count(图书类别.类别号) AS 类别号之计数1 FROM 图书类别 INNER JOIN 图书 ON 图书类别.类别号 = 图书.类别号 GROUP BY 图书.类别号; 输入作者姓名 :参数查询 2.按出版社统计册数,平均价格,册数在2以上。 select 出版社,count(*) as 统计册数, avg(价格) as 平均价格 from 图书 group by 出版社 having count(*)>2 3. 检索“类别号, 类别名称,图书编号, 书名, 作者,借书证号”,分别用where、join 联接书写。 SELECT 图书.类别号, 类别名称, 图书.图书编号, 书名, 作者, 借书证号 FROM 图书, 图书类别, 借阅 WHERE 图书类别.类别号=图书.类别号 and 借阅.图书编号=图书.图书编号 SELECT 图书类别.类别号, 类别名称, 图书.图书编号, 书名, 作者, 借书证号 FROM (图书类别 INNER JOIN 图书 ON 图书.类别号=图书类别.类别号) INNER JOIN 借阅 ON 图书.图书编号=借阅.图书编号; 4. 查询“出版社”出版的所有书全都大于20.0(该出版社未有小于20元的书,同评三好学生条件)。 SELECT * FROM 图书 WHERE 价格 >20; 5.更新查询、追加查询、删除查询。(可直接在查询里生成后变成SQL视图) UPDATE 借阅 SET 借阅.借阅日期 = [借阅日期]+10; INSERT INTO 图书 ( 出版社 ) SELECT 图书.出版社 FROM 图书 WHERE (((图书.出版社)="清华")); DELETE 图书.作者 FROM 图书 WHERE (((图书.作者)="李辉")); update 图书 set 价格=价格*0.9 where 出版日期=#1989-10-1# insert into 图书表2(书名, 作者) select 图书(书名, 作者) from 图书(由于两个表的格式不一样,所以未能追加) 6. 用命令建立“图书2”表table,修改字段,删除该表。 创建: create table 图书2(序号 char (12),图书编号 char(12),类别号 char(1),书名 char(8),作者 char(3),出版社 char(10),出版日期 date,价格 money,在馆否 char(2),简介 char(12),封面照 char(50) ) 增加“读者评价” alter table 图书2 add 读者评价 memo 删除: drop table 图书2 '编写求解一元二次方程根。 '2. 从键盘输入一串字母,大写输出。 '3. 输入三角形的边长a,b,c,计算面积s。 '4. 显示今天的日期,显示今天是“星期x”。计算到2014年元旦还有几天。 '5. 输入金额,计算最佳付款方式(张数最少 Sub m_1() Dim a As String a = InputBox("请输入字母") MsgBox UCase(a) End Sub Sub m_2() Dim a As Single, b As Single, c As Single, p As Single, s As Single a = Val(InputBox("请输入三角形第1条边长")) b = Val(InputBox("请输入三角形第2条边长")) c = Val(InputBox("请输入三角形第3条边长")) s = (a + b + c) / 2 area = Sqr(s * (s - a) * (s - b) * (s - c)) MsgBox "面积为" & area End Sub Sub m_3() Dim a As Double, b As Double, c As Double Dim x1 As Double, x2 As Double a = InputBox("输入系数A:") b = InputBox("输入系数B:") c = InputBox("输入系数C:") x1 = (-b + Sqr(b * b - 4 * a * c)) / (2 * a) x2 = (-b - Sqr(b * b - 4 * a * c)) / (2 * a) MsgBox ("方程的根x1是" & x1) MsgBox ("方程的根x2是" & Str(x2)) End Sub Sub m_41() InputBox ("当前日期是星期几") MsgBox "今天是星期" & (Weekday(Date - 1)) End Sub Sub m_42() InputBox ("今天距2014年元旦还有?天") MsgBox (DateDiff("y", #10/30/2013#, #1/1/2014#)) End Sub Sub m_5() x = InputBox("请输入金额") a = x \ 100 b = (x - 100 * a) \ 50 c = (x - 100 * a - 50 * b) \ 20 d = (x - 100 * a - 50 * b - 20 * c) \ 10 e = (x - 100 * a - 50 * b - 20 * c - 10 * d) \ 5 F = (x - 100 * a - 50 * b - 20 * c - 10 * d - 5 * e) \ 2 g = (x - 100 * a - 50 * b - 20 * c - 10 * d - 5 * e - 2 * F) \ 1 MsgBox "100元需" & a & ("张") & "50元需" & b & ("张") & "20元需" & c & ("张") & "10元需" & d & ("张") & "5元需" & e & ("张") & "2元需" & F & ("张") & "1元需" & g & ("张") End Sub Option Compare Database '. 产生两个1-100的随机数,口算两个的数的和。 '2. 三个数据的排序。 '3. 输入收入总金额,计算个人所得税。 '4.输入整数,判断是否“质数”。 '5.输入年份,判断是否“闰年”。 '6.求解一元二次方程,当无解显示信息不要出错! Sub m6_1() Dim a As Byte, b As Byte, c As Byte a = Rnd() * 90 + 10 b = Rnd() * 90 + 10 c = InputBox("请输入" + Str(a) + "+" + Str(b) + "=") If a + b = c Then MsgBox "您答对了", 48, "正确" Else MsgBox "您答错了,正确答案是" + (Str(a + b)) End If End Sub Sub m6_2() Dim a%, b%, c%, x%, y%, z% a = InputBox("输入A=") b = InputBox("输入B=") c = InputBox("输入C=") If a < b Then If c < a Then x = c y = a z = b Else If c < b Then x = a y = c z = b Else x = a y = b z = c End If End If End If If b < a Then If c < b Then x = c y = b z = a Else If c < a Then x = b y = c z = a Else x = b y = a z = c End If End If End If MsgBox "结果是" + Str(z) + ">=" + Str(y) + ">=" + Str(x) End Sub Sub m6_3() Dim m As Integer, n As Integer m = InputBox("请输入收入金额") m = m - 3500 If m < 0 Then n = 0 Else If m <= 1500 Then n = m * 0.03 Else If m <= 4500 Then n = 1500 * 0.03 + (m - 1500) * 0.1 Else If m <= 9000 Then n = 1500 * 0.03 + 3000 * 0.1 + (m - 4500) * 0.2 Else n = 1500 * 0.03 + 3000 * 0.1 + 4500 * 0.2 + (m - 9000) * 0.3 End If End If End If End If MsgBox "应缴纳税金" & n & ("元") End Sub Sub m6_4() Dim i As Integer, n As Integer n = Val(InputBox("请输入数字")) i = 2 c = Int(Sqr(n)) Do While i <= c If n Mod i = 0 Then Exit Do i = i + 1 '在For以外的 Loop If i > c Then MsgBox n & "是素数" Else MsgBox n & "不是素数" End If End Sub Sub m6_5() a = InputBox("请输入年份的数字") If (a Mod 4 = 0 And a Mod 100 <> 0) Or (a Mod 400 = 0) Then MsgBox "闰年" Else MsgBox "非闰年" End If End Sub Sub m6_6() Dim a, b, c As Double Dim x1 As String, x2 As String a = InputBox("请输入一元二次方程的系数a") b = InputBox("请输入一元二次方程的系数b") c = InputBox("请输入一元二次方程的系数c") If a = 0 Then x1 = -c / b x2 = "非一元二次方程,仅有一解" MsgBox ("系数为" + a & b & c + "的一元二次方程的根分别为" & x1) MsgBox ("系数为" + a & b & c + "的一元二次方程的根分别为" & x2) Else If b ^ 2 - 4 * a * c >= 0 Then x1 = (-b + Sqr(b ^ 2 - 4 * a * c)) / (2 * a) x2 = (-b - Sqr(b ^ 2 - 4 * a * c)) / (2 * a) MsgBox ("系数为" + a & b & c + "的一元二次方程的根分别为" & x1) MsgBox ("系数为" + a & b & c + "的一元二次方程的根分别为" & x2) Else x1 = Str((-b) / (2 * a)) & "+" & Str(Sqr(4 * a * c - b ^ 2) / (2 * a)) & "i" x2 = Str((-b) / (2 * a)) & "-" & Str(Sqr(4 * a * c - b ^ 2) / (2 * a)) & "i" MsgBox "此方程在实数范围内无解" End If End If End Sub Option Compare Database Option Compare Binary '1. 找出1-N(输入)的所有质数。 '2.输出2000年-4000年的“闰年” 年份。 '3. 打印九九表。 '4. 输入一行字符,统计大写字母、小写字母、数字、和其他字符的个数。 '5. 计算两个数的最大公约数。 '6. 找出1-1000的水仙花数。如三位数abc,若abc=a3+b3+c3,叫水仙花数 Sub m_1() Dim n As Integer, i As Integer, j As Integer Dim b As Boolean n = InputBox("输入", "输入你要确定的整数") For i = 2 To n b = True For j = 2 To i - 1 If i Mod j = 0 Then b = False End If Next j If b Then '不用写其他的运算符 Debug.Print i End If Next i End Sub Sub m2_() Dim i As Integer i = InputBox("请输入2000年至2400年的任一年份") For i = 2000 To 2400 'if(i%4==0 && i%100!=0 || i%400==0) '如果 i除以4的余数等于0 并且 i除以100的余数不等于0 或者 i除以400的余数等于0 条件成立 If (i Mod 4 = 0 And i Mod 100 <> 0) Or i Mod 400 = 0 Then Debug.Print i; " "; '引号和分号 b = b + 1 'b在前面没有定义 If b Mod 10 = 0 Then Debug.Print i End If Next i End Sub Sub m九九表7_3() Dim i%, j% For i = 1 To 9 For j = 1 To i Debug.Print CStr(i) + "x" + CStr(j) + "="; i * j; Next Debug.Print Next End Sub Sub m7_41() Dim a As Integer, b As Integer, c As Integer, d As Integer, m As String, L As Integer m = InputBox("请输入一串字符:") L = Len(m) For i = 1 To L m = Mid(m, 1, L) Select Case m Case "A" To "Z" a = a + 1 Case "a" To "z" b = b + 1 Case "0" To "9" c = c + 1 Case Else d = d + 1 'cstr (len(m))是计算所有输入的个数 'cstr是指转换成字符串,字符前不需空一格 End Select Next i MsgBox m & "字符个数是:" & CStr(Len(m)) & Chr(13) & Chr(10) & "大写字符个数是:" & a & "小写字符个数是:" & b & "数字字符个数是:" & c & "其他字符个数是:" & d End Sub Sub m7_5() Dim m As Integer Dim n As Integer Dim r As Integer Dim a As Integer, b As Integer m = InputBox("请输入其中的一个正整数") n = InputBox("请输入另一个正整数") a = m b = n r = a Mod b Do While r <> 0 '循环语句 r不等于0 a = b b = r r = a Mod b Loop Debug.Print m; "与"; n; "这两个正整数的最大公约数为:"; b End Sub Sub m7_6() Dim i As Integer, s As Integer Dim a As Integer, b As Integer, c As Integer Debug.Print "1到1000所有水仙花数:"; For i = 1 To 1000 a = i \ 100 '取百位数 b = i \ 10 Mod 10 '或 b = i Mod 100 \10 取十位数 c = i Mod 10 '取个位数 s = a ^ 3 + b ^ 3 + c ^ 3 '水仙花数的判断依据 If s = i Then Debug.Print i; End If Next i '1到1000所有水仙花数:1 153 370 371 407 1000 End Sub '1. 用过程调用,计算圆的面积。 '2.用函数返回值,计算圆的面积。 '3. 用过程方法,计算3个数的最大公约数。 '4.用函数方法,计算3个数的最大公约数。 '5.计算组合数.若m=23,n=5,从23个数中选5个彩票总数量。 '6. 随机生成20个数,排序 Sub m8_1() Dim r As Double, s As Double r = InputBox("请输入圆的半径r") s = 3.14 * (r ^ 2) Debug.Print s End Sub Sub m8_11() Call m8_1 End Sub Function m8_12() Dim x As Double x = InputBox("请输入圆的半径r") MsgBox "半径为" & x & "圆的面积为:" & m8_13(x) End Function Function m8_13(r As Double) As Double Dim s As Double s = 3.14 * r ^ 2 m8_13 = s End Function Sub m7_5() '最大公约数 Dim m As Integer Dim n As Integer Dim r As Integer Dim a As Integer, b As Integer m = InputBox("请输入其中的一个正整数") n = InputBox("请输入另一个正整数") a = m b = n r = a Mod b Do While r <> 0 '循环语句 r不等于0 a = b b = r r = a Mod b Loop Debug.Print m; "与"; n; "这两个正整数的最大公约数为:"; b End Sub Sub m8_6() Dim i As Integer, x(20) As Integer, t As Integer Randomize Timer For i = 1 To 20 x(i) = 10 + Int(89 * Rnd) Debug.Print x(i), Next Debug.Print For i = 1 To 19 For j = i + 1 To 20 If x(i) < x(j) Then t = x(j) x(j) = x(i) x(i) = t End If Next Next For i = 1 To 20 Debug.Print x(i), Next End Sub 30 / 30
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服