SY51203LZD01X20工作原理文档格式.docx

上传人:b****4 文档编号:6977766 上传时间:2023-05-07 格式:DOCX 页数:12 大小:1.66MB
下载 相关 举报
SY51203LZD01X20工作原理文档格式.docx_第1页
第1页 / 共12页
SY51203LZD01X20工作原理文档格式.docx_第2页
第2页 / 共12页
SY51203LZD01X20工作原理文档格式.docx_第3页
第3页 / 共12页
SY51203LZD01X20工作原理文档格式.docx_第4页
第4页 / 共12页
SY51203LZD01X20工作原理文档格式.docx_第5页
第5页 / 共12页
SY51203LZD01X20工作原理文档格式.docx_第6页
第6页 / 共12页
SY51203LZD01X20工作原理文档格式.docx_第7页
第7页 / 共12页
SY51203LZD01X20工作原理文档格式.docx_第8页
第8页 / 共12页
SY51203LZD01X20工作原理文档格式.docx_第9页
第9页 / 共12页
SY51203LZD01X20工作原理文档格式.docx_第10页
第10页 / 共12页
SY51203LZD01X20工作原理文档格式.docx_第11页
第11页 / 共12页
SY51203LZD01X20工作原理文档格式.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SY51203LZD01X20工作原理文档格式.docx

《SY51203LZD01X20工作原理文档格式.docx》由会员分享,可在线阅读,更多相关《SY51203LZD01X20工作原理文档格式.docx(12页珍藏版)》请在冰点文库上搜索。

SY51203LZD01X20工作原理文档格式.docx

a:

6:

{i:

0;s:

15502:

"PLC课程设计立体仓库控制系统@#@目录@#@1、绪论1@#@1.1立体仓库发展的意义1@#@1.2立体仓库的概述1@#@2、系统工作原理2@#@3、立体仓库的硬件配置2@#@3.1PLC简介2@#@3.2CPU处理模块2@#@3.3立体仓库的I/O分配3@#@3.4立体仓库的外部接线4@#@4、立体仓库软件设计5@#@4.1编程软件介绍5@#@4.2立体仓库程序设计及分析6@#@4.2.1程序的设计6@#@4.2.2程序分析6@#@5、立体仓库监控界面的设计7@#@5.1组态软件的概述7@#@5.2定义数据词典8@#@5.3用户界面的制作8@#@5.4命令语言的编写9@#@6、程序调试10@#@7、实验体会11@#@参考文献11@#@附录程序梯形图12@#@立体仓库控制系统@#@张保明沈阳航空航天大学北方科技学院@#@摘要:

@#@立体仓库控制系统也称自动存取系统,通常指采用几层至几十层高的货架,并用自动化物料搬运设备进行货物出、入库作业的仓库。

@#@本文主要采用PLC实现对立体仓库的下位机控制,并通过组态软件对上位机进行实时监控。

@#@文中首先介绍了PLC和立体仓库的工作原理,在设计硬件的基础上,对软件进行设计,采用组态软件建立人机监控界面,包括组态界面的制作方案,功能语言的实现,最后对系统进行调试,并给出相关的参考程序,使自动存取过程得以实现,并能实时的监控输送过程。

@#@@#@关键词:

@#@立体仓库;@#@自动存取;@#@PLC;@#@组态软件;@#@实时监控@#@1、绪论@#@1.1立体仓库发展的意义@#@立体仓库的特点在于以高层立体货架为标志,以成套先进搬运设备为基础,以先进的计算机控制技术为主要手段,高效率地利用仓储空间,节约时间和人力进行各种作业,具有巨大地社会效益和经济效益,因此被普遍应用于机器制造业、电器制造业、航空港、轻工和化工企业、商储业、军需部门等各行各业。

@#@其中自动化的立体仓库更是具有广阔市场前景。

@#@它集机械、电子、控制、计算机技术于一体,具有科技含量高,货物存取效率高和自动化程度高等优点,在物流监控技术、计算机应用技术、通信技术、货位优化管理等技术领域都有很好的应用。

@#@从制造工厂、商场、机场,到港口、军需部地下室冷库到都少不了立体仓库的身影,特别是随着人们生活水平的提高,自我国的机动车数量日益猛增,传统的停车场已经不能满足人们的需求,于是人们将立体仓库这一理念和技术应用于停车库,很多城市都相继出现了立体停车库,使停车难的问题逐渐得以缓解,所以为了更好的合理利用资源、保证产需均衡、提高物流效率,我们对于自动化立体仓库的研究迫在眉睫。

@#@@#@1.2立体仓库的概述@#@立体仓库一般由高层货架、仓储机械设备、建筑物及控制和管理设施等部分组成。

@#@货架的形式有很多,材料一般用钢材或钢筋混凝土制作。

@#@钢货架的优点是构件尺寸小,仓库空间利用率高,制作方便,安装建设周期短。

@#@而且随着高度的增加,钢货架比混凝土货架的优越性更加明显。

@#@为了提高货物装卸、存取效率,自动化立体仓库一般使用货箱或托盘盛放货物。

@#@货箱与托盘的基本功能是盛放小件物料,同时还应便于运输车和堆跺机的插取和存放。

@#@搬运设备是自动化仓库中的重要设备,它们一般由电力驱动,通过手动或自动控制,实现把货物从一处搬运到另一处。

@#@输送系统必须具有高度的可靠性。

@#@在立体仓库内,一般只有一套输送系统,一旦发生故障,就会使整个仓库工作受到影响。

@#@所以,要求输送系统的各个环节上的设备可靠、耐用、维修方便。

@#@对输送系统设置手动控制做后备。

@#@@#@2、系统工作原理@#@自动化立体仓库是通过堆垛机在巷道内运行,通过认址将货物放入指定货位内。

@#@本设计中自动化立体仓库的工作原理为通过按钮控制堆垛机的运行路线,在堆垛机的牵引槽内放置若干的限位开关,当总控制台将位置信号传输给堆垛机时,堆垛机开始运行。

@#@运行至指定巷道时,限位开关关闭,堆垛机停止运行,通过按钮将层信号传输给升降台,再由升降台牵引柱上的限位开关控制升降台的上下位置,当升降至指定库位时,限位开关闭合,升降台停止运动。

@#@由控制按钮控制升降台上的传送带将货物取出或放入指定的货位。

@#@自动化立体仓库工作流程图如图所示。

@#@@#@3、立体仓库的硬件配置@#@3.1PLC简介@#@PLC控制器采用的是西门子电工生产的S7系列的可编程序控制器S7-200。

@#@@#@S7-200是一种小型的可编程序控制器,适用于各行各业,各种场合中的检测、监测及控制的自动化。

@#@S7-200系列的强大功能使其无论在独立运行中,或相连成网络皆能实现复杂控制功能。

@#@因此S7-200系列具有极高的性能/价格比。

@#@@#@3.2CPU处理模块@#@CPU224模块输入、输出单元的接线图如图3-1所示。

@#@@#@图3-1CPU224模块输入、输出单元的接线图@#@3.3立体仓库的I/O分配@#@本系统需要18个输入点和6个输出点。

@#@根据PLC的特点和系统设计的需要,输入信号包括仓位按钮、启动按钮、仓位检测、限位开关等等。

@#@输出信号包括X轴Y轴和Z轴电机的正反转。

@#@其I/O分配如表1所示。

@#@@#@表1元件地址I/O分配@#@PLC地址(PLC端子)@#@电气符号(面板端子)@#@功能说明@#@I2.2@#@SB1@#@自动运行启动@#@I2.3@#@SB2@#@0号仓位检测@#@I0.0@#@SD1@#@1号仓位按钮@#@I0.1@#@SD2@#@2号仓位按钮@#@I0.2@#@SD3@#@3号仓位按钮@#@I0.3@#@SD4@#@4号仓位按钮@#@I0.4@#@SB3@#@1号仓位检测@#@I0.5@#@SB4@#@2号仓位检测@#@I0.6@#@SB5@#@3号仓位检测@#@I2.1@#@SB6@#@4号仓位检测@#@I0.7@#@SQ1@#@X轴限位检测1@#@I1.0@#@SQ2@#@X轴限位检测2@#@I1.1@#@SQ3@#@X轴限位检测3@#@I1.2@#@SQ4@#@Y轴限位检测1@#@I1.3@#@SQ5@#@Y轴限位检测2@#@I1.4@#@SQ6@#@Y轴限位检测3@#@I1.5@#@SQ7@#@Z轴限位检测1@#@I2.0@#@SQ8@#@Z轴限位检测2@#@Q0.0@#@M1@#@X轴电机正转@#@Q0.1@#@M1@#@X轴电机反转@#@Q0.2@#@M2@#@Y轴电机正转@#@Q0.3@#@M2@#@Y轴电机反转@#@Q0.4@#@M3@#@Z轴电机正转@#@Q0.5@#@M3@#@Z轴电机反转@#@3.4立体仓库的外部接线@#@根据元件地址I/O分配表,PLC输入点I0.0~I0.3分别与1~4号仓位按钮连接,I0.4~I0.7分别与1~4号仓位检测开关连接,I1.0~I1.2分别与X轴三个限位开关连接,I1.3~I1.5分别与Y轴三个限位开关连接,I2.0~I2.1分别与Z轴的两个限位开关连接。

@#@@#@PLC输出点Q0.0~Q0.5分别与X轴正转和反转(M1)、Y轴正转和反转(M2)、Z轴正转和反转(M3)连接。

@#@外部接线图如图3-2所示。

@#@@#@图3-2PLC外部接线图@#@4、立体仓库软件设计@#@4.1编程软件介绍@#@STEP7编程软件用于西门子系列工控产品包括SIMATICS7、M7、C7和基于PC的WinAC的编程、监控和参数设置,是SIMATIC工业软件的重要组成部分。

@#@STEP7具有以下功能:

@#@硬件配置和参数设置、通讯组态、编程、测试、启动和维护、文件建档、运行和诊断功能等。

@#@STEP7的所有功能均有大量的在线帮助,用鼠标打开或选中某一对象,按F1可以得到该对象的相关帮助。

@#@在STEP7中,用项目来管理一个自动化系统的硬件和软件。

@#@STEP7用SIMATIC管理器对项目进行集中管理,它可以方便地浏览SIMATICS7、M7、C7和WinAC的数据。

@#@实现STEP7各种功能所需的SIMATIC软件工具都集成在STEP7中。

@#@PC/MPI适配器用于连接安装了STEP7的计算机的RS-232C接口和PLC的MPI接口。

@#@@#@4.2立体仓库程序设计及分析@#@4.2.1程序的设计@#@立体仓库系统自动运行分为两个部分,系统启动之后,各机构复位。

@#@当零号仓位有小车时,延时15秒之后自动将小车放在仓库号最小的空位上(演示程序2),如果在15秒内,有按键按下,则运行机构将小车放入与按键号相对应的仓库里。

@#@当零号仓位上没有小车时,延时15秒后运行机构将数值最大仓库号里的小车转运至没有放货物的仓号比它小的仓库里(延时程序1)。

@#@其顺序流程图如图4-1所示。

@#@@#@图4-1立体仓库自动运行顺序流程图@#@4.2.2程序分析@#@当选择开关置于手动位置,分别点动按键←1、2↓、3→、4↙、5↑、6↗,X轴、Y轴、Z轴都对应运行。

@#@@#@当选择开关置于自动位置,M3、M2、M1依次翻转,各机构复位,将开关I2.3打开即将一小车放入零号仓位,计时器开始计时,15秒内按下任意按钮(1、2、3、4),小车被运往对应的仓库内,15秒内无内部操作,自动将货物放在仓库号最小的仓库。

@#@如1#、3#、4#都已存放货物,15秒内若无外部操作指令,自动将货物放在2#仓库。

@#@如果开关I2.3没打开即玲号仓位没小车,计时器开始计时,15秒之后把数值最大仓库号里的物品转运至没有放货物的仓号比它小的仓库里。

@#@如1#、2#、5#有物,该程序将自动把5#物品转至3#仓库。

@#@@#@5、立体仓库监控界面的设计@#@5.1组态软件的概述@#@组态王(KingView)是目前国内比较流行的一种国产工业自动化通用组态软件,适用于中小规模工业监控机,价格低廉。

@#@组态王配有加密锁,支持工程加密;@#@驱动程序较为丰富,如支持DDE、板卡、OPC服务器、PLC、智能仪表、智能模块等;@#@支持ActiveX控件、配方管理、数据库访问、网络功能、冗余功能,其扩展性强,可与管理计算机或控制计算机联网通信。

@#@@#@组态王主要用来组成监控和数据采集系统,使现场的信息实时地传送到控制室,保证现场操作人员和工厂管理人员都可以看到各种数据。

@#@管理人员不需要深入生产现场,就可以获得实时和历史数据。

@#@优化控制现场作业,提高生产率和产品质量。

@#@组态王拥有丰富的工具箱、图库和操作向导,简单易学,在工业控制中应用广泛。

@#@@#@“组态王652”是运行于微软中文平台的全中文界面的组态软件.软件安装界面如图15所示。

@#@它采用了多线程、COM组件等新技术,实现了实时多任务,软件运行稳定可靠。

@#@组态王具有一个集成开发环境“组态王工程浏览器”,在工程浏览器中可以查看工程的各个组成部分.也可以完成构造数据库、定义外部设备等工作。

@#@组态王把第一台下位机看作是外部设备,在开发过程中可以根据“设备配置向导”的提示一步步完成连接过程。

@#@在运行期间,组态王通过驱动程序和这些外部设备交换数据,包括采集数据和发送数据/指令。

@#@每一个驱动程序都是一个COM对象,这种方式使通讯程序和组态王构成一个完整的系统,既保证了运行系统的高效率,也使系统能够达到很大的规模。

@#@@#@5.2定义数据词典@#@在系统中要先对不同类型的数据进行定义才能进行系统的设计。

@#@本系统实时数据的定义如表2所示。

@#@@#@表2 数据词典的定义@#@数据对象@#@类型@#@PLC地址@#@解释说明@#@I00@#@开关型@#@I0.0@#@向上@#@I01@#@开关型@#@I0.1@#@向下@#@I02@#@开关型@#@I0.2@#@向左@#@I03@#@开关型@#@I0.3@#@向右@#@I04@#@开关型@#@I0.4@#@取@#@I05@#@开关型@#@I0.5@#@放@#@I06@#@开关型@#@I0.6@#@1号仓@#@I07@#@开关型@#@I0.7@#@2号仓@#@I10@#@开关型@#@I1.0@#@3号仓@#@I11@#@开关型@#@I1.1@#@4号仓@#@movex1@#@数值型@#@无@#@水平移动@#@movey2@#@数值型@#@无@#@垂直移动@#@5.3用户界面的制作@#@立体仓库登陆界面如图5-1所示,监控系统界面如图5-2所示。

@#@@#@图5-1立体仓库登陆界面@#@图5-2立体仓库监控画面@#@5.4命令语言的编写@#@用户界面制作完成后要与界面编制程序,程序是用户界面的后台支持。

@#@一方面程序使得用户界面与下位机PLC实现通讯,使用户界面可以控制系统的运行。

@#@另一方面程序建立了画面中动画和系统状态的联系,使用户画面中可以实时的反应系统的运行情况。

@#@本系统编写的命令语言如下:

@#@@#@向上移动:

@#@@#@\\本站点\上=1;@#@@#@\\本站点\Y1=\\本站点\Y1+5;@#@@#@\\本站点\下=0;@#@@#@向下移动:

@#@@#@\\本站点\下=1;@#@@#@\\本站点\上=0;@#@@#@\\本站点\Y1=\\本站点\Y1-5;@#@@#@向左移动:

@#@@#@\\本站点\左=1;@#@@#@\\本站点\右=0;@#@@#@\\本站点\X1=\\本站点\X1-5;@#@@#@向右移动:

@#@@#@\\本站点\右=1;@#@@#@\\本站点\左=0;@#@@#@\\本站点\X1=\\本站点\X1+5;@#@@#@6、程序调试@#@本次课设我采用的是以转换为中心的顺序功能图设计方法,这种设计方法特别有规律,梯形图与转换实现的基本规则之间有着严格的对应关系,在设计复杂的顺序功能图的梯形图时既容易掌握,又不容易出错,出现错误容易查找。

@#@@#@在我设计之初我用一个寄存器同事控制X轴和Y轴的正转或者反转,但是由于X、Y轴的限位开关与远点的距离各不相同,因此在运行到这一步时一直出现错误,之后我在寄存器与对应的输出之间串入它们对应的限位开关解决了这一问题。

@#@@#@在程序编程结束时我又发现了一个与现实相冲突的问题,就是在Z轴没有完全撤出的情况下X轴和Y轴不能移动,否则就会损坏设备,因此我把复位程序中X、Y、Z轴的先后顺序做了调整,先让Z轴复位,然后再让XY轴复位。

@#@@#@7、实验体会@#@通过本次的控制系统综合实验课程设计,深刻体会到了自己知识的匮乏。

@#@本次课程设计的题目是立体仓库控制系统设计。

@#@通过查找资料,结合书本中所学的知识,完成了课程设计的内容。

@#@把书中所学的理论知识和具体的实践相结合,有利于我们对课本中所学知识的理解,并加强了我们的动手能力。

@#@ @#@@#@在课程设计之前,我通过各个渠道查找资料后分析验证,经过多次的修改和整理,作了如上的设计思路。

@#@虽然这次设计一开始是按照设计要求去完成的,但由于在实际操作中,出现了比较大的问题,导致以上的准备资料,在实际操作中都未能派上用场。

@#@在这次的课程设计过程中,我懂得了很多,课程设计不光是让我们去“设计”,更重要的是培养我们的能力!

@#@通过本次课程设计使我对自动控制又有了进一步的了解,增加了对所学知识的应用@#@参考文献@#@[1]赵相宾.可编程控制器技术与应用系统设计.机械工业出版社,2002,7@#@[2]廖常初.PLC编程及应用.机械工业出版社,2005,3@#@[3]胡学林.可编程控制器原理及应用.电子工业出版社,2007,1@#@[4]梁延东.电梯控制技术.中国建筑工业出版社,2008:

@#@42-44@#@[5]常晓玲.电器控制系统与可编程控制器.机械工业出版,2008:

@#@78-80@#@ @#@@#@附录程序梯形图@#@";i:

1;s:

24745:

"python网络爬虫@#@python-网络爬虫@#@ @#@@#@抓取网页的含义和URL基本构成@#@1、网络爬虫的定义@#@网络爬虫,即WebSpider,是一个很形象的名字。

@#@@#@把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。

@#@@#@网络蜘蛛是通过网页的链接地址来寻找网页的。

@#@@#@从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,@#@然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。

@#@@#@如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。

@#@@#@这样看来,网络爬虫就是一个爬行程序,一个抓取网页的程序。

@#@@#@网络爬虫的基本操作是抓取网页。

@#@@#@那么如何才能随心所欲地获得自己想要的页面?

@#@@#@我们先从URL开始。

@#@@#@2、浏览网页的过程@#@抓取网页的过程其实和读者平时使用IE浏览器浏览网页的道理是一样的。

@#@@#@比如说你在浏览器的地址栏中输入 @#@ @#@ @#@ @#@这个地址。

@#@@#@打开网页的过程其实就是浏览器作为一个浏览的“客户端”,向服务器端发送了一次请求,把服务器端的文件“抓”到本地,再进行解释、展现。

@#@@#@HTML是一种标记语言,用标签标记内容并加以解析和区分。

@#@@#@浏览器的功能是将获取到的HTML代码进行解析,然后将原始的代码转变成我们直接看到的网站页面。

@#@@#@3、URI的概念和举例@#@简单的来讲,URL就是在浏览器端输入的 @#@ @#@ @#@ @#@ @#@这个字符串。

@#@@#@在理解URL之前,首先要理解URI的概念。

@#@@#@什么是URI?

@#@@#@Web上每种可用的资源,如HTML文档、图像、视频片段、程序等都由一个通用资源标志符(UniversalResourceIdentifier,URI)进行定位。

@#@ @#@@#@URI通常由三部分组成:

@#@@#@①访问资源的命名机制;@#@@#@②存放资源的主机名;@#@@#@③资源自身的名称,由路径表示。

@#@@#@如下面的URI:

@#@@#@我们可以这样解释它:

@#@@#@①这是一个可以通过HTTP协议访问的资源,@#@②位于主机上,@#@③通过路径“/html/html40”访问。

@#@ @#@@#@4、URL的理解和举例@#@URL是URI的一个子集。

@#@它是UniformResourceLocator的缩写,译为“统一资源定位符”。

@#@@#@通俗地说,URL是Internet上描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上。

@#@@#@采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。

@#@@#@URL的格式由三部分组成:

@#@ @#@@#@①第一部分是协议(或称为服务方式)。

@#@@#@②第二部分是存有该资源的主机IP地址(有时也包括端口号)。

@#@@#@③第三部分是主机资源的具体地址,如目录和文件名等。

@#@@#@第一部分和第二部分用“:

@#@//”符号隔开,@#@第二部分和第三部分用“/”符号隔开。

@#@@#@第一部分和第二部分是不可缺少的,第三部分有时可以省略。

@#@ @#@@#@下面来看看两个URL的小例子。

@#@@#@1.HTTP协议的URL示例:

@#@@#@使用超级文本传输协议HTTP,提供超级文本信息服务的资源。

@#@ @#@@#@例:

@#@ @#@@#@其计算机域名为。

@#@@#@超级文本文件(文件类型为.html)是在目录/channel下的welcome.htm。

@#@@#@这是中国人民日报的一台计算机。

@#@ @#@@#@例:

@#@ @#@@#@其计算机域名为。

@#@@#@超级文本文件(文件类型为.html)是在目录/talk下的talk1.htm。

@#@@#@这是瑞得聊天室的地址,可由此进入瑞得聊天室的第1室。

@#@@#@2.文件的URL@#@用URL表示文件时,服务器方式用file表示,后面要有主机IP地址、文件的存取路径(即目录)和文件名等信息。

@#@@#@有时可以省略目录和文件名,但“/”符号不能省略。

@#@ @#@@#@例:

@#@file:

@#@// @#@@#@上面这个URL代表存放在主机上的pub/files/目录下的一个文件,文件名是foobar.txt。

@#@@#@例:

@#@file:

@#@// @#@@#@代表主机上的目录/pub。

@#@ @#@@#@例:

@#@file:

@#@// @#@@#@代表主机的根目录。

@#@ @#@@#@爬虫最主要的处理对象就是URL,它根据URL地址取得所需要的文件内容,然后对它进行进一步的处理。

@#@@#@因此,准确地理解URL对理解网络爬虫至关重要。

@#@@#@利用urllib2通过指定的URL抓取网页内容@#@所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。

@#@ @#@@#@类似于使用程序模拟IE浏览器的功能,把URL作为HTTP请求的内容发送到服务器端,然后读取服务器端的响应资源。

@#@@#@在Python中,我们使用urllib2这个组件来抓取网页。

@#@@#@urllib2是Python的一个获取URLs(UniformResourceLocators)的组件。

@#@@#@它以urlopen函数的形式提供了一个非常简单的接口。

@#@@#@最简单的urllib2的应用代码只需要四行。

@#@@#@我们新建一个文件urllib2_test01.py来感受一下urllib2的作用:

@#@@#@[python] @#@viewplaincopy@#@1.import @#@urllib2 @#@ @#@@#@2.response @#@= @#@urllib2.urlopen('@#@ @#@ @#@@#@3.html @#@= @#@response.read() @#@ @#@@#@4.print @#@html @#@ @#@@#@按下F5可以看到运行的结果:

@#@@#@我们可以打开XX主页,右击,选择查看源代码(火狐OR谷歌浏览器均可),会发现也是完全一样的内容。

@#@@#@也就是说,上面这四行代码将我们访问XX时浏览器收到的代码们全部打印了出来。

@#@@#@这就是一个最简单的urllib2的例子。

@#@@#@除了"@#@http:

@#@"@#@,URL同样可以使用"@#@ftp:

@#@"@#@,"@#@file:

@#@"@#@等等来替代。

@#@@#@HTTP是基于请求和应答机制的:

@#@@#@客户端提出请求,服务端提供应答。

@#@@#@urllib2用一个Request对象来映射你提出的HTTP请求。

@#@@#@在它最简单的使用形式中你将用你要请求的地址创建一个Request对象,@#@通过调用urlopen并传入Request对象,将返回一个相关请求response对象,@#@这个应答对象如同一个文件对象,所以你可以在Response中调用.read()。

@#@@#@我们新建一个文件urllib2_test02.py来感受一下:

@#@@#@[python] @#@viewplaincopy@#@1.import @#@urllib2 @#@ @#@ @#@ @#@@#@2.req @#@= @#@urllib2.Request('@#@'@#@) @#@ @#@ @#@ @#@@#@3.response @#@= @#@urllib2.urlopen(req) @#@ @#@ @#@ @#@@#@4.the_page @#@= @#@response.read() @#@ @#@ @#@ @#@@#@5.print @#@the_page @#@ @#@@#@可以看到输出的内容和test01是一样的。

@#@@#@urllib2使用相同的接口处理所有的URL头。

@#@例如你可以像下面那样创建一个ftp请求。

@#@@#@[python] @#@viewplaincopy@#@1.req @#@= @#@urllib2.Request('@#@ftp:

@#@// @#@ @#@@#@在HTTP请求时,允许你做额外的两件事。

@#@@#@1.发送data表单数据@#@这个内容相信做过Web端的都不会陌生,@#@有时候你希望发送一些数据到URL(通常URL与CGI[通用网关接口]脚本,或其他WEB应用程序挂接)。

@#@@#@在HTTP中,这个经常使用熟知的POST请求发送。

@#@@#@这个通常在你提交一个HTML表单时由你的浏览器来做。

@#@@#@并不是所有的POSTs都来源于表单,你能够使用POST提交任意的数据到你自己的程序。

@#@@#@一般的HTML表单,data需要编码成标准形式。

@#@然后做为data参数传到Request对象。

@#@@#@编码工作使用urllib的函数而非urllib2。

@#@@#@我们新建一个文件urllib2_test03.py来感受一下:

@#@@#@[python] @#@viewplaincopy@#@1.import @#@urllib @#@ @#@ @#@ @#@@#@2.import @#@urllib2 @#@ @#@ @#@ @#@@#@3. @#@ @#@@#@4.url @#@= @#@'@#@ @#@ @#@ @#@ @#@@#@5. @#@ @#@ @#@ @#@@#@6.values @#@= @#@{'@#@name'@#@ @#@:

@#@ @#@'@#@WHY'@#@, @#@ @#@ @#@ @#@@#@7. @#@ @#@ @#@ @#@ @#@ @#@ @#@ @#@ @#@ @#@'@#@location'@#@ @#@:

@#@ @#@'@#@SDU'@#@, @#@ @#@ @#@ @#@@#@8. @#@ @#@ @#@ @#@ @#@ @#@ @#@ @#@ @#@ @#@'@#@language'@#@ @#@:

@#@ @#@'@#@Python'@#@ @#@} @#@ @#@ @#@ @#@@#@9. @#@ @#@@#@10.data @#@= @#@urllib.urlencode(values) @#@# @#@编码工作 @#@ @#@@#@11.req @#@= @#@urllib2.Request(url, @#@data) @#@ @#@# @#@发送请求同时传data表单 @#@ @#@@#@12.response @#@= @#@urllib2.urlopen(req) @#@ @#@#接受反馈的信息 @#@ @#@@#@13.the_page @#@= @#@response.read() @#@ @#@#读取反馈的内容 @#@ @#@@#@如果没有传送data参数,urllib2使用GET方式的请求。

@#@@#@GET和POST请求的不同之处是POST请求通常有"@#@副作用"@#@,@#@它们会由于某种途径改变系统状态(例如提交成堆垃圾到你的门口)。

@#@@#@Data同样可以通过在Get请求的URL本身上面编码来传送。

@#@@#@[python] @#@viewplaincopy@#@1.import @#@urllib2 @#@ @#@ @#@ @#@@#@2.import @#@urllib @#@ @#@@#@3. @#@ @#@@#@4.data @#@= @#@{} @#@ @#@@#@5. @#@ @#@@#@6.data['@#@name'@#@] @#@= @#@'@#@WHY'@#@ @#@ @#@ @#@ @#@@#@7.data['@#@location'@#@] @#@= @#@'@#@SDU'@#@ @#@ @#@ @#@ @#@@#@8.data['@#@language'@#@] @#@= @#@'@#@Python'@#@ @#@ @#@@#@9. @#@ @#@@#@10.url_values @#@= @#@urllib.urlencode(data) @#@ @#@ @#@ @#@@#@11.print @#@url_values @#@ @#@@#@12. @#@ @#@@#@13.name=Somebody+Here&@#@language=Python&@#@location=Northampton @#@ @#@ @#@ @#@@#@14.url @#@= @#@'@#@ @#@ @#@ @#@ @#@@#@15.full_url @#@= @#@url @#@+ @#@'@#@?

@#@'@#@ @#@+ @#@url_values @#@ @#@@#@16. @#@ @#@@#@17.data @#@= @#@urllib2.open(full_url) @#@ @#@ @#@ @#@@#@这样就实现了Data数据的Get传送。

@#@@#@2.设置Headers到http请求@#@有一些站点不喜欢被程序(非人为访问)访问,或者发送不同版本的内容到不同的浏览器。

@#@@#@默认的urllib2把自己作为“Python-urllib/x.y”(x和y是Python主版本和次版本号,例如Python-urllib/2.7),@#@这个身份可能会让站点迷惑,或者干脆不工作。

@#@@#@浏览器确认自己身份是通过User-Agent头,当你创建了一个请求对象,你可以给他一个包含头数据的字典。

@#@@#@下面的例子发送跟上面一样的内容,但把自身模拟成InternetExplorer。

@#@@#@[python] @#@viewplaincopy@#@1.import @#@urllib @#@ @#@ @#@ @#@@#@2.import @#@urllib2 @#@ @#@ @#@ @#@@#@3. @#@ @#@@#@4.url @#@= @#@'@#@ @#@ @#@@#@5. @#@ @#@@#@6.user_agent @#@= @#@'@#@Mozilla/4.0 @#@(compatible;@#@ @#@MSIE @#@5.5;@#@ @#@Windows @#@NT)'@#@ @#@ @#@ @#@ @#@@#@7.values @#@= @#@{'@#@name'@#@ @#@:

@#@ @#@'@#@WHY'@#@, @#@ @#@ @#@ @#@@#@8. @#@ @#@ @#@ @#@ @#@ @#@ @#@ @#@ @#@ @#@'@#@location'@#@ @#@:

@#@ @#@'@#@SDU'@#@, @#@ @#@ @#@ @#@@#@9. @#@ @#@ @#@ @#@ @#@ @#@ @#@ @#@ @#@ @#@'@#@language'@#@ @#@:

@#@ @#@'@#@Python'@#@ @#@} @#@ @#@ @#@ @#@@#@10. @#@ @#@@#@11.headers @#@= @#@{ @#@'@#@User-Agent'@#@ @#@:

@#@ @#@user_agent @#@} @#@ @#@ @#@ @#@@#@12.data @#@= @#@urllib.urlencode(values) @#@ @#@ @#@ @#@@#@13.req @#@= @#@urllib2.Request(url, @#@data, @#@headers) @#@ @#@ @#@ @#@@#@14.response @#@= @#@urllib2.urlopen(req) @#@ @#@ @#@ @#@@#@15.the_page @#@= @#@response.read() @#@ @#@ @#@@#@异常的处理和HTTP状态码的分类@#@先来说一说HTTP的异常处理问题。

@#@@#@当urlopen不能够处理一个response时,产生urlError。

@#@@#@不过通常的PythonAPIs异常如ValueError,TypeError等也会同时产生。

@#@@#@HTTPError是urlError的子类,通常在特定HTTPURLs中产生。

@#@@#@ @#@@#@1.URLError@#@通常,URLError在没有网络连接(没有路由到特定服务器),或者服务器不存在的情况下产生。

@#@@#@这种情况下,异常同样会带有"@#@reason"@#@属性,它是一个tuple(可以理解为不可变的数组),@#@包含了一个错误号和一个错误信息。

@#@@#@我们建一个urllib2_test06.py来感受一下异常的处理:

@#@@#@[python] @#@viewplaincopy@#@1.import @#@urllib2 @#@ @#@@#@2. @#@ @#@@#@3.req @#@= @#@urllib2.Request('@#@'@#@) @#@ @#@@#@4. @#@ @#@@#@5.try:

@#@ @#@urllib2.urlopen(req) @#@ @#@@#@6. @#@ @#@@#@7.except @#@urllib2.URLError, @#@e:

@#@ @#@ @#@ @#@ @#@@#@8. @#@ @#@ @#@ @#@print @#@e.reason @#@ @#@@#@按下F5,可以看到打印出来的内容是:

@#@@#@[Errno11001]getaddrinfofailed@#@也就是说,错误号是11001,内容是getaddrinfofailed@#@2.HTTPError@#@服务器上每一个HTTP应答对象response包含一个数字"@#@状态码"@#@。

@#@@#@有时状态码指出服务器无法完成请求。

@#@默认的处理器会为你处理一部分这种应答。

@#@@#@例如:

@#@假如response是一个"@#@重定向"@#@,需要客户端从别的地址获取文档,urllib2将为你处理。

@#@@#@其他不能处理的,urlopen会产生一个HTTPError。

@#@@#@典型的错误包含"@#@404"@#@(页面无法找到),"@#@403"@#@(请求禁止),和"@#@401"@#@(带验证请求)。

@#@@#@HTTP状态码表示HTTP协议所返回的响应的状态。

@#@@#@比如客户端向服务器发送请求,如果成功地获得请求的资源,则返回的状态码为200,表示响应成功。

@#@@#@如果请求的资源不存在,则通常返回404错误。

@#@ @#@@#@HTTP状态码通常分为5种类型,分别以1~5五个数字开头,由3位整数组成:

@#@@#@------------------------------------------------------------------------------------------------@#@200:

@#@请求成功 @#@ @#@ @#@处理方式:

@#@获得响应的内容,进行处理 @#@@#@201:

@#@请求完成,结果是创建了新资源。

@#@新创建资源的URI可在响应的实体中得到 @#@ @#@处理方式:

@#@爬虫中不会遇到 @#@@#@202:

@#@请求被接受,但处理尚未完成 @#@ @#@处理方式:

@#@阻塞等待 @#@@#@204:

@#@服务器端已经实现了请求,但是没有返回新的信息。

@#@如果客户是用户代理,则无须为此更新自身的文档视图。

@#@ @#@ @#@处理方式:

@#@丢弃@#@300:

@#@该状态码不被HTTP/1.0的应用程序直接使用,只是作为3XX类型回应的默认解释。

@#@存在多个可用的被请求资源。

@#@ @#@ @#@ @#@处理方式:

@#@若程序中能够处理,则进行进一步处理,如果程序中不能处理,则丢弃@#@301:

@#@请求到的资源都会分配一个永久的URL,这样就可以在将来通过该URL来访问此资源 @#@ @#@ @#@处理方式:

@#@重定向到分配的URL@#@302:

@#@请求到的资源在一个不同的URL处临时保存 @#@ @#@ @#@处理方式:

@#@重定向到临时的URL @#@@#@304请求的资源未更新 @#@ @#@ @#@处理方式:

@#@丢弃 @#@@#@400非法请求 @#@ @#@ @#@处理方式:

@#@丢弃 @#@@#@401未授权 @#@ @#@ @#@处理方式:

@#@丢弃 @#@@#@403禁止 @#@ @#@ @#@处理方式:

@#@丢弃 @#@@#@404没有找到 @#@ @#@ @#@处理方式:

@#@丢弃 @#@@#@5XX回应代码以“5”开头的状态码表示服务器端发现自己出现错误,不能继续执行请求 @#@ @#@处理方式:

@#@丢弃@#@------------------------------------------------------------------------------------------------@#@HTTPError实例产生后会有一个整型'@#@code'@#@属性,是服务器发送的相关错误号。

@#@@#@ErrorCodes错误码@#@因为默认的处理器处理了重定向(300以外号码),并且100-299范围的号码指示成功,所以你只能看到400-599的错误号码。

@#@@#@BaseHTTPServer.BaseHTTPRequestHandler.response是一个很有用的应答号码字典,显示了HTTP协议使用的所有的应答号。

@#@@#@当一个错误号产生后,服务器返回一个HTTP错误号,和一个错误页面。

@#@@#@你可以使用HTTPError实例作为页面返回的应答对象response。

@#@@#@这表示和错误属性一样,它同样包含了read,geturl,和info方法。

@#@@#@我们建一个urllib2_test07.py来感受一下:

@#@@#@[python] @#@viewplaincopy@#@1.import @#@urllib2 @#@ @#@@#@2.req @#@= @#@urllib2.Request('@#@ @#@ @#@@#@3. @#@ @#@@#@4.try:

@#@ @#@ @#@@#@5. @#@ @#@ @#@ @#@urllib2.urlopen(req) @#@ @#@@#@6. @#@ @#@@#@7.except @#@urllib2.URLError, @#@e:

@#@ @#@ @#@@#@8. @#@ @#@@#@9. @#@ @#@ @#@ @#@print @#@e.code @#@ @#@@#@10. @#@ @#@ @#@ @#@#print @#@e.read() @#@ @#@@#@按下F5可以看见输出了404的错误码,也就说没有找到这个页面。

@#@@#@3.Wrapping@#@所以如果你想为HTTPError或URLError做准备,将有两个基本的办法。

@#@推荐使用第二种。

@#@@#@我们建一个urllib2_test08.py来示范一下第一种异常处理的方案:

@#@@#@[python] @#@viewplaincopy@#@1.from @#@urllib2 @#@import @#@Request, @#@urlopen, @#@URLError, @#@HTTPError @#@ @#@@#@2. @#@ @#@@#@3.req @#@= @#@Request('@#@ @#@ @#@@#@4. @#@ @#@@#@5.try:

@#@ @#@ @#@@#@6. @#@ @#@@#@7. @#@ @#@ @#@ @#@response @#@= @#@urlopen(req) @#@ @#@@#@8. @#@ @#@@#@9.except @#@HTTPError, @#@e:

@#@ @#@ @#@@#@10. @#@ @#@@#@11. @#@ @#@ @#@ @#@print @#@'@#@The @#@server @#@couldn\'@#@t @#@fulfill @#@the @#@request.'@#@ @#@ @#@@#@12. @#@ @#@@#@13. @#@ @#@ @#@ @#@print @#@'@#@Error @#@code:

@#@ @#@'@#@, @#@e.code @#@ @#@@#@14. @#@ @#@@#@15.except @#@URLError, @#@e:

@#@ @#@ @#@@#@16. @#@ @#@@#@17. @#@ @#@ @#@ @#@print @#@'@#@We @#@failed @#@to @#@reach @#@a @#@server.'@#@ @#@ @#@@#@18. @#@ @#@@#@19. @#@ @#@ @#@ @#@print @#@'@#@Reason:

@#@ @#@'@#@, @#@e.reason @#@ @#@@#@20. @#@ @#@@#@21.else:

@#@ @#@ @#@@#@22. @#@ @#@ @#@ @#@print @#@'@#@No @#@exception @#@was @#@raised.'@#@ @#@ @#@@#@23. @#@ @#@ @#@ @#@# @#@everything @#@is @#@fine @#@ @#@@#@和其他语言相似,try之后捕获异常并且将其内容打印出来。

@#@@#@这里要注意的一点,exceptHTTPError必须在第一个,否则exceptURLError将同样接受到HTTPError @#@。

@#@@#@因为HTTPError是URLError的子类,如果URLError在前面它会捕捉到所有的URLError(包括HTTPError @#@)。

@#@@#@ @#@@#@我们建一个urllib2_test09.py来示范一下第二种异常处理的方案:

@#@@#@[python] @#@viewplaincopy@#@1.from @#@urllib2 @#@import @#@Request, @#@urlopen, @#@URLError, @#@HTTPError @#@ @#@@#@2. @#@ @#@@#@3.req @#@= @#@Request('@#@ @#@ @#@@#@4. @#@ @#@ @#@ @#@@#@5.try:

@#@ @#@ @#@ @#@ @#@@#@6. @#@ @#@ @#@ @#@@#@7. @#@ @#@ @#@ @#@response @#@= @#@urlopen(req) @#@ @#@ @#@ @#@@#@8. @#@ @#@ @#@ @#@@#@9.except @#@URLError, @#@e:

@#@ @#@ @#@ @#@ @#@@#@10. @#@ @#@ @#@ @#@@#@11. @#@ @#@ @#@ @#@if @#@hasattr(e, @#@'@#@reason'@#@):

@#@ @#@ @#@ @#@ @#@@#@12. @#@ @#@ @#@ @#@@#@13. @#@ @#@ @#@ @#@ @#@ @#@ @#@ @#@print @#@'@#@We @#@failed @#@to @#@reach @#@a @#@server.'@#@ @#@ @#@ @#@ @#@@#@14. @#@ @#@ @#@ @#@@#@15. @#@ @#@ @#@ @#@ @#@ @#@ @#@ @#@print @#@'@#@Reason:

@#@ @#@'@#@, @#@e.reason @#@ @#@ @#@ @#@@#@16. @#@ @#@ @#@ @#@@#@17. @#@ @#@ @#@ @#@elif @#@hasattr(e, @#@'@#@code'@#@):

@#@ @#@ @#@ @#@ @#@@#@18. @#@ @#@ @#@ @#@@#@19. @#@ @#@ @#@ @#@ @#@ @#@ @#@ @#@print @#@'@#@The @#@server @#@couldn\'@#@t @#@fulfill @#@the @#@request.'@#@ @#@ @#@ @#@ @#@@#@20. @#@ @#@ @#@ @#@@#@21. @#@ @#@ @#@ @#@ @#@ @#@ @#@ @#@print @#@'@#@Error @#@code:

@#@ @#@'@#@, @#@e.code @#@ @#@ @#@ @#@@#@22. @#@ @#@ @#@ @#@@#@23.else:

@#@ @#@ @#@ @#@ @#@@#@24. @#@ @#@ @#@ @#@print @#@'@#@No @#@exception @#@was @#@raised.'@#@ @#@ @#@ @#@ @#@@#@25. @#@ @#@ @#@ @#@# @#@everything @#@is @#@fine @#@ @#@ @#@ @#@@#@ @#@@#@Opener与Handler的介绍和实例应用@#@在开始后面的内容之前,先来解释一下urllib2中的两个个方法:

@#@infoandgeturl @#@@#@urlopen返回的应答对象response(或者HTTPError实例)有两个很有用的方法info()和geturl()@#@1.geturl():

@#@@#@这个返回获取的真实的URL,这个很有用,因为urlopen(或者opener对象使用的)或许会有重定向。

@#@获取的URL或许跟请求URL不同。

@#@@#@以人人中的一个超级链接为例,@#@我们建一个urllib2_test10.py来比较一下原始URL和重定向的链接:

@#@@#@[python] @#@viewplaincopy@#@1.from @#@urllib2 @#@import @#@Request, @#@urlopen, @#@URLError, @#@HTTPError @#@ @#@@#@2. @#@ @#@@#@3. @#@ @#@@#@4.old_url @#@= @#@'@#@ @#@ @#@@#@5.req @#@= @#@Request(old_url) @#@ @#@@#@6.response @#@= @#@urlopen(req) @#@ @#@ @#@ @#@@#@7.print @#@'@#@Old @#@url @#@:

@#@'@#@ @#@+ @#@old_url @#@ @#@@#@8.print @#@'@#@Real @#@url @#@:

@#@'@#@ @#@+ @#@response.geturl() @#@ @#@@#@运行之后可以看到真正的链接指向的网址:

@#@@#@2.info():

@#@@#@";i:

2;s:

10284:

"return的延续性动词@#@return的延续性动词@#@篇一:

@#@短暂性动词、延续性动词@#@●可以表示持续的行为或初始状态的动词,叫做“延续性动词”,也叫“持续性动词”,如:

@#@be,keep,have,like,study,live,etc.有的表示短暂、瞬间性的动词,叫做“终止性动词”,也可叫“短暂性动词”,或“瞬间性动词”,如die,join,leave,become,return,reach,etc.延续性动词@#@则表示能够延续的动作。

@#@如:

@#@study,work,stand,lie,know,walk,keep,have,wait,watch,sing,read,sleep,live,stay,run等。

@#@延续性动词可以与表示时间段的状语连用。

@#@@#@表示时间段的单词有:

@#@@#@for+时间,如for2years;@#@@#@since从句,如sincehecamehere;@#@@#@since+时间点名词,如sincelastyear,since5daysago;@#@@#@howlong;@#@@#@foralongtime等。

@#@@#@例:

@#@Hehaslivedherefor6years.@#@Youcankeepthebookfor5days.@#@Istayedtherefor2weekslastyear.@#@Howlongdidyoustaytherelastyear?

@#@@#@短暂性动词@#@也称但非延续性动词、瞬间动词或终止持久性动词,表示不能延续的动作,这种动作发生后立即就此结束。

@#@如:

@#@open,die,close,begin,stop,finish,come,go,move,borrow,lend,buy,arrive,enter等。

@#@@#@非延续性动词在肯定句中与表示时间点的状语连用,如:

@#@twoyearsago;@#@at5o'@#@clock;@#@@#@例:

@#@Hedied5yearsago.@#@的终止性动词可以与表示时间段的时间状语连用。

@#@例:

@#@Ihaven'@#@tleftherefor3years.Ihaven'@#@theardfromhimfor3weeks.@#@两者的转换@#@leave---beaway,@#@borrow---keep,@#@buy---have,@#@begin/start---beon,@#@die---bedead,@#@finish---beover@#@join---beon+组织机构,beamemberof+组织机构,@#@opensth---keepsthopen,@#@fallill---beill@#@getup---beup,@#@comehere---behere,@#@gothere---bethere,@#@become---be,@#@comeback---beback,@#@fallasleep---beasleep@#@getto/arrive/reach---be(in)@#@leave---beawayfrom,@#@gettoknow---know,@#@go(get)out→beout,@#@puton→wear@#@catchacold→haveacold@#@getmarried---bemarried等。

@#@@#@例:

@#@Theoldmandied4yearsago@#@.----Theoldmanhasbeendeadfor4years.----Itis4yearssincetheoldmandied.@#@----Fouryearshaspassedsincetheoldmandied.HejoinedtheParty2yearsago.@#@-----HehasbeeninthePartyfor2years.Iboughtthebook5daysago@#@.----Ihavehadthebookfor5days.@#@●修饰形容词,副词比较级的常用修饰词有:

@#@no,alittle,abit,much,even,still,alot,agreatdeal,far,byfar,rather,any等.@#@篇二:

@#@短暂性动词与延续性动词讲义@#@延续性动词非延续性动词@#@英语动词根据字词可分为两种,一种是延续性的,一种是终止性的,终止性动词(也可称为但非延续性动词,瞬间动词,或点动词),如begin,start,die,buy,leave,come等,表示动作的发生与结束于一瞬间完成,不能再延续,所以它的现在完成时不能和表示的时间状语连用,即不必与表示一段时间的状语,for+时间段,since+时间点/从句连用,也不能用在howlong引导的特殊疑问句中曾.@#@eg.I'@#@veleftShanghaiforthreedays.(×@#@)I'@#@vebeenawayfromShanghaiforthreedays.(√).@#@IleftShanghaithreedaysago.(√)Itis/hasbeenthreedayssinceIleft@#@Shanghai.(√)@#@常见中止性动词有:

@#@leave,go,come,arrive,begin,buy,borrow,die,join,become等.终止性动词要表示持续时候,可用以下方法:

@#@@#@⑴.将时间状语改为时间段+ago,句中展望未来谓语动词用一般回顾过去时.@#@eg.我弟弟参军五年了.Mybrotherjoinedthearmytwoyearsago.@#@⑵.若保留for+时间段,since+时间点/从句,或用在howlong句型中,则需将终止性动词改为相应的状态动词或连续性动词@#@常见终止性动词与延续性动词(或状态动词)的对应关系如下@#@come/go/arrive/get/reach/move------bein/atopen-----beopen@#@die------bedeadclose----beclosedbecome---beborrow---keepbegin/start-----beonputon----wear@#@leave-----beaway(from)buy-----havefallasleep----beasleep@#@end/finish-----beovercatchacold-----haveacold@#@jointhearmy----beinthearmybeasoldierjointheParty----beinthePartybeaPartymember@#@→Mybrotherhasbeeninthearmyfortwoyears.→Mybrotherhasbeenasoldierfortwoyears@#@延续性动词与非延续性动词的转换@#@非延续性动词延续性动词现在完成时@#@borrowkeephavekept@#@gettoknowknowhaveknown@#@catchacoldhaveacoldhavehadacold@#@buyhavehavehad@#@diebedeadhavebeendead@#@openbeopenhavebeenopen@#@closebeclosedhavebeenclosed@#@getmarriedbemarriedhavebeenmarried@#@fallillbeillhavebeenill@#@fallasleepbeasleephavebeenasleep@#@leavesp.beawayfromsp.havebeenawayfromsp.@#@returnbebackhavebeenback@#@gotobedbeinbedhavebeeninbed@#@comeherebeherehavebeenhere@#@gotherebetherehavebeenthere@#@gooutbeouthavebeenout@#@getupbeuphavebeenup@#@start/beginbeonhavebeenon@#@finish/endbeoverhavebeenover@#@becomebehavebeen@#@joinbeamemberofhavebeenamemberof@#@cometotheislandbeontheislandhavebeenontheisland@#@Beinhavebeenin@#@gotosleep./cometosleep.Beinsleep.hvebeeninsleep.@#@rrive→beherebegin(start)→beon@#@die→bedeadcomeback→beback@#@leave→beaway(from)fallill(sick,asleep)→beill(sick,asleep)getup→beupgoout→beout@#@finish→beoverputon→wear/beon@#@open→beopenjoin→bein/beamemberof…@#@close→beclosedgotoschool→beastudent@#@borrow→keepbuy/get→have@#@catch(acold)→have(acold)gettoknow→know@#@begintostudy→studycometowork→work@#@moveto→livein/beoutoffinish/end→beover@#@cometo→beinsitdown→beseated@#@marry→bemarrieddress→bedressed@#@arrivein/at→bein/atlose→belost@#@break→bebrokenwake→beawake@#@专项练习@#@I、把下列一瞬间动词转换为延续性动词@#@buycatch(get)acoldputon@#@borrow/lendcome/go/becomegotoschool@#@jointhearmyjointhePartyarrive/come/reach@#@diefinishbegin/start@#@leavefallasleep/illclose@#@opengetup@#@II、单项选择@#@1.Whenhearrivedatthebusstop,thebus________for20minutes.@#@A.hasleftB.hadleftC.hasbeenawayD.hadbeenaway@#@2.I______theLeaguefor5yearssofar.@#@A.joinedB.havejoinedC.havebeenin@#@3.Thefactory________sincetheFebruaryof1988.@#@A.hasbeenopenB.hasopenedC.wasopenD.opened@#@4.MaryandRose_______friendssincetheymetin2021.@#@A.havemadeB.havebeenC.madeD.havebecome@#@5.Youmustn'@#@t______untilhecomesback.A.beawayB.leaveC.beleft@#@6.Themeeting_______foraweeknow.@#@A.hasfinishedB.hasendedC.hasbeenover@#@7.MissGao______thisschoolfornearly5years.@#@A.hasbeeninB.hascometoC.hastaught@#@8.Ben______ateacherfor4years.@#@A.hasbeenB.hasbecomeC.wasD.became@#@9.I______homeforaweek.@#@A.havereturnedB.havebeenbackC.returned@#@10.Howlong______he______?

@#@A.diedB.has,diedC.has,beendead@#@11.He______ateightyesterdayafter@#@A.sleptB.wassleepingC.hassleepD.hadslept@#@12.He________thecarforaweek.A.boughtB.hasboughtC.hashad@#@13.-----Howlong_____you_____ill?

@#@-----Twoweeks.@#@A.didfallB.have,fellC.have,been@#@14.Since2021,he_____hishometown.@#@A.hasleftB.hasmovedawayC.hasbeenawayfrom@#@15.I'@#@lllendyouthebook,butyoucanonly_____itfor2days.@#@A.borrowB.keepC.take@#@16.Thebus______ontheroadfor2hourssofar.@#@A.hasstoppedB.stoppedC.hasbeen@#@17.Areyou___thejacketthesedays?

@#@@#@A.wearingB.puttingonC.dressingD.on@#@18.He________foe2hours.A.gotupB.hasgotupC.hasbeenup@#@19.Tomisillinhospital.He_______acoldforseveraldays.@#@A.isB.catchesC.hascaughtD.hashad@#@20.-----HowlongcanI______thebook?

@#@------Twoweeks.@#@A.borrowB.lendC.getD.keep@#@III、瞬间动词和延续性动词、状态句型转化练习@#@1、你来晚了,电影已放了10分钟了。

@#@@#@A:

@#@Youarelate.Thefilmfor10minutes.@#@B:

@#@Youarelate.Ittenminutessincethefilm.@#@C:

@#@Youarelate.Thefilm10minutes.@#@2、我叔叔当兵经已有2年了。

@#@@#@A:

@#@Myunclethearmyfor2years.@#@B:

@#@It2yearsmyunclejoinedthearmy.@#@C:

@#@Myunclethearmy2yearsago.@#@3、Linda已经感冒4、5天了。

@#@@#@A:

@#@Lindaacold4to5days.@#@B:

@#@It4to5dayssinceLindaacold@#@C:

@#@Lindaacold4or5days.@#@4、他外婆去世已经有5年了。

@#@@#@A:

@#@Hisgrandpafor5years.@#@B:

@#@It5yearssincehisgrandpa.@#@C:

@#@Hisgrandpa5years.@#@5、你来晚了,火车已经开走了20分种了。

@#@@#@A:

@#@You’relate.Thetrainfor20minutes.@#@B:

@#@It20minutessincethetrain.@#@C:

@#@Thetrain20minutes.@#@6、他们到深圳虽然有3年多了。

@#@@#@A:

@#@TheyShenzhenforover3years.B:

@#@Itover3yearssincetheyShenzhen.@#@C:

@#@TheyShenzhenover3years.@#@7.Myfatherboughtanewcartwoyearsago.@#@Myfather__________anewcar_____twoyears.Myfather__________anewcar_____twoyearsago.@#@8.Tomborrowedthisbookfourdaysago.@#@Tom___________thisbook_____fourdays.@#@Tom___________thisbook_____fourdaysago.@#@9.Thefactoryopenedin2021.@#@Thefactorytenyears.@#@Thefactorysince2021.@#@10.Mr.WangreachedBeijingfivedaysago.@#@Mr.WangBeijingfivedaysago.@#@Mr.WangBeijingfivedays.@#@11.Mysonfellasleephalfanhourago.@#@Myson_______________for_______________.@#@Myson_______________since____________________.@#@篇三:

@#@短暂性动词变延续性动词@#@";i:

3;s:

22950:

"绪论@#@章节习题@#@1.指出下列化合物中带“*”号碳原子的杂化类型:

@#@@#@

(1)

(2)(3)@#@(4)@#@(5)@#@(6)@#@2.写出下列化合物的结构式:

@#@@#@

(1)

(2)CH3CH2―O―CH2CH2CH3(3)CH3CH2CH2CH2CH3@#@(4)(5)CH3CH2―O―CH(CH3)2(6)@#@(7)(8)@#@3.下列化合物各属于哪一类化合物?

@#@

(1)

(2)(3)@#@(4)(5)(6)CH3―NH2@#@4.π键是怎样构成的?

@#@它有哪些特点?

@#@@#@5.下列化合物哪些易溶于水?

@#@哪些难溶于水?

@#@

(1)CH3OH

(2)CH3COOH(3)CCl4@#@(4)(5)(6)CH3(CH2)16CH3@#@6.某化合物的实验式为CH,其相对分子质量为78,试推算出它的分子式。

@#@@#@7.某化合物的相对分子量为80,其元素组成为:

@#@C45%,H7.5%,F47.5%。

@#@试推算出它的分子式。

@#@@#@8.下列化合物是否有偶极矩?

@#@如果有,请指出方向。

@#@@#@

(1)CH2Cl2

(2)CH3Br(3)CH3―0―CH3@#@(4)CH3CH2NH2(5)HCO2H(6)CH3CHO@#@第二章开链烃@#@章节习题@#@1.用系统命名法命名下列化合物,若是顺反异构体应在名称中标明构型.@#@

(1)(C2H5)2CHCH(C2H5)CH2CH(CH3)2

(2)(CH3CH2)2CHCH3(3)@#@(4)(5)(6)@#@(7)(8)(9)@#@(10)(11)(12)@#@2.写出下列化合物的结构式:

@#@

(1)3-甲基-4-乙基壬烷

(2)异己烷@#@(3)2,3,4-三甲基-3-乙基戊烷(4)4-甲基-3-辛烯@#@(5)2-甲基-3-乙基-3-辛烯@#@(6)(E)-2-己烯@#@(7)(Z)-3-甲基-2-戊烯(8)2,7-二甲基-3,5-辛二炔@#@(9)(3顺,5反)-5-甲基-1,3,5-庚三烯@#@(10)顺-3,4-二甲基-3-己烯@#@3.写出C5H12烷烃的所有一氯代衍生物。

@#@@#@4.下列化合物哪些有顺、反异构体?

@#@写出其顺、反异构体的构并用顺、反命名法或Z、E命名法命名。

@#@@#@

(1)

(2)@#@(3)(4)@#@(5)(6)@#@5.写出下列化合物的结构式,若命名有错误,请予以改正。

@#@

(1)2,3-二甲基-2-乙基丁烷

(2)3,4-二甲基-3-乙基戊烷@#@(3)2,2,5-三甲基-4-乙基己烷(4)2-乙基-1-戊烯@#@(5)3,4-二甲基-4-戊烯(6)3-异丙基-5-庚炔@#@(7)4,5-二乙基—己烯-2-炔(8)2,3-二甲基-1,3-己二烯@#@6.下列结构式中哪些代表同一种化合物?

@#@@#@7.写出下列化合物的纽曼投影式:

@#@@#@

(1)1,1,2,2-四溴乙烷的邻位交叉式构象@#@

(2)1,2-二溴乙烷的对位交叉式构象@#@(3)1,2-二氯乙烷的全重叠式构象@#@8.写出分子式为C7H14烯烃的各种开链异构体的结构式,并用系统命名法命名。

@#@@#@9.指出下列各组化合物属于哪类(碳胳、官能团、官能团位置或顺、反)异构?

@#@

(1)2-己烯与3-的己烯

(2)顺-4-辛烯与反-4-辛烯@#@(3)3-甲基-1-戊炔与1-己炔@#@(4)1,5-己二烯与3-己炔@#@(5)2-甲基-2-戊烯与4-甲基-2-戊烯@#@(6)2,3-二甲基己烷与2,2,3,3-四甲基丁烷@#@10.某样品5.2mg经完全燃烧后生成15.95mgCO2和7.66mgH2O,该物质的蒸汽对空气的相对密度为6.90,求它的分子式。

@#@@#@11.写出下列化合物与HBr起加成反应的主要产物:

@#@

(1)1-戊烯

(2)2-甲基-2-丁烯@#@(3)2,3-二甲基-1-丁烯(4)3-甲基-2-戊烯@#@12.完成下列反应式:

@#@@#@13.试写出下列化合物溴代反应的活性次序。

@#@指出反应中哪种键首先断裂,为什么?

@#@@#@14.排出下列碳正离子的稳定性顺序,并说明原因。

@#@@#@第三章环烃@#@章节习题@#@1.命名下列化合物@#@2.写出下列化合物的结构式:

@#@@#@

(1)异丙基环戊烷

(2)2,3-二甲基环己烯@#@(3)顺-1-甲基-4-叔丁基环己烷(4)反十氢化萘@#@(5)2-甲基-3苯基戊烷(6)4-苯基-2-戊烯@#@(7)4-甲基-1-萘磺酸(8)9-溴菲@#@3.写出下列化合物折优势构象式,台该化合物有顺反异构体,请指出其优势构象是顺式还是反式。

@#@@#@

(1)1,2-二甲基环己烷

(2)1-甲基-1-异丙基环己烷@#@(3)1-甲基-3-溴环己烷(4)1,4-二甲基环己烷@#@4.完成下列反应式(只写主要产物):

@#@@#@5.按硝化反应从易到难的顺序排列下列组合物:

@#@@#@

(1)C6H5OCH3C6H5COCH3C6H6C6H5Cl@#@6.用简单的化学方法区别下列各组化合物:

@#@@#@

(1)苯1,3-环己二烯环己烷

(2)己烷1-己烯1-己炔@#@(3)2-戊烯1,1-二甲基环丙烷环戊烷(4)甲苯甲基环己烷3-甲基环己烯@#@7.用休克尔规则判断下列化合物有无芳香性?

@#@@#@8.化合物(A)分子式为C4H8,它能使溴的四氯化碳溶液褪色,但不能使稀的KMnO4溶液褪色。

@#@1mol(A)和1mol(B)反应生成(B),(B)也可以从(A)的同分异构体(C)与HBr反应得到。

@#@化合物(C)能使溴的四氯化碳溶液和稀的KMnO4溶液褪色。

@#@试推导出化合物(A)、(B)和(C)的结构式,并写出各步反应式。

@#@@#@9.某烃的分子式为C7H10,经臭氧化和水解后得到和,试推导出该烃的结构式。

@#@@#@10.以苯为原料合成下列化合物(用反应式表示)@#@

(1)对氯苯磺酸

(2)间溴苯甲酸@#@(3)对硝基苯甲酸甲酯(4)对苄基苯甲酸@#@11.(A)、(B)、(C)三种芳香烃的分子式同为C9H12。

@#@把三种烃氧化时,由(A)得一元酸,由(B)得二元酸,由(C)得三元酸。

@#@但经硝化时,(A)和(A)都得两种一硝基化合物,而(C)只得到一种一硝基化合物。

@#@试推导出(A)、(B)、(C)三种化合物的结构式。

@#@@#@12.某烃的分子式为C10H16,能吸收1mol氢,分子中不含甲基、乙基和其它烷基。

@#@用酸性KMnO4溶液氧化,得到一个对称的二酮,其分子式为C10H16O2。

@#@试推导这个烃的结构式。

@#@@#@第四章旋光异构@#@章节习题@#@1.解释下列名词:

@#@@#@

(1)旋光性

(2)比旋光度(3)手性(4)手性碳原子@#@(5)外消旋体(6)对映体(7)立体选择性反应(8)立体专一性反应@#@2.指出下列说法正确与否(正确的用“√”表示,不正确的用“×@#@”表示)。

@#@@#@

(1)顺式异构体都是Z型的,反式异构体都是E型的。

@#@()@#@

(2)分子无对称面就必然有手性。

@#@()@#@(3)有旋光性物质的分子中必有手性碳原子存在。

@#@()@#@(4)具有手性的分子一定有旋光性。

@#@()@#@(5)有对称中心的分子必无手性。

@#@()@#@(6)对映异构体具有完全相同的化学性质。

@#@()@#@3.命名下列化合物(标明构型):

@#@@#@4.写出下列化合物的结构式:

@#@@#@

(1)(2R,3R)-2-氯-酸盐-苯基丁烷

(2)(R,S)-2,4-二溴戊烷@#@(3)(2R,3S,4R)-2-氯-3,4-二溴己烷(4)(R,S)-1,2-二甲基环己烷的优势构象@#@5.判断下列化合物有无旋光性?

@#@并说明原因。

@#@@#@6.写出下列化合物各种可能的立体异构体,并将各异构体命名(标明构型)。

@#@@#@7.将5.678g蔗糖配成20mL水溶液,20℃时,在1dm样品管中用钠黄光测得旋光度为+18.80,请计算蔗糖的比旋光度。

@#@@#@8.某化合物(A)的分子式为C6H10,加氢后可生成甲基环戊烷。

@#@(A)经臭氧化分解后仅生成一种产物(B),(B)有旋光性,试推导出(A)和(B)的结构式。

@#@@#@第五章卤代烃@#@章节习题@#@1.命名下列化合物:

@#@@#@2.完成下列反应式:

@#@@#@3.用简明的化学方法区别下列各组化合物:

@#@@#@4.比较下列各组化合物水解时SN1按反应的速率:

@#@@#@5.试判断在下列各种情况下卤代烷水解是属于SN2机理还是SN1机理?

@#@@#@

(1)产物的构型完全转化

(2)反应分两步进行@#@(3)碱的浓度增大反应速率加快(4)叔卤化烷水解@#@6.2,3-二甲基-3-溴戊烷在碱的乙醇溶液中消除HBr时生成下列三种烯烃,请问主要产物是哪一种烯烃?

@#@为什么?

@#@@#@7.(A)和(B)的分子式均为C5H11I,脱HI后得一烯烃,此烯烃臭氧化后再还原水解,得到丙酮和乙醛,已知(A)的消除反应比(B)快,试推导(A)和(B)的结构式。

@#@@#@8.(A)和(B)的分子式均为C4H8,二者加溴后的产物再与KOH乙醇溶液共热,生成分子式为C4H6的(C)和(D),(D)能与银氨溶液反应生成沉淀,而(C)不能。

@#@试推导(A)、(B)、(C)、(D)的结构式。

@#@@#@第六章醇、酚、醚@#@章节习题@#@1.命名下列化合物:

@#@@#@2.写出下列化合物的结构式:

@#@@#@

(1)2,3-二甲基-2,3-丁二醇

(2)1-甲基环戊醇厚(3)二苯醚@#@(4)3,3-二甲基-1-环己醇(5)苦味酸(6)2,4-二甲基苯甲醇@#@(7)2,6-二硝基-1-萘粉(8)乙二醇二甲醚(9)2-丁烯-1-醇@#@(10)苯并-12-冠-4(11)间氯苯酚(12)二苯并-14-冠-4@#@3.写出下列醇在硫酸作用下发生消除反应的产物:

@#@@#@

(1)1-丁醇

(2)2-丁醇(3)2-甲基-2-丙醇@#@(4)3-甲基-1-苯基-2-丁醇@#@(5)1-乙基-环己-3-烯-1-醇@#@4.下列化合物能否形成氢键?

@#@如能形成,请说明是分子内氢键还是分子间氢键?

@#@@#@

(1)甲醇醛@#@

(2)乙醚(3)甘油(4)顺-1,2-环己二醇@#@(5)间苯二酚(6)邻硝基苯酚(7)苯甲醚(8)间氯苯酚@#@5.完成下列反应方程式:

@#@@#@6.完成下列合成(无机试剂任选):

@#@@#@7.用简单的化学方法鉴别下列各组化合物:

@#@@#@(3)CH3CH2CH2CH2ClCH3CH2OCH2CH2CH3CH3(CH2)4CH2OH@#@8.写出2-甲基-2-丙醇和HCl按SN1机理起反应的步骤。

@#@指出哪一步反应和哪一种物质的浓度决定反应速率?

@#@@#@9.化合物(A)的组成为C5H10O;@#@用KMnO4小心氧化(A)得到组成为C5H8O的化合物(B)。

@#@(A)与无水ZnCl2的浓盐酸溶液作用时,生成化合物(C),其组成为C5H9Cl;@#@(C)在KOH的乙醇溶液中加热得到唯一的产物(D),组成为C5H8;@#@(D)再用KMnO4的硫酸溶液氧化,得到一个直链二羧酸。

@#@试写出(A),(B),(C),(D)的结构式,并写出各步反应式。

@#@@#@10.化合物(A)的组成为C7H8O;@#@(A)不溶于NaOH水溶液,但在与浓HI反应生成化合物(B)和(C);@#@(B)能与FeCl3水溶液发生颜色反应,(C)与AgNO3的乙醇溶液作用生成沉淀。

@#@试推导(A),(B),(C)的结构,并写出各步反应式。

@#@@#@第6章醇、酚、醚@#@习题答案@#@1.@#@

(1)3-甲基-3-戊烯醇;@#@

(2)邻甲基苯酚;@#@@#@(3)2,5-庚二醇;@#@(4)4-苯基-2-戊醇;@#@@#@(5)2-溴丙醇;@#@(6)1-苯基1-己醇;@#@@#@(7)2-硝基-1-萘酚;@#@(8)3-甲氧基苯甲醇;@#@@#@(9)乙二醇二乙醚。

@#@@#@2.@#@3.@#@4.

(1),(3),(4),(5),(6),(8)能形成氢键,其中,(3),(4),(5),(6)能形成分子内氢键。

@#@@#@5.@#@6.@#@7.@#@@#@第七章 醛、酮、醌@#@章节习题@#@1.命名下列化合物:

@#@@#@2.写出下列化合物的结构式,立体异构体应写出构型式:

@#@@#@

(1)苯乙酮

(2)丁酮缩氨脲(3)2-丁烯醛苯腙@#@(4)三氯乙醛(5)1,3-环己二酮(6)3-甲基-2-戊酮@#@(7)邻羟基苯甲酸(8)β-蒽醌磺酸(9)(Z)-苯甲醛肟@#@(10)(R)-3-甲基-4-戊烯-2-酮@#@3.完成下列反应方程式:

@#@@#@4.完成下列合成(无机试剂可任选):

@#@@#@5.下列化合物哪些能发生碘仿反应?

@#@哪些能与NaHSO3加成?

@#@哪些能被斐林试剂氧化?

@#@哪些能同羟胺作用生成肟?

@#@@#@6.将下列各组化合物与氢氰酸加成的活性由高到低次序排列。

@#@@#@7.用化学方法鉴别下列各组化合物@#@

(1)丙醛丙酮丙醇异丙醇@#@

(2)甲醛丙醛苯甲醛@#@(3)苯乙醛苯乙酮1—苯基—1—丙酮@#@8.环己醇和环己酮的沸点分别为161℃和156℃,试分离二者的混合物。

@#@@#@9.分子式为C6H12O的化合物(A),可与羟胺反应,但不与吐伦试剂、饱和亚硫酸氢钠溶液反应。

@#@(A)催化加氢得到分子式为C6H14OR的化合物(B);@#@(B)和浓硫酸共热脱水生成分子式C6H12的化合物(C);@#@(C)经臭氧化后还原水解得到化合物(D)和(E);@#@(D)能发生碘仿反应,但不能发生银镜反应;@#@(E)不能发生碘仿反应,但能发生银镜反应。

@#@试推测(A),(B),(C),(D),(E)的结构式,并写出各步反应式。

@#@@#@10.某化合物(A)的分子式为C4H8O2,(A)对碱稳定,但在酸性条件下可水解生成C2H4O(B)和C2H6O2(C);@#@(B)可与苯肼反应,也可发生碘仿反应,并能还原斐林试剂;@#@(C)被酸化性高锰酸氧化时产生气体,该气体能入水溶液中产生白色沉淀。

@#@试推测(A),(B),(C)的构造式,并写出各步反应式。

@#@@#@第七章 醛、酮、醌@#@习题答案@#@4.@#@5.能发生碘仿反应的有:

@#@

(2),(4),(5),(8),(10);@#@能与NaHSO3反应的有

(1),(6),(7),(8),(9),(10);@#@能被菲林试剂氧化的是

(1),(8),(9);@#@能与羟胺作用成肟的是:

@#@

(1),(5),(7),(8),(9),(10)。

@#@@#@6.@#@7.@#@8.@#@9.@#@10.@#@第八章羧酸、羧酸衍生物和取代酸@#@章节习题@#@1.用系统命名法命名下列化合物:

@#@@#@2.写出下列化合物的结构式:

@#@@#@

(1)2,3-二甲基戊酸

(2)对苯二甲酸(3)延胡索酸@#@(4)(S)-α-溴丙酸(5)顺-12-羟基-9-十八碳烯酸的(6)3-甲基邻苯二甲酸酐@#@(7)异丁酸异丙酯(8)丁酸酐(9)丁二酸酐@#@(10)间硝基苯乙酰溴(11)乙二醇二乙酸酯(12)己二酸单酰胺@#@3.请排出下列化合物酸性由强到弱的顺序:

@#@@#@4.完成下列反应方程式:

@#@@#@5.用化学方法分离下列混合物:

@#@@#@

(1)苯甲醇苯甲酸苯酚

(2)异戊酸异戊醇异戊酸异戊酯@#@6.用化学方法鉴别下列化合物:

@#@@#@

(1)甲酸乙酸草酸

(2)草酸丙二酸丁二酸(3)乙酰氯乙酸酐乙酸乙酯@#@7.完成下列合成(其它原料任选):

@#@@#@8.某化合物C5H8O4,有手性碳原子,与NaHCO3作用放出CO2,与NaOH溶液共热得(A)和(B)两种都没有手性的化合物,试写出该化合物所有可能的结构式。

@#@@#@9.一个有机酸(A),分子式为C5H6O4,无旋光性,当加1molH2时,被还原为具有旋光性的(B),分子式为C5H8O4。

@#@(A)加热容易失去1molH2O变为分子式C5H4O3的(C),而(C)与乙醇作用得到两个互为异构体的化合物,试写出(A),(B),(C)的结构式。

@#@@#@10.某化合物分子式为C7H6O3,能溶于NaOH及NaHCO3,它与FeCl3有颜色反应,与(CH3CO)2O作用生成C9H8O4,在H2SO4催化下,与甲醇作用生成具有杀菌作用的物质C8H8O3,此物质硝化后仅得一种一元硝化产物,试推测该化合物的结构式,并写出有关的反应式。

@#@@#@11.有一含C,H,O的有机物(A),经实验有以下性质:

@#@①(A)呈中性,且在酸性溶液中水解得(B)和(C);@#@②将(B)在稀硫酸中加热得到丁酮;@#@③(C)是甲乙醚的同分异构体,并且有碘仿反应。

@#@试推导出(A)的结构式。

@#@@#@第九章含氮有机化合物@#@章节习题@#@1.命名下列化合物:

@#@@#@2.写出下列化合物的结构式:

@#@@#@

(1)胆胺

(2)胆碱(3)4-羟基-4'@#@-溴偶氮苯@#@(4)N-甲基苯磺酰胺(5)乙酰苯胺(6)对氨基苯磺酰胺@#@3.将下列各组化合物按碱性强弱次序排列:

@#@@#@

(1)苯胺对甲氧基苯胺己胺环己胺@#@

(2)苯胺乙酰苯胺戊胺环己胺@#@(3)甲酰胺甲胺尿素邻苯二甲酰亚胺@#@4.完成下列反应式:

@#@@#@5.完成下列合成(无机试剂可任取):

@#@@#@6.用化学方法鉴别下列各组化合物:

@#@@#@7.试分离苯甲胺、苯甲醇、对甲苯酚的混合物。

@#@@#@8.某化合物(A)的分子式为C6H15N,能溶于稀盐酸,在室温下与亚硝酸作用放出氮气,而得到(B);@#@(B)能进行碘仿反应。

@#@(B)和浓硫酸共热得到分子式为C6H12的化合物(C);@#@(C)臭氧化后再经锌粉还原水解得到乙醛和异丁醛。

@#@试推测(A),(B),(C)的构造式,并写出各步反应式。

@#@@#@9.分子式为C7H7NO2的化合物(A),与Fe+HCl反应生成分子式为C7H9N的化合物(B);@#@(B)和NaNO2+HCl在0~5℃反应生成分子式为C7H7ClN2的(C);@#@在稀盐酸中(C)与CuCN反应生成化合物C8H7N(D);@#@(D)在稀酸中水解得到一个酸C8H8O2(E);@#@(E)用高锰酸钾氧化得到另一种酸(F);@#@(F)受热时生成分子式为C8H4O3的酸酐。

@#@试推测(A),(B),(C),(D),(E),(F)的构造式。

@#@并写出各步反应式。

@#@@#@第9章含氮化合物@#@习题答案@#@1.

(1)二甲基乙胺;@#@

(2)甲基乙基环己胺;@#@@#@(3)氢氧化二甲基二乙基铵;@#@(4)氯化对甲基重氮苯;@#@@#@(5)N,N-二甲基4-溴苯胺;@#@@#@(6)2,3-二甲基-2-氨基丁烷。

@#@@#@2.@#@3.@#@4.@#@5.@#@6.@#@7.@#@8.@#@9.@#@第8章羧酸、羧酸衍生物和取代酸@#@习题答案@#@1.@#@

(1)2,5-二甲基庚酸

(2)2,4-己二烯酸(3)E-2-乙基-3-氯-3-溴丙烯酸@#@(4)3-羟甲基苯甲酸(5)2,3-环氧丁酸(6)2,4-二氯苯氧乙酸@#@(7)反-环丙二甲酸(8)2-乙酰氧基苯甲酸;@#@(9)甲酸苯甲酯@#@(10)3-甲基-4-环己基丁酸(11)5-羟基-1-萘乙酸(12)N-甲基氨基甲酸苯酯@#@2.@#@3.@#@4.@#@5.@#@7.@#@8.@#@9.@#@10.@#@11.@#@第十一章杂环化合物及生物碱@#@章节习题@#@1.命名下列有机化合物:

@#@@#@2.写出下列化合物的结构式:

@#@@#@

(1)六氢吡啶

(2)2-溴呋喃(3)3-甲基吲哚(4)2-氨基噻吩@#@(5)N,N-二甲基四氢吡咯(6)胸腺嘧啶(7)尿嘧啶(8)鸟嘌呤@#@3.完成下列反应方程式:

@#@@#@4.将下列化合物按碱性强弱排序:

@#@@#@

(1)六氢吡啶吡啶吡咯苯胺

(2)甲胺苯胺氨四氢吡咯@#@5.用简单的化学方法区别下列化合物:

@#@@#@

(1)吡啶γ-甲基吡啶苯胺

(2)吡咯四氢吡咯血N-甲基六氢吡啶@#@6.使用简单的化学方法将下列混合物中的杂质除去。

@#@@#@

(1)苯中混有少量噻吩

(2)吡啶中混有少量六氢吡啶@#@(3)α-吡啶乙酸乙酯中混有少量吡啶(4)甲苯中混有少量吡啶@#@7.回答下列问题:

@#@@#@

(1)从麻黄草中提取麻黄碱?

@#@

(2)组成核酸的嘧啶有哪些?

@#@@#@8.合成下列化合物(无机试剂任选):

@#@@#@

(1)由呋喃合成己二胺

(2)由β-甲基吡啶合成β-吡啶甲酸苄酯@#@(3)由γ-甲基吡啶合成γ-氨基吡啶(4)合成α-乙烯基吡咯@#@9.化合物(A)的分子式为C12H13NO2,经稀酸水解得到产物(B)和(C)。

@#@可发生碘仿反应而(C)不能,(C)能与NaHCO3作用放出气体而(B)不能。

@#@(C)为一种吲哚类植物生长激素,可与盐酸松木片反应呈红色。

@#@试推导(A),(B),(C)的结构式。

@#@@#@第11章杂环化合物及生物碱@#@习题答案@#@1.

(1)3-甲基吡咯;@#@

(2)3-吡咯甲醇;@#@@#@(3)3-噻吩甲醇;@#@(4)3-吡啶乙酮;@#@@#@(5)4-甲基-2-硝基嘧啶;@#@(6)5-溴-3-吲哚甲酸;@#@@#@(7)2,6,8-三羟基嘌呤;@#@(8)7-氨基-2-甲氧基嘌呤。

@#@@#@2.@#@3.@#@4.@#@5.@#@6.

(2)先加苯磺酰氯,再抽滤除去六氢吡啶;@#@(3)加入HCl后,除去水层。

@#@@#@8.@#@9.@#@第十二章碳水化合物@#@章节习题@#@1.写出下列化合物的哈沃斯式:

@#@@#@

(1)乙基-β-D-甘露糖苷

(2)α-D-半乳糖醛酸甲酯@#@(3)α-D-葡萄糖-1-磷酸(4)β-D-呋喃核糖@#@2.写出下列化合物的构象式:

@#@@#@

(1)β-D-吡喃葡萄糖

(2)α-D-呋喃果糖@#@(3)甲基-β-D-吡喃半乳糖苷(4)α-D-吡喃甘露糖@#@3.写出D-葡萄糖与下列试剂反应的主要产物:

@#@@#@

(1)H2NOH

(2)Br2/H2O(3)CH3OH/HCl(4)LiAlH4(5)苯肼@#@4.用化学方法鉴别下列各组化合物:

@#@@#@

(1)甲基葡萄糖苷葡萄糖果糖淀粉

(2)麦芽糖乳糖蔗糖甘露糖@#@5.一个试剂瓶中装有甘露糖溶液,与间苯二酚/HCl共热较长时间不显色。

@#@但在试剂瓶中加入Ca(OH)2溶液放置一两天后,再与间苯二酚/HCl共热则立即产生红色。

@#@解释原因。

@#@@#@6.有一个糖类化合物溶液,用斐林试剂检验没有还原性。

@#@如果加入麦芽糖酶放置片刻再检验则有还原性。

@#@经分析用麦芽糖酶处理后的溶液知道其中含有D-葡萄糖和异丙醇,写出原化合物的结构式。

@#@@#@7.糖醛酸可生成γ-内酯。

@#@一种名叫肝太乐的药品就是γ-D-葡萄糖醛酸内酯。

@#@试写出肝太乐的结构式。

@#@@#@8.(A)和(B)是两个D-型丁醛糖,与苯肼生成相同的糖脎。

@#@但用@#@HNO3氧化时,(A)的反应产物有旋光性,而(B)的反应产物无旋光性。

@#@推导出(A)和(B)的结构式,并写出氧化反应方程式。

@#@@#@9.完成下列反应方程式:

@#@@#@10.已知α-麦芽糖的=+1680,β-麦芽糖的=+1120,而麦芽糖在水溶液中达到旋平衡时的=+1360,求变旋平衡体系中α-和β-麦芽糖的含量。

@#@@#@11.两个D型糖(A)和(B)";i:

4;s:

18100:

"sql语句基础教程@#@SQL教程@#@1)SQL简介@#@SQL(StructuredQueryLanguage,结构查询语言)是一个功能强大的数据库语言。

@#@SQL通常使用于数据库的通讯。

@#@ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。

@#@SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。

@#@使用SQL的常见关系数据库管理系统有:

@#@Oracle、Sybase、MicrosoftSQLServer、Access、Ingres等等。

@#@虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。

@#@但是,标准的SQL命令,比如"@#@Select"@#@、"@#@Insert"@#@、"@#@Update"@#@、"@#@Delete"@#@、"@#@Create"@#@和"@#@Drop"@#@常常被用于完成绝大多数数据库的操作。

@#@@#@  但是,不像其它的语言,如C、Pascal等,SQL没有循环结构(比如if-then-else、do-while)以及函数定义等等的功能。

@#@而且SQL只有一个数据类型的固定设置,换句话说,你不能在使用其它编程语言的时候创建你自己的数据类型。

@#@@#@SQL功能强大,但是概括起来,它可以分成以下几组:

@#@@#@DML(DataManipulationLanguage,数据操作语言):

@#@用于检索或者修改数据;@#@@#@DDL(DataDefinitionLanguage,数据定义语言):

@#@用于定义数据的结构,比如创建、修改或者删除数据库对象;@#@@#@DCL(DataControlLanguage,数据控制语言):

@#@用于定义数据库用户的权限。

@#@@#@2)SQL常用语句@#@2.1 @#@ @#@SELECT语句@#@作用:

@#@SELECT语句用于从表中选取数据。

@#@结果被存储在一个结果表中(称为结果集)。

@#@@#@语法:

@#@@#@SELECT目标表的一个或多个列名称,列名前可加表达式,如:

@#@avg(年龄)FROM目标表的名称;@#@@#@以及:

@#@@#@SELECT*FROM表名称;@#@@#@注释:

@#@*代表选取全部。

@#@@#@ @#@@#@示例:

@#@@#@下面是示范在一个表中选取自己想要的信息,例如我只想要老师们的联系电话。

@#@@#@这是原表(教师表),里面包含了教师编号等等信息,在这个表中工作时间、政治面目等等都是我们不需要知道的信息所以我们要有选择的选取。

@#@@#@这个是在SQL视图中输入的代码(如何打开SQL视图不在这里列举)。

@#@@#@代码的含义是:

@#@选取“教师编号,姓名,性别,联系电话“这四个列,列的来源是“教师“这个表@#@这个是最终的结果,可以看到只有我们要的“教师编号,姓名,性别,联系电话“列,政治面目等并没有在里面。

@#@@#@ @#@@#@ @#@@#@拓展1:

@#@@#@SELECTDISTINCT语句@#@作用:

@#@在一个表中,可能会包含重复值。

@#@这并不成问题,不过,有时你也许希望仅仅列出不同(distinct)的值。

@#@关键词DISTINCT作用就是用于返回唯一不同的值。

@#@@#@语法:

@#@@#@SELECTDISTINCT列名称FROM表名称@#@示例:

@#@@#@在教师表中有两个人的名字是江小洋,这里示范只选取江小洋。

@#@@#@在原表中可以看到“教师编号“为09,16的两个人的名字都是江小洋。

@#@@#@这是SQL代码。

@#@代码解析是:

@#@选取列名为“姓名“中的唯一值,列的来源是”教师“这个表。

@#@@#@ @#@@#@这是结果,可以看到他只选取了一个江小洋。

@#@并没有显示两个江小洋。

@#@@#@拓展2:

@#@@#@SELECT表达式(列名)语句@#@作用:

@#@往往我们在选取信息的时候希望能够直接得到一些间接信息。

@#@如,我想要知道班级的平均分。

@#@@#@语法:

@#@@#@SELECT表达式(列名)FORM表名@#@示例:

@#@这是一个“选课成绩“表里面有一个”成绩“列,我希望直接得到成绩的平均值。

@#@@#@ @#@@#@这是原表。

@#@@#@ @#@@#@SQL代码图,名词解释:

@#@AVG:

@#@为每一组中的指定字段求平均值。

@#@(更多的函数和逻辑运算符会在附录中列出)@#@AS:

@#@为指定的列或表指定一个别名。

@#@(因为AS内容并不多就不再单独列出一个拓展了)@#@代码解析:

@#@选取“成绩”列,并计算这个字段的平均值,同时为这个字段重新命名为:

@#@成绩平均值,这个列的来源表是“选课成绩”表。

@#@@#@ @#@@#@这是结果图,通过计算可以得知成绩列的平均值是72.46.@#@ @#@@#@课堂作业:

@#@为每个学生计算平均成绩和为每门课程计算平均成绩,并把结果字段更名为“平均值”。

@#@@#@ @#@@#@ @#@@#@2.2 @#@ @#@WHERE子句@#@作用:

@#@WHERE子句用于规定选择的标准。

@#@WHERE后面接的是条件表达式,如需有条件地从表中选取数据,可将WHERE子句添加到SELECT语句@#@语法:

@#@@#@SELECT列名称FROM表名称WHERE条件表达式@#@ @#@@#@示例:

@#@@#@例如我想知道一个名字叫“洪智伟”的学生的信息。

@#@@#@ @#@@#@这是原表,里面拥有多条学生信息,我们可以看到第一个就是“洪智伟”同学的信息,我们的目的就是选取他的信息。

@#@@#@ @#@@#@代码图,代码解析:

@#@选取所有字段名,字段的来源表是“学生”表,选取的条件是“姓名”等于“洪智伟”的记录。

@#@@#@ @#@@#@结果图,可以看到虽然来源表中有N条记录当选取到的记录只有一条。

@#@其姓名叫洪智伟。

@#@@#@拓展:

@#@AND&@#@OR运算符@#@作用:

@#@AND和OR运算符用于基于一个以上的条件对记录进行过滤。

@#@AND和OR运算符AND和OR可在WHERE子语句中把两个或多个条件结合起来。

@#@如果第一个条件和第二个条件都成立,则AND运算符显示一条记录。

@#@如果第一个条件和第二个条件中只要有一个成立,则OR运算符显示一条@#@ @#@@#@语法:

@#@@#@SELECT列名称FROM表名称WHERE条件AND/OR条件@#@注释:

@#@AND&@#@OR可以嵌套使用!

@#@@#@ @#@@#@示例:

@#@@#@我想选取“所有山东省的男生”或“所有北京市的女生”@#@ @#@@#@这是原表,数据非常多而且杂乱,用刷选来查找记录的话非常麻烦,所以选用SQL来查询。

@#@@#@ @#@@#@代码图,代码解析:

@#@选取所有字段,字段的来源是“学生”表。

@#@选取的条件是“性别是男的并且简历是山东省的学生”或者“性别是女的并且简历是北京市的学生”(本来想先做一个简单AND/OR语句再做多个拓展来介绍嵌套的使用,不过觉得太浪费篇幅,并且嵌套不难理解,注意一下嵌套需要用括号()括住就可以了!

@#@)@#@ @#@@#@ @#@@#@课堂作业:

@#@选取是团员的男生和简历是山东省的女生。

@#@@#@ @#@@#@2.3 @#@ @#@GROUPBY子句@#@作用:

@#@GROUPBY语句用于结合合计函数,根据一个或多个列对结果集进行分组。

@#@@#@语法:

@#@@#@SELECT一个或多个列名,可接函数@#@FROM表名@#@WHERE条件表达式@#@GROUPBY列名@#@ @#@@#@示例:

@#@要求列出“选课成绩”表中的“课程编号”从“110-120”的课程成绩平均值。

@#@(呵呵,好像和之前的作业蛮像得=。

@#@=!

@#@)@#@ @#@@#@原表图,原表中每个课程都有N个学生选,其成绩也有N项,为了直观的显示我们来求以整数来表达的平均值。

@#@@#@ @#@@#@SQL代码图,名词解释:

@#@INT:

@#@将数值取整数,如把72.2显示为72,四舍五入。

@#@@#@BETWEEN @#@AND:

@#@BETWEEN操作符在WHERE子句中使用,BETWEEN...AND会选取介于两个值之间的数据范围。

@#@这些值可以是数值、文本或者日期。

@#@@#@代码解析:

@#@选取课程编号和成绩两个字段,并且计算成绩字段的整数平均值和更名为成绩平均值,字段的来源表是“选课成绩”表。

@#@选取记录的条件是”课程编号在110–120这个区间内的记录”,然后根据课程编号来分组。

@#@@#@ @#@@#@结果图,课程编号中只显示了110-120的记录,其成绩的平均值也为整数。

@#@!

@#@@#@ @#@@#@拓展:

@#@HAVING子句@#@作用:

@#@在SQL中增加HAVING子句原因是,WHERE关键字无法与合计函数一起使用。

@#@同时HAVING都是紧跟着GROUPBY语句出现的,提供一个组的条件表达式。

@#@@#@语法:

@#@@#@SELECT一个或多个列名,可接函数@#@FROM表名@#@WHERE条件表达式@#@GROUPBY列名@#@HAVING组条件表达式@#@ @#@@#@示例:

@#@在上一个示例当中更加进一步的精确选取数据,只选取平均分超过75分的记录。

@#@@#@因为是延续上个示例,所以原图一样就不再列出。

@#@@#@ @#@@#@SQL代码图,代码解析:

@#@在原有的代码基础上添加了HAVING子句。

@#@使得数据更具有精确性,为了让大家更加明确了解WHERE和HAVING的区别在这里在给大家看一个图。

@#@@#@可以看到如作用:

@#@哪里所说的。

@#@WHERE子句当中是不能使用聚合函数的!

@#@如果我们希望得到一个平均值大于某个数的记录的话。

@#@我们使用WHERE子句的话是做不到的,这个时候就必须使用HAVING了而需要注意的是HAVING是在GROUPBY语句后使用的。

@#@@#@ @#@@#@结果图,可以看到110-120区间内只有两门课程的成绩平均值在75分以上。

@#@@#@ @#@@#@2.4 @#@oRDERBY子句@#@作用:

@#@ORDERBY语句用于根据指定的列对结果集进行排序。

@#@ORDERBY语句默认按照升序对记录进行排序。

@#@如果您希望按照降序对记录进行排序,可以使用DESC关键字。

@#@@#@ @#@@#@语法:

@#@@#@SELECT一个或多个列名,可接函数@#@FROM表名@#@DRDERBY列名@#@ @#@@#@示例:

@#@让教师表里面的记录按照男女排列。

@#@@#@ @#@@#@原表图,原表中是根据教师编号来排列的。

@#@@#@ @#@@#@SQL代码图,代码解析:

@#@选取全部字段,字段来源表是“教师”表,表的排序是根据表中的“性别”字段来排序。

@#@@#@ @#@@#@结果图,可以看到表是根据性别来来排序的,先男后女,因为男的拼音是“nan”而女的拼音是“nv”,access中的汉字排序是根据汉字拼音的字母顺序来排序的。

@#@@#@拓展:

@#@综合应用@#@SELECT一个或多个列名,可接函数@#@FROM表名@#@WHERE条件表达式@#@GROUPBY列名@#@HAVING组条件表达式@#@ORDERBY列名DESC@#@因为ORDERBY子句是对结果的重新排序,所以在此就不结合多个语句使用了,只是告诉大家能结合之前所学内容使用而已!

@#@@#@示例:

@#@对上个示例的结果进行降序排列。

@#@@#@原图一样就不提供了。

@#@@#@ @#@@#@SQL代码图,代码解析:

@#@和之前的示例一样,只是按照降序排列而已。

@#@@#@ @#@@#@结果图,可以看到和之前的那个结果图的排序刚刚相反,这次是女的排在前。

@#@@#@ @#@@#@课堂作业:

@#@让“教师”表按照性别降序排序,并且“学历”升序排序。

@#@@#@ @#@@#@2.5 @#@INSERTINTO语句@#@作用:

@#@INSERTINTO语句用于向表格中插入新的记录@#@!

@#@!

@#@注意在添加记录之前一定要先查看被添加记录表的字段设置属性,看看字段有没有设置为不能为空或者字段最大值等等之类的。

@#@@#@语法:

@#@@#@INSERTINTO表名称VALUES(值1,值2,....)@#@注释:

@#@因为插入的是一个表的全部列值所以列名可以忽略不写。

@#@@#@我们也可以指定所要插入数据的列:

@#@@#@INSERTINTO表名(列1,列2,...)VALUES(值1,值2,....)@#@注释:

@#@如果插入的知识表的部分列值的话,则必须列出相应的列名。

@#@没有的列出的列名则取空值。

@#@@#@ @#@@#@示例:

@#@向“学生”表添加一个记录@#@ @#@@#@原表图,表中的记录排第一的是“洪智伟”。

@#@@#@ @#@@#@SQL代码图,代码解析:

@#@向“学生”表中的“学生编号,姓名,年龄,简历”字段添加一个新的记录,记录的内容是“学生编号为1991,姓名是黄学宇,年龄为18,简历为广东省”@#@注释:

@#@因为添加记录具有不可恢复性所以access会弹出个警告框来询问你是不是确定要进行这步操作。

@#@@#@ @#@@#@结果图,可以看到记录已经成功添加,没有选择的字段为空值。

@#@@#@拓展:

@#@高级应用@#@作用:

@#@向一个表中添加由多个表组合成的新纪录。

@#@@#@语法:

@#@@#@INSERTINTO添加记录的表名称(列1,列2……)@#@SELECT表1.列1,表1.列2,表2.列1,表3.列1@#@FROM表1,表2,表3@#@WHERE条件表达式;@#@@#@示例:

@#@制作一个补考人员名单。

@#@@#@ @#@@#@原表图,这是个空表,在向一个表添加记录时一定要确认这个表的存在而且要确认字段的属性。

@#@这是个我刚刚建立的新表,字段属性都是文本,没有任何限制条件。

@#@在这里我是用SQL来建立的这个表。

@#@关于建立新表的SQL代码大家可以使用CREATETABLE语句,因为这篇教程只是介绍基本SQL内容所以没有在这里列举。

@#@有需要的话我会在写多一份相对高级点的教程。

@#@@#@ @#@@#@SQL代码图,代码解析:

@#@向“补考人员名单”这份表中的“学生编号,姓名,课程名称,成绩”字段添加记录。

@#@添加的新记录来至于“学生”表中的“学生编号”,“学生”表中的“姓名”,“课程”表中的“课程名称”,“选课成绩”中的“成绩”。

@#@选取的条件是“选课成绩”中的“成绩”小于60,且在这些表中“学生”表里面的“学生编号”等于“选课成绩“中的学生编号”,“课程”表中的“课程编号”等于“选课成绩”中的“课程编号”。

@#@同样的,因为这个操作具有不可恢复性所以一样会弹出警告框!

@#@在这里还可以使用INNERJOIN(内连接)语句来连接这3个表的相同字段。

@#@在这里并没有列举,理由同上。

@#@@#@ @#@@#@结果图,可以看到所有成绩低于60的记录都被选取出来。

@#@其显示结果也很直观,联系了3个表中的数据。

@#@@#@课堂作业:

@#@制作一个优秀学员名单,要求选课成绩有两门成绩上80分。

@#@@#@ @#@@#@2.6 @#@UPDATE语句@#@作用:

@#@Update语句用于更新,修改表中的数据。

@#@@#@语法:

@#@@#@UPDATE表名称@#@SET列名称=需要改变的新值@#@WHERE条件表达式@#@注释:

@#@WHERE子句用于确认目标列来修改数据。

@#@@#@ @#@@#@示例:

@#@修改错误数据。

@#@@#@ @#@@#@这是之前的例子用INSERTINTO语句来插入的一条记录,在这里与上个例子不同的是“黄学宇”在这里是为团员,而且入校日期也没有填写,我们利用UPDATE来补齐。

@#@@#@SQL代码图,代码解析:

@#@@#@更新“学生”表,更新的设置为:

@#@把入校日期更新为“2009-4-22”,把学生编号修改为“000000”,团员修改为“非团员”。

@#@更新的列是姓名等于“黄学宇”的那个列。

@#@@#@注释:

@#@关于“团员=false”存在疑问,因为我是通过其他语言来类比得出来的,经过王老师指导,说是错误的。

@#@当然在SQL上使用完全没有问题,在这里只是给大家提供一个参考。

@#@@#@ @#@@#@结果图,数据已经完全按照我们输入的那样来更新、修改了!

@#@@#@ @#@@#@拓展:

@#@ALTERTABLE语句@#@作用:

@#@ALTERTABLE语句用于在已有的表中添加、修改或删除列。

@#@@#@语法:

@#@@#@如需在表中添加列,请使用下列语法:

@#@@#@ALTERTABLE表名@#@ADD列名字段属性(文本,时间日期等。

@#@。

@#@)@#@要删除表中的列,请使用下列语法:

@#@@#@ALTERTABLE表名@#@DROPCOLUMN列名@#@注释:

@#@某些数据库系统不允许这种在数据库表中删除列的方式(DROPCOLUMN列名)。

@#@@#@要改变表中列的数据类型,请使用下列语法:

@#@@#@ALTERTABLE表名@#@ALTERCOLUMN列名字段属性@#@ @#@@#@示例:

@#@为选课成绩增加一个字段“评价”并把90分以上的同学的评价更新为优秀。

@#@@#@ @#@@#@这是原表,里面并没有我们要的“评价”字段。

@#@因为不能同时使用ALTERTABLE语句和UPDATE语句。

@#@所以要分开弄两个SQL代码。

@#@。

@#@@#@ @#@@#@SQL代码图,代码解析:

@#@向“选课成绩”表增加一个长度为255的文本字段。

@#@需要注意的是运行这个SQL代码的时候必须确认你添加列的表并没有被打开。

@#@@#@ @#@@#@结果图,可以看到评价字段已经能够添加成功。

@#@@#@ @#@@#@代码图,代码解析:

@#@向“选课成绩”表更新数据,把评价设置为“优秀”,更新字段的条件是“成绩”大于并等于“90”@#@ @#@@#@结果图,“成绩”字段大于并等于“90”的记录的“评价”都已经被修改为“优秀”了!

@#@@#@ @#@@#@2.7 @#@DELETE语句@#@作用:

@#@DELETE语句用于删除表中的记录。

@#@@#@语法:

@#@@#@DELETEFROM表名称WHERE条件表达式@#@注释:

@#@如果没有WHERE子句的话,则代表删除表中的全部记录。

@#@有的话则是删除满足WHERE条件的记录。

@#@@#@ @#@@#@示例:

@#@删除学生表中1990年到1992年间的所有学生记录。

@#@@#@ @#@@#@原表图,入校日期都是7月份的九号。

@#@@#@ @#@@#@SQL代码图,代码解析:

@#@删除记录,来源于“学生”表,删除的条件是“入校日期”在1990年初到1992年初。

@#@@#@ @#@@#@结果图,可以看到现在入校日期是1992年7月9号开始的了,之前1990-1992年间的记录都已经被删除。

@#@@#@";i:

5;s:

664:

"SY51203LZD01X20工作原理@#@产品名称:

@#@SMC电磁阀SY5120-3LZD-01-X20工作原理@#@电磁阀(Electromagneticvalve)是用电磁控制的工业设备,是用来控制流体的自动化基础元件,属于执行器,并不限于液压、气动。

@#@用在工业控制系统中调整介质的方向、流量、速度和其他的参数。

@#@电磁阀可以配合不同的电路来实现预期的控制,而控制的精度和灵活性都能够保证。

@#@电磁阀有很多种,不同的电磁阀在控制系统的不同位置发挥作用,最常用的是单向阀、安全阀、方向控制阀、速度调节阀等。

@#@@#@@#@ @#@@#@@#@@#@";}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2