西工大vb课的DML操作
- 格式:doc
- 大小:77.00 KB
- 文档页数:11
用 VB 和机械产品设计流程进行设计软件开发张晓钟(西安建筑科技大学机电学院,西安,710055)E-mail :qzxz321@摘要:本文通过对机械产品设计和软件开发的特点的研究,提出了基于机械产品设计流程 的软件开发方法。
对机械产品设计流程的分析方法、软件开发的工具选择、机械产品设计软件化中的基本技术等作了初步探讨。
研究了应用VisualBasic 在WINDOWS 和CAXA 或AutoCAD 平台上, 将机械产品的设计工作软件化的问题,并给出了软件设计的总体设计方案的分析方法。
本文的 研究成果,对于机械产品设计及其过程的软件化有重要的实用价值。
关键词:机械产品设计流程软件开发中图分类号:TP225TP170计算机辅助设计在机械行业中已获得广泛应用,对于大量的中小型机械企业,主要是甩图 板工作。
随着高等教育的大众化,经历过本科阶段高等教育的机械工程师人员数目巨大;随着 国家制造业要求的提升,如何利用计算机进行产品设计,提高设计水平,而不仅是甩图板,成 为需要解决的问题。
本文在此方面进行了有益的探索。
1.机械产品设计中应用计算机的困惑 众所周知,在机械产品设计中,利用计算机辅助工作可以获得极大的好处。
在制造业已进入全球化的时代,机械产品设计的自动化、软件化是机械行业技术升级换代,满足产品的市场 需求和适应个性化产品特点的必由之路。
然而,相当多的机械设计师和大量的中小型机械企业, 在将产品设计过程与计算机技术结合中,存在着一些困惑。
机械产品设计中的计算机应用,可以从两个方面来看,一是商品软件的应用,二是自主专 用软件的开发,关键是软件开发。
国内外的机械产品设计过程中涉及到的软件化有如下特点。
1).具有通用性和专用功能的大型软件,如 AUTOCAD ,CAXA 等可以用于机械产品的图形绘 制;ANSYS 等可以用于机械零部件的力学性能分析;Solidworks 等可以用于机械产品的三维形 体设计。
声明:本作品完全由个人创作,对于应付老师留得软件大作业很有帮助(西工大),本作品仅供个人交流学习,不建议作为商业用途,否则后果自负。
由于vb软件还有很多参数的设定,在此不变于抓图。
因此如果读者完全按照本文档所示结果可能出错,请设置data控件的数据库连接(本作品用access数据库,需要时读者自行建立)以上两个图是程序运行后的部分截图数据库截图(图上的各个名字必须与之对应)Form1截图Form1的代码:Public yonghu As String,mima As StringPublic jibie As Integer '用户的身份级别Dim r0 As Single 'x0,y0为圆心坐标Dim r1 As Single,r2 As Single,r3 As Single ’r0圆半径,r1时钟刻度外圈半径Dim r4 As Single ’r2时钟长刻度内圈半径,r3时钟短刻度内半径Dim r5 As Single, r6 As Single,r7 As Single ’r4时钟标注文字半径,r5时钟时针半径,r6时钟分针半径Dim x0 As Single,y0 As Single 'r7时钟秒针半径Private Sub bangzhu_Click()Form9。
ShowEnd SubPrivate Sub bumen_Click()Form6。
ShowEnd SubPrivate Sub fangcha_Click()Form2。
ShowEnd SubPrivate Sub Form_Load()Label1.Top = 1000 '初始化两个标签的位置Label2.Top = 1000dingwei '将时针,秒针和分针定位到圆心位置jibie = —1yonghu = ””mima = ""End SubPrivate Sub guanli_Click()Form14.ShowEnd SubPrivate Sub Timer1_Timer()’利用定时时钟采用文字的移动Label1。
西北工业大学计算机学院计算机操作系统实验指导张羽谷建华王海鹏编2009-3一、操作系统课内实验目的:计算机操作系统课内实验作为操作系统课堂理论教学的辅助部分是加强计算机科学与技术专业实践的重要环节之一。
由于操作系统自身的庞大和复杂,造成学生在学过操作系统课程后,总有一种“雾里看花”的感觉,即只是支离破碎的了解了一些操作系统局部知识,而很难将这些知识融会贯通,对于运用操作系统知识从事设计和应用更是无从谈起。
本实验课的目的就是力图解决上述问题。
二、操作系统实验整体安排和要求:1.课内实验将按以下三个方面进行:对常用的系统调用命令的使用方式有一个较熟练的掌握;对典型操作系统的编程基础知识和机制进行学习和了解;运用一些重要的系统调用编写程序模块,对操作系统中的一些重要概念和典型算法进行实现或验证。
实验内容如下:实验一 Linux操作系统的安装及使用实验二 Linux Shell程序实验三 vi编辑器的学习和使用实验四 观察进程的并发性实验五 构造进程家族树实验六 理解进程的独立空间实验七 请求分页存储管理设计操作系统的课内实验共7个,根据具体上机条件和学时选做2~3个,其中实验2、3中必选1个,实验4~6必选,实验7可选做。
由于所有实验均在Linux环境下工作,用C语言编程,因此学生要具备一定的C语言编程能力,同时要求在充分预习实验内容中相关知识后,再进行实验的上机环节。
另外由于操作系统实验有些题目具有一定的难度和规模,建议采用分组方式进行。
2.操作系统课内实验考核:预习报告30%,上机实验35%,实验报告35%。
3.预习报告内容包括两部分,一是对相关知识学习的书面总结(知识综述和参考文献);二是对本次实验的分析报告(主要针对涉及算法的题目)。
实验报告内容主要包括本次实验的上机结果(数据结构、程序框图、源程序文档和运行情况)以及实验中难点分析和心得。
4.实验软、硬件环境要求:80386DX以上兼容机,可以使用Intel、AMD、CRIX处理器,对80386或80486SX的CPU建议具有数字协处理器。
VB可视化编程的三个基本步骤1. 理解VB可视化编程的概念和基本原理在开始学习VB可视化编程之前,我们需要先了解什么是VB可视化编程以及其基本原理。
VB可视化编程是一种通过图形界面来设计和开发应用程序的编程方式。
它使用VB(Visual Basic)语言作为编程语言,并结合了图形界面的设计工具,使开发者可以快速构建用户界面和功能。
VB可视化编程的基本原理是通过拖拽和放置控件来设计用户界面,并通过编写事件处理程序来实现各种功能。
开发者可以直观地将不同的控件放置在窗体上,并设置它们的属性和事件来达到所需的效果。
这种方式简化了开发过程,使得开发者无需深入了解底层的编程逻辑,即可通过图形界面轻松实现应用程序的功能。
2. 学习掌握VB可视化编程的基本工具和技术要掌握VB可视化编程,我们需要学习和掌握一些基本的工具和技术。
以下是几个重要的方面:2.1. VB开发环境VB可视化编程通常需要使用VB开发环境,例如或VB6。
这些开发环境提供了一个集成的开发环境,可以用于编写代码、设计用户界面和调试应用程序。
我们需要学习如何使用这些开发环境,并了解其常用功能和工具。
2.2. 控件的使用和属性设置在VB可视化编程中,控件是构建用户界面的基本组件。
我们需要学习各种常用控件的用法,并了解如何设置其属性和事件。
例如,按钮控件用于触发某些操作,文本框控件用于接收用户输入,标签控件用于显示文本等。
通过熟悉控件的使用和属性设置,我们可以实现各种复杂的用户界面和功能。
2.3. 事件处理程序的编写VB可视化编程中的事件处理程序用于响应用户的操作或系统的事件。
我们需要学习如何编写事件处理程序,并了解如何与控件的事件进行关联。
例如,当用户点击按钮时,我们可以编写相应的事件处理程序来执行一些操作。
通过编写事件处理程序,我们可以实现应用程序的各种交互和功能。
2.4. 调试和错误处理在进行VB可视化编程时,我们经常会遇到各种错误和问题。
因此,学习如何调试和处理错误是非常重要的。
实验六、数据控件及其应用
实验知识点:
掌握Data控件连接数据库的方法,掌握绑定控件的相关设置,掌握记录集的相关属性及方法。
利用Data控件连接数据库后,用AddNew、Delete、Edit、Update和Refresh方法实现数据库基本操作。
实验要求:
用Data控件建立与数据库的连接,并在连接的基础上在相应的绑定控件中实时显示数据库中的数据,通过操作实现数据库中数据追加、修改、删除和查询。
实验步骤:
1用VB本身自带的可视化数据管理器建立student.mdb 本地数据库,其中包含两个表,即基本情况表和学生成绩表,并录入本班学生数据。
2根据实验设计需要在窗体上放上若干所需的标签控件、文本框控件、命令按钮控件等,并设置各控件的必要属性值。
3在窗体适当位置放置一个数据控件(Data控件,设置该数据控件的Connect、DatabaseName和RecordSource等属性,建立与student.mdb数据库的连接。
4设置界面上的控件与数据控件绑定,使之受数据控件约束,并可通过其显示数据库中数据。
5设置数据控件Visible属性为不可见,通过命令按钮的单击事件过程实现数据库中数据的逐条浏览、增加、修改、删除和查询。
6编写相关的事件过程程序代码,要求浏览时禁止一切增、删、改操作,而进行增、删、改操作时又禁止移动数据指针。
软件技术实验报告实验序号 1 名称VB控件班级08051101 学号2011302058姓名辛航博实验内容及完成情况:1)在屏幕上开辟一个窗口(文本框),窗口的上部放置一个标签,标签中显示:“欢迎使用Visual Basic6.0中文版”。
窗口的下部有三个按钮,左边按钮中标有“开始显示”,中间按钮中标有“清屏”,右边按钮中标有“结束”。
当鼠标单击左边按钮时,文本框中显示“欲穷千里目,更上一层楼!”如果单击中间按钮,则清除文本框中显示的内容,单击右边按钮则程序结束。
2)单击“清屏”后,让光标出现在文本框中,此时往文本框中输入若干文字,例如“您好”,然后单击窗体,使得在窗体的指定位置上显示在文本框中输入的文字。
3)若输入“白日依山尽,黄河入海流,欲穷千里目,更上一层楼!”此时文本框在一行中将显示不下所有文本,请试调整该文本框的“Multiline”属性,并将文本框纵向距离调整到可容纳两行以上文字。
实验中遇到的问题及解决方法:做出了符合要求的界面,基本完成了实验要求。
但初次接触控件,对控件的使用还不熟练,以后还需要时间练习。
实验中所涉及的知识及技术:文本框的双向作用(即输入与输出);窗体的双重作用(容器与输出);事件过程的编写;输入输出的简单实现;窗体、文本框、标签、命令按钮等基本控件的常用属性的动、静态设置等。
实验中的创新及功能扩充:通过相关属性的设置,不断改进软件的功能和外观,使其更加接近现实中使用的软件。
收获与体会:通过这次实验,让我对VB有了形象化的认识,再也不是书本上的文字认识。
而且通过这次实验也加深的对基本控件的认识。
了解并熟悉了文本框的双向作用(即输入与输出);窗体的双重作用(容器与输出);事件过程的编写;输入输出的简单实现;窗体、文本框、标签、命令按钮等基本控件的常用属性的动、静态设置等。
备注:。
软件技术实验报告实验序号 4 名称倒计时牌班级08051101 学号2011302058姓名辛航博实验内容及完成情况:设计一个具有实际应用价值的动态倒计时牌。
要求目标时间(即倒计时截至时间)的年、月、日、时、分、秒和倒计时主题可以根据不同主题由用户动态设定,并且在此设定基础上在屏幕上显示距离相关主题(如新年)到达之时还有n年、n天和n秒(其中的三个n各不相同,且随着程序运行动态变化),以北京时间作为主要显示板块。
程序中除了刚运行时给出一次当前标准时间值(或读出系统当前时间)外,在程序运行期间应在自己独立的用户时钟控制下,而不受外界输入影响和系统时间的束缚。
1)根据实验设计需要在窗体上放上若干所需的标签控件、文本框控件、时钟控件、框架控件、组合框控件、命令按钮控件等,并设置各控件的必要属性值。
2)在程序中用时钟控件不断触发系统时间与预设定时间时间截止点的时间差:分别计算当前时间和预设定时间截止点之间相差的整年数、当前时间到时间截止点还差的不足一年的天数和当前时间到时间截止点之间相差的不足一天的秒数并分别显示之。
3)程序中调用系统时间综合使用了“Now”函数和“Format”函数,其完整形式为:Format(Now, “hh:mm:ss”)Format(Now,“mm/dd/yy”)前者可以按照“小时:分钟:秒”的形式返回当前时间;后者可以按照“月/日/年”的形式返回。
4)为保证应用程序的灵活性,应在倒计时牌上设有暂停、继续、时间校正和结束运行等特殊要求的激发点。
5)按照需要构筑程序框架并编写应用程序。
实验中遇到的问题及解决方法:时钟属性没有设置正确,“开始”按钮运行时出错。
认真检查后得以改正。
实验中所涉及的知识及技术:标准控件、文本框控件、时钟控件、框架控件、组合框控件、命令按钮控件的使用。
对各个控件必要属性的设置。
实验中的创新及功能扩充:为保证应用程序的灵活性,应在倒计时排上设置暂停、继续等激发点。
《VB程序设计》课程教学大纲课程代码:030331001课程英文名称Visual Basic Program Desigine课程总学时:40 讲课:32 实验:8 上机:0适用专业:电子信息工程专业大纲编写(修订)时间:2011.一、大纲使用说明(一)课程的地位及教学目标本课程为选修课,通过本课程的学习,使学生对VB程序设计步骤有总体的了解,建立面向对象编程、事件驱动机制的基本概念,为以后学习其他Windows下的编程语言打下良好的基础。
VB程序设计电子信息工程专业开设的一门技术基础课,主要讲授vb基本知识、基本理论和基本程序设计方法。
本课程在教学内容方面除基本知识、基本理论和基本方法的教学外,通过设计训练,着重培养学生的设计思维和设计能力。
通过本课程的学习,学生将达到以下要求:1.掌握vb基本程序设计方法、设计的一般规律,具有设计一般程序的初步能力;2.正确的运用面向对象的设计思想,事件驱动机制设计程序;3.掌握用vb控件设计应用程序的基本方法;4.掌握顺序,条件,循环三种程序结构;5.了解文件图形设计方法。
(二)知识、能力及技能方面的基本要求1. 要求学生具有较强的独立分析、设计编程及调试能力,掌握可视化程序设计方法;2.通过上机实践环节,提高学生调试程序的技能,培养学生良好的程序设计风格。
(三)实施说明1.教学方法:课堂讲授中要重点对基本概念、基本方法和解题思路的讲解;采用启发式教学,培养学生思考问题、分析问题和解决问题的能力;引导和鼓励学生通过实践和自学获取知识,培养学生的自学能力;增加讨论课,调动学生学习的主观能动性;注意培养学生提高调试程序的能力。
讲课要联系实际并注重培养学生的创新能力。
2.教学手段:本课程属于技术基础课,在教学中采用电子教案、CAI课件及多媒体教学系统等先进教学手段,以确保在有限的学时内,全面、高质量地完成课程教学任务。
(四)对先修课的要求本课程的教学必须在完成先修课程之后进行。
机械原理课程设计VB编程一、课程目标知识目标:1. 让学生掌握VB编程的基本语法和结构,理解机械原理在编程中的应用。
2. 使学生能够运用VB编程实现简单的机械运动模拟,如直线运动、圆周运动等。
3. 帮助学生了解计算机辅助设计与机械原理的关联,提高对机械原理的认识。
技能目标:1. 培养学生运用VB编程解决实际机械问题的能力,提高编程实践操作技能。
2. 培养学生独立思考、团队协作的能力,能够与他人共同完成复杂的机械运动模拟项目。
情感态度价值观目标:1. 培养学生对机械原理和计算机编程的兴趣,激发学生的创新意识和探索精神。
2. 培养学生具备良好的编程习惯,注重代码规范和工程实践。
3. 引导学生关注机械行业的发展,认识到所学知识在现实生活中的应用价值。
课程性质:本课程为机械原理与计算机编程相结合的实践性课程,注重培养学生的动手能力和实际问题解决能力。
学生特点:学生已具备一定的机械原理基础,对计算机编程有一定了解,但实践操作经验不足。
教学要求:结合学生特点和课程性质,采用任务驱动、项目教学等方法,引导学生动手实践,实现课程目标。
在教学过程中,关注学生的个体差异,提供个性化的指导和帮助,确保学生能够达到预期的学习成果。
二、教学内容1. VB编程基础:变量定义、数据类型、运算符、控制结构(顺序、选择、循环)等基本语法知识。
教材章节:第一章 VB编程概述,第二章 VB编程基础。
2. 机械原理知识回顾:运动学基本概念、运动方程、力学模型等。
教材章节:第三章 机械原理基础。
3. VB编程在机械原理中的应用:利用VB编程实现机械运动模拟,包括直线运动、圆周运动等。
教材章节:第四章 VB编程在机械原理中的应用。
4. 项目实践:分组进行项目设计,实现具有一定难度的机械运动模拟。
教材章节:第五章 机械运动模拟项目实践。
5. 课程总结与拓展:总结所学知识,探讨机械原理与VB编程的结合在工程实践中的应用,引导学生进行拓展学习。
软件技术实验报告实验序号 3 名称VB程序设计技巧---计算器班级08051101 学号2011302058姓名辛航博实验内容及完成情况:设计一个可以进行四则运算的简单计算器。
该计算器除了可以进行加、减、乘、除、求模(取余)等简单的四则运算外,还要求可以进行四则混合连算,并具有符合计算器日常使用习惯的容错纠错功能。
具体步骤如下:①在界面上建立按钮控件数组:首先在窗体中置入一个命令按钮控件后,将其激活并点击右键通过“复制”、“粘贴”的方法依次产生19个一样的命令按钮控件,其中在创建第一个“粘贴”控件时VB会询问“是否要创建控件数组?”回答“是”即可开始依次创建该控件数组。
②按钮属性的设置:将各按钮的caption属性分别设置为0,1,2……9,+、-、×,/,Mod,=,cls,Exit,注意在设置这些属性时其值与按钮控件的Index属性的对应性。
③其它控件的属性设置:文本框作为显示操作数和结果的控件,应遵循一般计算器的显示习惯,将其Alignment即对齐属性设置为“Right”,此外,将各控件相关的字体、字号等设置为统一风格。
④在程序的通用区定义四个窗体层变量:num1、num2、sum、act、前三个为双精度、act为整型变量。
⑤编写进行四则运算所需的程序作为命令按钮的单击事件过程。
实验中遇到的问题及解决方法:在使用Select语句时,例如“ Case Index case n”不清楚具体n的含义,对基本语句掌握不好,导致最后运行时出现运行加减乘除时,老是出现错误。
解决方法:通过问小组成员,寻求帮助后,解释select语句的使用方法及n的含义,将杂乱无序的n 的值按对应的属性序号修改后,运行正常。
实验中所涉及的知识及技术:(1)放置按钮控件时,控件的“复制”“粘贴”方法,即置入一个控件后,将其激活并点击右键通过复制粘贴方法去产生将要使用的19个一样的命令按钮控件,其中在创建第一个“粘贴”控件时VB会询问“是否要创建控件数组?”回答“是”即可开始依次创建数组。
vb std 用法-回复VB Std 是Visual Basic语言的标准库,提供了一系列的函数、类和方法,帮助程序员在VB开发中更加便捷地实现各种功能。
本文将详细介绍VB Std的用法,并通过一步一步的解释和示例代码,帮助读者更好地理解和应用该标准库。
第一步:引入VB Std在VB项目中使用VB Std需要首先引入该库。
可以在VB的项目设置中找到“引用”或“References”的选项,然后添加VB Std。
引入后,即可在代码中使用该库提供的功能。
第二步:函数的使用VB Std提供了众多的函数,方便程序员进行数学计算、字符串处理、文件操作等。
下面以常用的数学计算函数和字符串处理函数为例,介绍函数的使用方法。
1. 数学计算函数:VB Std提供了常见的数学计算函数,如求绝对值(abs)、平方根(sqrt)、取整(round)等。
这些函数可以实现各种数学运算,下面展示一些示例代码:vbDim num As Integer = -5Dim absNum As Integer = Math.Abs(num) ' 求绝对值Dim sqrtNum As Double = Math.Sqrt(25) ' 求平方根Dim roundNum As Integer = Math.Round(3.7) ' 四舍五入取整2. 字符串处理函数:VB Std还提供了丰富的字符串处理函数,如字符串拼接(concatenate)、字符串截取(substring)、字符串替换(replace)等。
这些函数可以帮助程序员更方便地处理字符串,下面是一些示例代码:vbDim str1 As String = "Hello"Dim str2 As String = "World!"Dim concatStr As String = String.Concat(str1, " ", str2) ' 字符串拼接Dim subStr As String = str1.Substring(0, 3) ' 字符串截取Dim replaceStr As String = str2.Replace("World", "VB Std") ' 字符串替换第三步:类的使用VB Std还提供了各种实用的类,如日期时间类(DateTime)、文件操作类(File)、网络请求类(HttpWebRequest)等。
v b课的D M L操作三、S Q L的数据操纵(D M L)•1、S Q L的数据查询•(1)S E L E C T语句格式:•其语法形式为:•S E L E C T[A L L|D I S T I N C T]字段名表[A S别名]F R O M表名W H E R E 查询条件G R O U P B Y分组字段H A V I N G分组条件O R D E R B Y字段[A S C|D E S C]•其中:字段名表部分包含了查询结果要显示的字段清单,字段之间用逗号分开。
要选择表中所有字段,可用星号¡°*¡±代替。
如果所选定的字段要更名,可在该字段后用A S[新名]实现。
•F R O M子句——用于指定¡ª个或多个表。
如果所选的字段来自不同的表,则字段名前应加表名前缀。
•W H E R E子句——用于限制记录的选择。
构造查询条件可使用大多数的V i s u a l B a s i c内部函数和运算符,以及S Q L特有的运算符构成表达式。
•G R O U P B Y和H A V I N G子句——用于分组和分组过滤处理。
它能把在指定字段列表中有相同值的记录合并成一条记录。
•如果在S E L E C T语句中含有S Q L合计函数,例如S U M或C O U N T,那么就为每条记录创建摘要值。
•在G R O U P B Y字段中的N U L L值会被分组,并不省略。
但是,在任何S Q L合计函数中都计算N U L L值。
•可用W H E R E子句来排除不想分组的行,将记录分组后,也可用H A V I N G子句来筛选它们。
•一旦G R O U P B Y完成了记录分组,H A V I N G就显示由G R O U P B Y子句分组的、且满足H A V I N G子句条件的所有记录。
•O R D E R B Y子句¡——决定了查找出来的记录的排列顺序。
在O R D E R B Y子句中,可以指定一个或多个字段作为排序键,A S C 选项代表升序,D E S C代表降序。
•S Q L语句中,S E L E C T和F R O M子句是必须的,它告诉V i s u a lB a s i c从何处来找想要的数据,通过使用S E L EC T语句可返回一个记录集。
•可在S E L E C T子句内使用合计函数对记录进行操作,它返回一组记录的单¡ª值。
例如,A V G函数可以返回记录集的特定字段中所有值的平均数。
•(2)单表查询:•所谓单表查询是指查询的目标是集中于一个基本表或者视图。
•例:前述的项目零件供应数据库中有四个基本表(关系):•供应商关系:供应商表(供应商编号,供应商名称,状态,地址)•零件关系:零件表(零件编号,零件名称,颜色,重量)•工程项目关系:工程表(工程编号,工程名称,城市,收支差额)•供应情况关系:供应情况表(供应商编号,零件编号,工程编号,单价,数量)•其中:•供应商关系:供应商表•供应商编号供应商名称状态地址•S1原料公司10西安友谊路23号•S2红星钢管厂30上海浦东100号•S3零件制造公司20西安东郊55号•S4配件公司50江西胜利路58号•S5原料厂40北京三环路89号•S6东方配件厂60天津叶西路100号•零件关系:零件表•零件编号零件名称颜色重量•P1钢筋黑25•P2钢管白26•P3螺母红11•P4螺丝黄12•P5齿轮红18•工程项目关系:工程表•工程编号工程名称城市收支差额•J1东方明珠上海0.00•J2炼油厂长春-11.20•J3地铁三号北京678.00•J4明珠线上海345.00•J5炼钢工地天津123.00•J6南浦大桥上海234.50•J7红星水泥厂江西345.60•供应情况关系:供应情况表•供应商编号零件编号工程编号单价数量•S1P1J122.60 80•S1P1J422.60 60•S1P3J122.80 100•S1P3J422.80 60•S3P3J522.10 100•S3P4J111.90 30•S3P4J411.90 60•S4P2J433.80 60•S5P5J122.80 20•S5P5J422.80 60•S6P3J113.00 20•S1P3J622.806•S3P4J611.906•S4P2J633.808•S5P5J622.808•基于前述四个表完成下列查询:•①检索供应工程J1零件的供应商编号:•S E L E C T D I S T I N C T供应商编号F R O M供应情况表W H E R E工程编号="J1"•S E L E C T子句后面的D I S T I N C T表示要在结果中去掉重复的供应商编号。
•②检索供应工程J1零件P1的供应商编号:•S E L E C T供应商编号F R O M供应情况表W H E R E工程编号="J1"A N D零件编号="P1"•③查询全体工程项目的详细信息:•S E L E C T*F R O M工程表;•如果要查询F R O M子句后面指定的基本表的全体属性时,可以用“*”表示。
所以上面的语句等价于:•S E L E C T工程编号,工程名称,城市,收支差额F R O M工程表;•④查询没有正余额的工程编号、名称及城市,结果按工程编号升序排列。
•S E L E C T工程编号,工程名称,城市F R O M工程表W H E R E收支差额I S N U L L O R收支差额<=0O R D E R B Y工程编号;•在这个查询中用到了谓词“I S N U L L”,当B A L A N C E值为空时,B A L A N C E I S N U L L的值为真(T R U E),否则为假(F A L S E)。
与“I S N U L L”相对的谓词是“I S N O T N U L L”,当B A L A N C E值为非空值时,B A L A N C E I S N O T N U L L的值为真(T R U E),否则为假(F A L S E)。
•⑤求使用零件数量在100与1000之间的工程项目编号,零件编号和数量:•S E L E C T工程编号,零件编号,数量F R O M供应情况表W H E R E 数量B E T W E E N100A N D1000;•⑥查询上海的供应商名称,假设供应商关系的A D D R列的值都以城市名开头:•S E L E C T供应商名称F R O M供应商表W H E R E地址L I K E"上海%"•条件表达式:列名L I K E字符串常数•这里:列名的类型必须是字符串或可变字符串。
在字符串常数中字符的含义如下:•%(百分号):表示可以与任意长度(可以为零)的字符串匹配。
•_(下划线):表示可以与任意单个字符匹配。
•所有其他的字符只代表自己。
•(3)多表查询:•实现来自多个关系的查询时,如果要引用不同关系中的同名属性,则在属性名前加关系名,即用“关系名.属性名”的形式表示,以便区分。
•在多个关系上的查询可以用联接查询和嵌套查询来实现,联接查询又称为自然连接,其先决条件是在相关表中有相同的属性。
•例:基于前述四表•①求使用了P3零件的工程项目名称:•S E L E C T D I S T I N C T工程名称F R O M工程表,供应情况表W H E R E供应情况表.工程编号=工程表.工程编号A N D零件编号='P3'•这里,要对关系供应情况表和工程表做联接操作。
表示方法是F R O M子句后面写上执行联接操作的表名(逗号分隔多个表)再在W H E R E子句中写上联接的条件。
•②求供应工程J1零件为红色的供应商编号:•S E L E C T D I S T I N C T供应商编号F R O M供应情况表,零件表W H E R E供应情况表.零件编号=零件表.零件编号A N D工程编号=“J1”A N D颜色=“红”•③求至少使用了零件编号为P3和P5的工程编号J N O:•S E L E C T D I S T I N C T X.工程编号F R O M供应情况表A S X,供应情况表A S Y W H E R E X.工程编号=Y.工程编号A N D X.零件编号=“P3”A N D Y.零件编号=“P5”•同一个关系供应情况表在一层中出现两次,为区别,引入两个元组变量(即别名)X和Y。
在语句中应用元组变量对列名进行限定。
保留字A S 在语句中可省略。
•(4)合计函数——S Q L提供了下列合计函数:•合计函数描述•C O U N T(*)计算元组的个数•C O U N T(列名)对一列中的值计算个数•S U M(列名)求某一列值的总和(此列必须是数值型)•A V G(列名)求某一列值的平均值(此列必须是数值型)•M A X(列名)求某一列值的最大值•M I N(列名)求某一列值的最小值•例:对关系工程表,零件表,供应情况表进行查询,并完成如下操作:•①求供应P3零件的供应商个数:•S E L E C T C O U N T(D I S T I N C T供应商编号)A S供应商个数F R O M供应情况表W H E R E零件编号='P3'•这个查询结果只有一行和一列,就是供应“P3”零件的供应商个数。
•②求收支差额的最大值,最小值,总值和平均值:•S E L E C T M A X(收支差额)A S收支差额最大值,M I N(收支差额)A S 收支差额最小值,S U M(收支差额)A S收支差额总值,A V G(收支差额)A S收支差额平均值F R O M工程表;•在实际使用时,A S字样可省略。
•对前述学生数据库S t u d e n t.m d b作如下操作:•①求机械专业学生入学时的平均成绩;•S E L E C T A V G(入学成绩)A S平均成绩F R O M基本情况表W H E R E专业="机械"•②统计学生中大于18岁的女生的人数;•S E L E C T C O U N T(学号)A S女生人数F R O M基本情况表W H E R E性别="女"A N D出生年月<#1989-9-30#•③统计计算机专业学生高等数学的平均分;•S E L E C T A V G(成绩)A S高数平均分F R O M基本情况表,学生成绩表W H E R E基本情况表.专业="计算机"A N D基本情况表.学号=学生成绩表.学号A N D学生成绩表.课程="高数"•(5)数据分组:•在实际应用中,经常需要将查询结果进行分组,然后再对每个分组进行统计,S Q L语言提供了G R O U P B Y子句和H A V I N G子句来实现分组统计。