PB基本知识sql语句.doc_第1页
PB基本知识sql语句.doc_第2页
PB基本知识sql语句.doc_第3页
PB基本知识sql语句.doc_第4页
PB基本知识sql语句.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录一、SQL内部数据导入、导出11、数据库备份(BACKUP)12、 备份的执行23、 恢复数据库(RESTORE)54、BCP55、使用DTS导入、导出66、单表数据导入、导出实例。67、建立计划任务6二、PB简介71、画笔介绍72、编译93、简单问题查找定位10三、PB数据导入、导出101、打开表,用SAVE AS 将表内数据保存为另一格式102、用DATD PIPELINE将当前库中的一个表内的数据导出到另一库中113、用ROWS中的IMPORT 导入数据124、用SQL 语句生成表12四、数据操纵语言(DML)131、SELECT语句132、INSERT 语句143、DELETE 语句154、Update 语句15数据导入导出、SQL语句简介一、SQL内部数据导入、导出1、数据库备份(BACKUP)l 概述 备份就是对SQL Server数据库或事务日志进行备份,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。 l SQL SERVER 2000 四种备份方式1) 完全数据库备份(Dadabase-complete) 2) 差异备份或称增量备份(Dadabase-differential)3) 事务日志备份(Transaction log) 4) 数据库文件和文件组备份(File and filegroup)l 创建备份设备 在进行备份以前首先必须指定或创建备份设备,备份设备是用来存储数据库、事务日志或文件和文件组备份的存储介质,备份设备可以是硬盘、磁带或管道。当使用磁盘时,SQL Server允许将本地主机硬盘和远程主机上的硬盘作为备份设备,备份设备在硬盘中是以文件的方式存储的。l 使用SQL Server 企业管理器创建备份设备图1.使用企业管理器创建备份设备图2.输入备份设备属性对话框 2、 备份的执行SQL Server系统提供了三种数据库备份操作的方法:(1)SQL Server 企业管理器(2)备份向导(3)Transact-SQL语句(略)l 使用企业管理器进行备份()启动企业管理器,登录到指定的数据库服务器,打开数据库文件夹,用右键单击所要进行备份的数据库图标,在弹出的快捷菜单中选择所有任务,再选择备份数据库 。()出现SQL Server备份对话框,对话框中有两个页框,即常规和选项页框。()在常规页框中,选择备份数据库的名称、操作的名称、描述信息、备份的类型、备份的介质、备份的执行时间。 ()通过单击添加按钮选择备份设备 。()选择调度复选框,来改变备份的时间安排。( 6 )在选项页框中进行附加设置 。l 使用备份向导进行备份图1 欢迎框图2 选择数据库对话框图3输入备份名称和描述信息对话框 图4 选择备份数据库类型对话框 图5设置备份介质类型和属性对话框图6 备份验证和调度对话框图7确认执行备份操作对话框3、 恢复数据库(RESTORE)l 概述 数据库备份后,一旦系统发生崩溃或者执行了错误的数据库操作,就可以从备份文件中恢复数据库。数据库恢复是指将数据库备份加载到系统中的过程。系统在恢复数据库的过程中,自动执行安全性检查、重建数据库结构以及完整数据库内容。 l 使用企业管理器恢复数据库(1)打开企业管理器,单击要登录的数据库服务器,然后从主菜单中选择工具,在菜单中选择还原数据库命令。(2)在还原为数据库旁的下拉列表中选择要恢复的数据库,在还原组中通过单击单选按钮来选择相应的数据库备份类型。 (3)选中选项页框,进行其它选项的设置 。4、BCP 进入dos 运行pdos95 中文环境(1) 导出bcp his221.yk_rk01 out yk_rk01.out n -Ssvr_pxb -Usa P /his221.yk_rk01=his221.dbo.yk_rk01 参数说明: -n native type -S server name -U username -P password(2)导入bcp test.yk_rk01 in yk_rk01.out n -Ssvr_pxb -Usa P /导入前test.yk_rk01 必须先建好,导入时以追加方式添加 A、“HIS221|表|YK_RK01、YK_RK02|所有任务|生成SQL脚本”,创建YK_RK01、YK_RK02的SQL的脚本;B、建TEST库; C、根据SQL脚本在TEST库内建YK_RK01、YK_RK02表,D、将数据导入 (3)批量生成bcp命令 select bcp his221.+NAME+ out+ e:back+name+.txt+ -n -Ssvr_pxb -Usa -Pfrom his221.sysobjects where type=U;5、使用DTS导入、导出导入和导出数据采用DTS 导入/导出向导来完成。此向导包含了所有的DTS(Data Transformation Services)工具,提供了在OLE DB数据源之间复制数据的最简捷的方法。对TEST库中的表YK_RK01创建主键(XTSB+RKFS+RKDH),YK_RK02创建外键。(1) 整库导出:”数据库|TEST|所有任务|导出数据|在SQLSERVER数据库之间复制对象和数据” ,将TEST导出到AA库,完成后查看目标库主外键情况,将AA库删除。(2) 部分表导出:” 数据库|TEST|所有任务|导出数据|从源数据库复制表和视图”将TEST 库中的YK_RK01、YK_RK02表导出到AA库,完成后查看AA库情况。(3) 利用SQL 创建主外键:(1)生成SQL 语句(2)执行SQL语句6、单表数据导入、导出实例。(1) 生成YK_RK02 建表及建索引的 SQL语句(2) 将YK_RK02数据导出(3) 删除YK_RK02表(4) 用SQL建表(5) 数据导入(6) 建索引7、建立计划任务(1) 本机计划任务”管理|数据库维护计划|新建维护计划”,生成一个本机备份计划任务。根据提示完成一计划任务。(2) 修改备份路径,可以生成一远程备份计划任务。(略)二、PB简介1、画笔介绍主要画笔的功能与作用:1) 应用对象画笔(Application Painter): 应用对象画笔创建应用对象以及保存应用程序所有对象的应用库。应用对象定义应用程序的执行环境,包括三方面的内容:应用对象名称和相应的图标;应用程序中其它对象使用的缺省文本颜色、字体以及字型;应用程序用到的各种对象库等。2) 窗口画笔(Window Painter):窗口画笔用于设计应用程序中使用的窗口以及定义窗口中的控件,实际上也就是定义应用程序与用户交互的人机接口。PowerBuilder 6.0提供了大量控件供开发人员直接使用,它既包括常见的命令按钮、单选钮、复选框、编辑框、滚动条、列表框,也包括功能不凡的数据窗口控件、TreeView(树形列表)控件、ListView(列表视图)控件、标签控件、各种绘图控件等。3) 菜单画笔(Menu Painter):菜单画笔生成菜单和工具栏对象。菜单对象既可以直接运用在窗口的菜单栏上,也能够作为应用程序的弹出菜单使用。4) 工程画笔(Project Painter):工程画笔用于建立工程文件、编译应用程序、生成可执行文件、生成代理对象、产生类用户对象的C+头文件/源代码或目标库。5) 用户对象画笔(User Object Painter):用户对象画笔用于生成用户对象,包括可视用户对象和类用户对象,这些对象既可在应用程序内部反复使用,也能够在整个开发小组里公用。6) 结构画笔(Structure Painter):结构画笔用于定义应用程序中使用的全局结构,利用结构开发人员能够更有效地组织复杂的变量。该画笔创建全局结构,并作为一个对象保存到应用库中。7) 函数画笔(Function Painter):开发应用程序时,经常会发生这样的情况:某段程序需要在多个地方使用,这时就可以用函数画笔生成函数,避免重复编码并提高代码的可重用性。函数画笔创建的函数是全局函数,在整个应用程序中都能够使用。8) 数据窗口画笔(DataWindow Painter):数据窗口画笔生成能够智能操纵数据库的数据窗口对象,该对象可以以多种显示风格查询、修改数据库,且不需要复杂的SQL编程。数据窗口对象能够访问多种数据源,包括表、视图、查询、存储过程以及外部数据源等,同时,它有十几种表现风格,极大地丰富了数据的表达能力。数据窗口对象对PowerBuilder6.0的应用程序十分重要,只有做到灵活自如地运用数据窗口,才能说学会了PowerBuilder 6.0。9) 查询画笔(Qurey Painter):查询画笔可使开发人员在图形界面下以交互方式生成数据库查询语句,并将其作为一个对象进行保存,该对象可为数据窗口对象所用。这样,即使开发人员不十分熟悉数据库操作语句棗SQL语句,利用该画笔也同样能够生成复杂的查询。10) 数据管道画笔(Data Pipeline):数据管道画笔用于把一个数据库的结构和数据复制到另一个数据库,从而实现数据库之间的数据转换。11) ODBC配置画笔(Configure ODBC):当PowerBuilder 6.0开发环境通过ODBC接口连接到数据库时,使用此画笔配置ODBC数据源。12) 数据库连接参数配置画笔(DB Profile):该画笔用于配置PowerBuilder 6.0连接到数据库时的连接参数。13) 表操作画笔(Table Painter):该画笔用于建立和修改数据库表的定义。14) 数据库画笔(Database Painter):该画笔提供了生成和维护服务器端数据库的良好环境,开发人员无须查阅SQL语句手册,就能够创建新表、修改老表以及操纵数据。而且,在该画笔的数据操纵(DBAdministration)子画笔中可以执行和测试当前环境所连接数据库支持的任何SQL语句,比如创建用户或用户组等。15) 对象浏览器(Browser):通过对象浏览器可以方便地浏览PowerBuilder环境以及应用程序中各个对象的事件、属性、函数,并能够查阅系统预定义的枚举类型及其取值,而且能够根据需要生成超文本格式(RTF)文件,或从打印机上打印输出。另外,还可以在对象浏览器中直接启动所选对象的相应画笔编辑、修改对象。当我们需要知道OLE自动化服务器的类类型、使用的枚举类型数据、属性、事件、方法等信息时,同样可以使用对象浏览器查阅。16) 库管理画笔(Library Painter):库管理画笔提供了管理应用程序各个组成部分的有效手段,利用库管理画笔,我们能够删除、修改、移出、移入、复制、重新生成应用程序中的各种对象(例如,窗口、菜单、数据窗口对象等)。17) 文本编辑器(Edit):用于编辑诸如初始文件(.INI)、资源文件(.PBR)等类型的文本文件。18) 调试画笔(Debug):调试画笔可单步跟踪、断点跟踪应用程序,并可在程序执行过程中手工修改变量的取值,该画笔用于程序调试及排错。19) 运行窗口画笔(Run Window):它可以直接运行独立的窗口,有利于提高应用程序的开发效率。20) 报表画笔(Report Painter):报表画笔用于生成各种风格的报表。缺省情况下(即初始安装情况下),报表画笔没有直接出现在PowerBuilder6.0的画笔工具栏上,但我们可以通过单击画笔栏上带箭头图标(即第一个图标)上的箭头,打开图标列表,单击其中的“Report ”图标,启动报表画笔。21) 运行(Run):在PowerBuilder开发环境中运行应用程序。2、编译创建可执行文件应用程序经过设计、开发、调试和试运行,排除了明显的与潜在的错误并达到预期功能后,就到了向用户交付应用程序的时候了。在应用交付之前,还有一件重要工作要做,就是要把应用程序编译成可执行文件,这样用户就能够像运行其它软件那样运行你开发的应用程序了。创建可执行文件的唯一途径是使用PowerBuilder的工程画笔(ProjectPainter),利用该画笔,我们既可以把应用程序中的所有对象都包含到独立的可执行文件中,也能够把应用程序编译成一个可执行文件和多个PowerBuilder动态库。工程画笔能够编译出两类可执行文件:机器代码的可执行文件和伪代码(P-Code)的可执行文件。另外,使用工程画笔,既可以把应用程序中的类用户对象转变成C+代码的源程序或库,也可以生成分布式应用程序中的代理(Proxy)。下面介绍可执行文件的创建方法并说明动态库的作用。12.5.1 创建可执行文件的一般步骤工程画笔是把PowerBuilder应用程序编译成可执行文件的唯一工具。创建可执行文件时,一般需要经过下述步骤:a. 创建新工程或打开已有工程;b. 设置各种编译选项;c. 生成可执行文件。编译选项: “Executable File Name”编辑框用于指定编译后的可执行文件的存放路径及名称。你可以直接键入文件名,也可以单击编辑框后面的标识为三个小点的按钮后从打开的对话框中选择一个文件名; “Resource File Name”编辑框用于指定可执行文件和动态库使用的资源文件名。你可以直接键入文件名,也可以单击编辑框后面的标识为三个小点的按钮后从打开的对话框中选择一个文件名; “Project Build Options ”组框用于设置建立工程的方式,其中,选中“Prompt for Overwrite”复选框后,建立工程过程中有文件被覆盖时,系统将预先给予提示,否则不提示;“Rebuild”下拉列表框用于指定以增量方式还是完整重建方式生成工程,选项“Incremental”为增量方式,“Full”为完整重建方式,增量方式只重新生成上次编译后修改过的对象,因此速度更快一些,而完整重建方式则重新生成所有对象;选中“Open Server Executable”复选框表示将使用“OpenClientServer”驱动程序建立分布式服务器应用程序,否则建立普通的可执行文件。 “Code Generation Options ”组框用于设置代码生成选项。选中复选框“Machine Code”时后,可以把应用程序编译成机器代码,否则应用程序编译成PowerBuilder伪代码格式(P-Code)。该组框中其它选项的意义为:a. “Trace Information”复选框指定是否在可执行代码中包含调试信息,选中时包含调试信息,否则不包含。该选项只对生成机器代码的可执行文件有效,对伪代码格式的可执行文件来说,总是包含调试信息。一般来说,最终交付用户时,不要选中该选项,这样将缩短可执行文件的长度。b. “Error Context Information”复选框指定程序运行出错时是否显示上下文相关的出错信息,该选项只对生成机器代码的可执行文件有效。c. “Excutable Format”下拉列表框指定可执行文件的代码格式。对Windows系统来说,选择“Native”时编译成本机形式(32位),选择“16-Bit”时编译成16位格式。对Macintosh系统来说,有效选项为PowerPC、68K、或Fat(既可以在PowerPC、也可以在68K上运行的可执行文件格式) 。d. “Optimization”下拉列表框指定代码优化方式。其中“Speed”优化运行速度,当速度对应用程序十分重要时选择该选项;“Space”优化空间,当内存不宽余时选择该选项;“No Optimization”不做优化,当采用其它优化方式存在问题时选择该选项,这样有利于发现问题。 工作区下部“Library”区域列出了应用程序中使用的应用库,如果我们想把某个库编译成PowerBuilder动态库PBD(对编译成伪代码的情况)或DDL(对编译成机器代码的情况),然后与可执行文件一起发行,那么在“PBD”或“DDL”列选中相应的复选框。“PBD”或“DDL”列实际上是一个列,如果当前的编译方式是伪代码方式,则该列显示为“PBD”,如果当前的编译方式是机器代码方式,则该列显示为“DDL”。 同样,对每一个动态库,我们也可以在“Resource File Name”列的相应行上指定资源文件的名称,其意义和作用与在“Resource File Name”编辑框中指定资源文件名相同。 生成可执行文件按照前面的介绍设置工程的各种选项后,就可以生成可执行文件了,其方法很简单:单击工程画笔工具栏上的“Build”图标,系统显示“Build Library”对话框,根据工程设置重新生成对象,此时最好不要通过单击“Stop”按钮停止重新生成对象过程,否则可能会破坏应用库的完整性。稍过片刻,系统即生成可执行文件,生成过程中如果发现错误,系统会及时给予提示。3、简单问题查找定位如何查询”住院系统床位设置维护”程序?三、PB数据导入、导出1、打开表,用SAVE AS 将表内数据保存为另一格式Save Rows As打开“Save As(另存为)”对话框,用户选择路径、文件名及文件类型后将数据窗口中的数据保存到指定文件中;2、用DATD PIPELINE将当前库中的一个表内的数据导出到另一个库中数据管道提供了在数据库内部、数据库之间,甚至不同的数据库管理系统之间快速复制数据的简便途径。利用数据管道复制数据的过程称之为灌入数据(Piping Data)。数据管道可以完成普通方法难以完成的任务,比如:把一个或多个表中的数据灌入到相同DBMS或不同DBMS的一个表中。例如,它可以把Oracle数据库实例OO的一个或多个表中的数据复制到Oracle数据库另一个实例OR的一个表中,也能够将这些数据灌入到Sybase数据库中。而且,在复制数据时,数据管道可以把表的属性一起复制。把整个表一次性地复制到另一个数据库中,当然,需要时也可以把PowerBuilder的资源库(Repository Table)复制到另一个数据库中,这在部署使用动态数据窗口的应用程序时特别有用,它使开发环境和应用环境达到高度的一致。创建一个与原表有相同结构,但不包含数据的表,即复制表结构。将网络数据库服务器上的数据复制到本地的SQL Anywhere数据库中,这样用户就可以使用客户机本地的数据库而无须每次都使用网络,减轻了网络的通讯压力。提供了在修改表结构的同时保留表中数据的另一种手段。用数据库画笔或表画笔修改表时,有些选项不能修改,比如,大多数数据库不允许把空列(NULL)修改为非空列(NO NULL)。此时,我们可以用数据管道创建一个新表,新表与原表的结构相同,但属性按我们的需要设置。用数据管道复制数据时,可以复制表中所有数据,也可以复制部分数据,甚至还可以复制出加工了的数据。数据管道是PowerBuilder的一个对象,它的使用方法有两种:(1).用数据管道画笔创建数据管道对象,然后在数据管道画笔中运行数据管道对象;(2).用数据管道画笔创建并保存数据管道对象,用用户对象画笔定义出基于数据管道对象的用户对象,编写需要的事件处理程序,在代码中运行管道。无论哪种方法,使用之前都需要首先创建数据管道对象。创建数据管道对象时,需要确定下述选项:u 源数据库u 目的数据库u 要从中复制数据的源表u 要存放数据的目的表u 要执行的数据管道操作类型u 运行数据管道时事务提交的频率u 容许出现的最多错误数u 是否要把表的扩展属性一起传送到目的数据库中实际上,上述选项的结果都将包含到数据管道对象中(Data Pipeline Painter)。3、用ROWS中的IMPORT 导入数据(1). 从“Rows”菜单选择“Import”菜单项,系统显示“Select Import File”对话框,选择用制表符分隔的文本文件类型或Dbase文件类型,然后选择数据文件;(2). 单击“打开”按钮,数据被插入到数据操作画笔中。4、用SQL 语句生成表如当前连接库为HIS221,则使用select * into temp from his221.yk_rk01可产生temp表,内容与his221.yk_rk01相同四、数据操纵语言(DML) 数据操纵语言是指用来查询、添加、修改和删除数据库中数据的语句,这些语句包括SELECT、INSERT、UPDATE、DELETE等。在默认情况下,只有sysadmin、dbcreator、db_owner或db_datawriter等角色的成员才有权利执行数据操纵语言。1、SELECT语句 SELECT语句的语法形式如下: SELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC | DESC COMPUTE clauseFOR BROWSE几种常用语句的用法 SELECT子句用于指定所选择的要查询的特定表中的列,它可以是星号(*)、表达式、列表、变量等。 INTO子句用于指定所要生成的新表的名称。 FROM子句用于指定要查询的表或者视图,最多可以指定16个表或者视图,用逗号相互隔开。 WHERE子句用来限定查询的范围和条件。 GROUP BY子句是分组查询子句。 HAVING子句用于指定分组子句的条件。 GROUP BY子句、HAVING子句和集合函数一起可以实现对每个组生成一行和一个汇总值。 ORDER BY子句可以根据一个列或者多个列来排序查询结果,在该子句中,既可以使用列名,也可以使用相对列号。 ASC表示升序排列,DESC表示降序排列。 COMPUTE子句使用集合函数在查询的结果集中生成汇总行。 COMPUTE BY子句用于增加各列汇总行。程序清单2-4:显示居住在加利福尼亚州且姓名不为 McBadden 的作者列。SELECT au_fname, au_lname, phone AS TelephoneFROM authorsWHERE state = CA and au_lname McBaddenORDER BY au_lname ASC, au_fname ASC使用两个相关子查询查找作者姓名,这些作者至少参与过一本受欢迎的计算机书籍的创作。SELECT au_lname, au_fnameFROM authorsWHERE au_id IN (SELECT au_id FROM titleauthor WHERE title_id IN (SELECT title_id FROM titlesWHERE type = popular_comp)显示含有本年度截止到现在的当前销售额的行,然后按type以递减顺序计算书籍的平均价格和预付款总额。SELECT CAST(title AS char(20) AS title, type, price, advanceFROM titlesWHERE ytd_sales IS NOT NULLORDER BY type DESCCOMPUTE AVG(price), SUM(advance) BY typeCOMPUTE SUM(price), SUM(advance)l SELECT 计算查询小结COUNT(*) 计算元组的个数COUNT(列名)对此列中值计算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论