您好,欢迎访问三七文档
DB2学习笔记-1-5/4/20203:51:50PM第一部分DB2系统管理命令1.Db2有域,实例,和数据库三层的概念。2.查看数据库服务器中有几个数据库。包括网络中数据库的引用。进入数据库安装目录下的bin目录:C:\ProgramFiles\IBM\SQLLIB\BIN执行db2listdatabasedirectory命令3.查看命令选项说明listcommandoptions4.查看运行的数据库服务器中关联了多少个引用程序对数据库的访问。进入数据库安装目录下的bin目录:C:\ProgramFiles\IBM\SQLLIB\BINdb2listapplications命令可以通过db2forceapplication(进程id)杀死对应的进程。5.如何强制断开应用程序和数据库的连接。进入数据库安装目录下的bin目录:C:\ProgramFiles\IBM\SQLLIB\BIN行下列的命令db2forceapplications可以强制断开应用程序和数据库的连接。6.如何备份数据库进入db2的操作环境,然后运行backupdatabase数据库别名user用户名using密码命令7.停止数据库的服务器。进入数据库安装目录下的bin目录:C:\ProgramFiles\IBM\SQLLIB\BIN或db2操作环境中,如果在db2操作环境中必须通过的db2terminate命令终结db2操作环境中启动的所有子进程(即停止所有命令行处理器回话)再执行db2stop命令。注意:在执行此命令的时候,必须没有应用程序或用户和数据库连接。可以在执行停止命令之前查看于db2服务器连接的应用程序和用户。然后执行牵制断开命令断开连接的数据库和用户。·8.如何从旧版本中把数据库迁移到新的安装版本中(在新版数据库种运行下列代码)i.验证数据库是否可以被迁移。用db2ckmig命令,db2ckmig/e数据库别名/l验证信息保存路径/u用户名/p密码ii.执行数据库的迁移命令MIGRATEdatabase数据库别名user用户名using密码命令9.启动DB2服务器进入数据库安装目录下的bin目录:C:\ProgramFiles\IBM\SQLLIB\BIN或db2操作环境中DB2学习笔记-2-5/4/20203:51:50PM执行db2start命令10.关于命令行编辑器的使用使用命令行编辑器之前要连接到一个数据库。在该数据库中可以执行想要执行的命令和SQL语句。i.如何配置指定数据库的连接。首先要启动数据库服务器。登陆到数据库的服务器上。然后用在CA(配置助手)菜单栏上(在所选下面)选择使用向导添加数据库。添加的数据库可以是网络中的已经运行的数据库。然后选择手工配置至数据库的连接如果是网络连接选TCP/IP,如果是本地的数据库则选择本地连接还要知道数据库服务器中所在的Ip和端口号码,以及数据库的名称。对于安全性的认证一般采用dbm自带的安全认证。通过以上的配置完成数据库的连接。注意如果不知道网络中有那些数据库可以通过配置助手的发现功能搜索网络中的数据库。可以直接把网络中已知系统中的数据库搜索到。包括已经连接的数据库和没有连接的数据库ii.使用命令行处理器来配置数据库的连接数据库服务器节点的概念:为了连接网络上的数据库服务器,访问数据库提出了节点的概念。一个节点唯一对应一个网络中的数据库。所以不能重复。建立了节点后,可以把节点与一个网络数据库对应。建立一一之间的映射。注意这个数据库必须是在节点对应的数据库服务器中存在的。1)在客户机上配置TCP/IP的节点catalogtcpipnode自定义节点名remoteip地址server端口号terminate(作用是刷新目录的告诉缓存,如果不刷新,只能在重启计算机后才会起作用)2)编目数据库catalogdatabase数据库名称(必须在网络中已经存在)as数据库别名atnodenod名称authentication连接数据库时所采用的认证方法(一般是server或client)terminate3)建立数据库createdbdbName4)连接数据库通过以上的配置设置。数据库服务进程会保存配置信息。在db2的会话进程中可以通过connectto数据库的别名连接数据库。这是可以执行sql语句;或用!开头可以执行操作系统的命令用“\”可以作为多行的分割符。5)查看数据库的结构信息命令连接到数据库后可以查看数据库的结构信息,包括有什么表,什么视图,什么触发器等等1)查看数据库中有多少表或视图listtables;DB2学习笔记-3-5/4/20203:51:50PM2)查看表或试图的结构describetabletableName获describeSelect*fromtableName10.数据的导入导出操作首先连接上数据库;用export命令格式如下:Exporttoc:\org.txtofdelmessagesd:\msgs.txtselect*fromorg1)如何导出大对象exporttod:\myfile.delofdellobstod:\lob\lobfilelobsmodifiedbylobsinfileselect*fromemp_photo该句的含义是将从“select*fromemp_photo”中获得的数据放到“d:\myfile.delofdel”文件中存放的格式是del,其中大对象的位置存放在d:\lob\,文件名是lobs。最后modifiedbylobsinfile指明指定要将大对象(LOB)数据导出到LOBSTO子句中所指定的位置。2)如何导入数据importfromD:\TABLE1.ixfofixflobsfromd:\loblobfilelobsmodifiedbylobsinfilesavecount1000messagesD:\msg.txtinsertintoTABLE1//其中,savecount表示完成每1000条操作,记录一次。将D:\TABLE1.ixf文件中的数据以ixf格式导入到表table1中。并把d:\lob目录下的文件是lobs的大对象文件导入到表中11.如何执行批处理命令:首先进现连接数据库db2=connecttodbNameuserxxxusingpassword退出命令处理器:db2=quit在dos环境下输入sql脚本文件的路径全名c:\db2-tvf文件名.sql注意脚本的每一条命令以分号作为结束标志。命令之间永换行符进行分割。12.如何把数据库中的表全部导入导出。查看要移动的数据库的表空间。表空间是孩子,数据库是父母,一个数据库可有很多表表空间。一个表空间只能属于一个数据库。Listtablespaces查看每个表空间的属性有两种方法:1)利用dblook命令db2look–ddbname–e–odb.sql–iusername–wpassword把数据库名是dbname的数据库的结构信息输入到db.sql的脚本中,username数据来源操作情况保存位置保存格式数据保存的位置DB2学习笔记-4-5/4/20203:51:50PM是连接数据库时的用户名,password时密码然后建立一个新的空数据库。再把sql脚本中connectto新的数据库名再通过db2-tvfdb.sql运行db.sql的数据库编程脚本。这样就把原来的数据库中所有表再新数据库中建立。只是没有数据最后用export和import命令把数据导入新的数据库。2)在特定的目录下面执行db2movedbnameexport-uusername-ppassword命令把整个数据库移动到该目录下自动建立的5个文件上(db2move.lst;import.out;export.out;tabl.ixf;tab1.msg)然后创建一个新的数据库;最后回到特定的目录(有上述的5个文件),执行db2movedbnameimport-uusername-ppassword第二种方法可以把数据一次全部导入和导出,比较好。13.了解数据库服务器的配置是必要的。在某些特定的时候有可能要根据应用程序的要求来更改数据库服务器的配置。用命令db2getdbmcfg命令来运行数据库的配置的相关信息14.如何设置数据库服务器的配置db2updatedbmcfgusing参数名参数值15.读数据库的配置db2getdbcfgfordbname16.设定数据库连接的配置db2updatedbcfgforo_ydusing参数名参数值删除数据库连接。(首先要断开关联到数据库应用程序的连接)dropdbdbName对于本地数据库执行删除对于网络数据库删除节点编目。附录:选项描述当前设置-a显示SQLCAOFF-c自动落实ON-e显示SQLCODE/SQLSTATEOFF-f读取输入文件OFF-l将命令记录到历史文件中OFF-n除去换行字符OFF-o显示输出ON-p显示交互式输入提示符ON-r将输出保存到报告文件OFF-s在命令出错时停止执行OFF-t设置语句终止字符OFF-v回送当前命令OFF-w显示FETCH/SELECT警告消息ONDB2学习笔记-5-5/4/20203:51:50PM-x不打印列标题OFF-z将所有输出保存到输出文件OFF第二部分数据库的sql语法本文介绍了我们在DB2sql开发中经常用到的一些函数。同时这些函数也是编写优秀sql代码的基本要求。本文介绍的一些技巧只是揭开了高效使用DB2的冰山一角。DB2为我们提供了丰富和强大的功能。在使用DB2的时候,我们应当深入理解其原理,找出更多的最佳实践与大家分享。一DB2SQL常用函数语法函数名函数解释函数举例avg()返回一组数值的平均值selectavg(salary)frombsempms;abs(),absval()返回参数的绝对值selectabs(-3.4)frombsempms;acos()返回参数的反余弦值.selectacos(0.9)frombsempms;ascii()返回整数参数最左边的字符的ASCII码.selectascii('r')frombsempms;asin()返回用弧度表示的角度的参数的反正弦函数selectasin(0.9)frombsempms;atan()返回参数的反正切值,该参数用弧度表示的角度的参数selectatan(0.9)frombsempms;atan2()返回用弧度表示的角度的X和Y坐标的反正切值selectatan2(0.5,0.9)frombsempmscorr(),correlation()返回一对数值的关系系数.selectcorrelation(salary,bonus)frombsempms;count()返回一组行或值的个数selectcount(*)frombsempms;covar(),covariance()返回一对数值的协方差selectcovar(salary,bonus)frombsempms;max()返回一组数值中的最大值.selectmax(salary)frombsempms;min()返回一组数值中的最小值selectmin(salary)frombsempms;stddev()返回一组数值的标准偏差.selectstddev(salary)frombsempms;sum()返回一组数据的和selectsum(salary)frombsempms;var(),variance()返回一组数值的方差selectvariance(salary)frombsempms;bigint()返回整型常量中的数字selectbigint(emp_no)frombsempms;DB2学习笔记-6-5/4/20203:51:50PM或字符串的64位整数表示.ceiling()orceil()返回比参数大或等于参数的最小的整数值selectceiling(3.56)frombsempms;selectceil(4.67)frombsemp
本文标题:DB2学习笔记
链接地址:https://www.777doc.com/doc-5201913 .html