Oracle&PL&SQL Developer 安装配置

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1、安装Oracle版本:OracleDatabase10gRelease2(10.2.0.1)下载地址:安装设置:1)这里的全局数据库名即为你创建的数据库名,以后在访问数据,创建“本地Net服务名”时用到;2)数据库口令在登录和创建“本地Net服务名”等地方会用到。2、创建“本地Net服务名”1)通过【程序】-》【Oracle-OraDb10g_home1】-》【配置和移植工具】-》【NetConfigurationAssistant】,运行“网络配置助手”工具:2)选择“本地Net服务名配置”:3)这里的“Net服务名”我们输入安装数据库时的“全局数据库名”:4)主机名我们输入本机的IP地址:5)测试数据库连接,用户名/密码为:System/数据库口令(安装时输入的“数据库口令”):默认的用户名/密码错误:更改登录,输入正确的用户名/密码:测试成功:3、PLSQLDeveloper连接测试输入正确的用户名/口令:成功登陆:4、创建表空间打开sqlplus工具:sqlplus/nolog连接数据库:conn/assysdba创建表空间:createtablespacewapdatafile'C:\oracle\product\10.1.0\oradata\wap\wap.dbf'size200mautoextendonnext10mmaxsizeunlimited;5、创建新用户运行“P/LSQLDeveloper”工具,以DBA(用户名:System)的身份登录:1)新建“User(用户):2)设置用户名、口令、默认表空间(使用上面新建的表空间)和临时表空间:3)设置角色权限:4)设置”系统权限“:5)点击应用后,【应用】按钮变灰,新用户创建成功:6)新用户登录测试:输入新用户的“用户名/口令”:新用户“testcamds”成功登陆:6、导入导出数据库先运行cmd命令,进入命令行模式,转到下面的目录:D:\oracle\product\10.2.0\db_1\BIN【该目录下有exp.exe文件】1)导入命令语法:Sql代码impuserid/pwd@sidfile=path/filefromuser=testcamdstouser=userid命令实例:Sql代码1.imptestcamds/123@camdsfile=c:\testcamdsfromuser=testcamdstouser=testcamds导入结果:2)导出:命令语法:Sql代码1.expuserid/pwd@sidfile=path/fileowner=userid命令实例:Sql代码1.exptestcamds/123@camdsorafile=c:\testcamdsowner=testcamds导入结果:一、选择行1.简单的SELECT语句SELECT[DISTINCT]{*,COLUMN[ALIAS],……}FROMtable_name;字段的非唯一的结果集DISTINCT字段名1[,字段名2]数字类型字段名之间可以进行算术运算+-*/等例如:(字段名1*字段名2)/3合并字段内容的连接字符||字段名1||字段名2字段可以有别名SELECT字段名1[AS]'字段名1解释'FROMtable;2.处理NULLNULL未定义,不可操作,什么都不是NULL!=0NULL!='空格'和NULL的任何运算都返回NULLORACLE里未定义的变量值都为NULLNVL函数可把NULL转换成其它类型的符号NVL(EXPR1,EXPR2)函数解释:IFEXPR1=NULLRETURNEXPR2ELSERETURNEXPR1编程技巧:NVL函数在多条件模糊查询的时候比较有用nvl('+input_value+','0')='0'orfiled_namelike'%+input_value+%'NVL函数可返回多种数据类型:返回日期NVL(start_date,'2002-02-01')返回字符串NVL(title,'notitle')返回数字NVL(salary,1000)3.使用SQL*PLUS(1)登录SQL*PLUS的方法用户名,密码,数据库连接字符串数据库连接字符串可以用net8easyconfiguration建立本地网络服务名配置,也可以手工编辑$ORACLE_HOME/network/admin/tnsnames.ora文件。在UNIX系统下不要用$sqlplususername/password@dbname这样别的用户用$ps命令能看出用户的密码SQLdesctable;显示表结构SQLselect*fromtab;查看用户下所有的表SQLsetpauseon;可以使大量结果集在用户按“Enter”(回车)后翻页SQLsetpagesize100;设定SQL语句返回结果集一页的行数100,默认值是14SQLsetlinesize100;设定SQL语句返回结果集一行的宽度100,默认值是80(2)SQL*PLUS里的编辑命令最近一条SQL命令语句存在ORACLE内存(sqlbuffer)里,但SQL*PLUS命令却不会存进去。SQL*PLUS里的编辑命令:A[PPEND]text把text增加到当前行后面C[HANGE]/old/new/把当前行old符号替换成new符号,new为空,删除old符号CL[EAR]BUFF[ER]从sqlbuffer里删除所有的行DELn删除sqlbuffer里第n行I[NPUT]text在sqlbuffer后面插入textL[IST]n显示sqlbuffer里第n行n使第n行为当前行ntext第n行替换成text0text在第一行前面插入一行(3)SQL*PLUS里的文件命令:SAV[E]filename[REP[LACE]|APP[END]]把sqlbuffer里的SQL命令存到OS下一个文件filename,默认的文件名后缀为.sql.REP[LACE]替换filename里的SQL命令APP[END]把sqlbuffer里的SQL命令添加到filename后GETfilename从filename里把SQL命令读到sqlbufferSTA[RT]filename运行上次保存到文件filename里的SQL命令@filename运行上次保存到文件filename里的SQL命令EDIT打开编辑窗口,编辑sqlbuffer里的SQL命令EDITfilename打开编辑窗口,编辑文件filename里的SQL命令SPO[OL]filename[OFF|OUT]把SQL命令结果输出到OS下一个文件filenameOFF结束输出到文件,OUT结束输出到文件并打印文件4.SQL*PLUS里规定字段的显示格式规定数字的显示格式SQLcolumn字段名format99999999999;SQLcolumn字段名format999,999,999,999;规定字符串的显示宽度SQLcolumn字段名formata数字[word_wrapped];说明:一行只显示数字位的长度,超过长度折行,加word_wrapped后,单词不会折行规定long字符的显示宽度SQLsetlong200;规定字段名的显示内容SQLcolumn字段名heading'字段名显示内容';SQLsetheadingoff;查询时不显示字段名称规定字段的对齐方向SQLcolumn字段名justify[left|right|center];清除字段的格式SQLcolumn字段名clear;5.SQL*PLUS里规定字段的显示格式例子SQLcolumnlast_nameheading'Employee|Name'formata15;SQLcolumnsalaryjustifyrightformat$99,999.99;SQLcolumnstart_dateformata10null'NotHired';说明:如果start_date为null,显示字符串'NotHired'6.判断题(T/F)(1).SQLcommandarealwaysheldinsqlbuffer.[T](2).SQL*PLUScommandassitwithquerydata.[T]SQL*PLUS命令只控制SELECT结果集的显示格式及控制文件.只有SQL命令能访问数据库.四、从多个表里选取数据记录1.数据表间的连接简单的连接语法:SELECT字段名1,字段名2,……FROM表名1,[表名2,……]WHERE表名1.字段名=表名2.字段名[AND……];SELECT字段名1,字段名2,……FROM表名1,[表名2,……]WHERE表名1.字段名=表名2.字段名(+)[AND……];有(+)号的字段位置自动补空值连接的分类:等于的连接=不等于的连接!=BETWEEN…AND…IN注意IN和OR不能一起用外连接有一个字段名(+),没有满足的条件补空值自连接同一个表自己跟自己连接例如找重复记录2.数据表间的连接例子删除table_name表里字段名email重复的记录:SQLdeletefromtable_namet1wheret1.rowid(selectmin(rowid)fromtable_namet2wheret1.email=t2.emailgroupbyemailhavingcount(email)1);找到手机用户的服务区域:SQLselecta.handphoneno,nvl(c.name,'null'),a.totalscorefromtopscorea,chargeoperatorcc,chargeoperatorinfocwheresubstr(a.handphoneno,1,7)=cc.hpnohead(+)andcc.chargetype=c.chargetype(+)orderbya.totalscoredesc;3.数据表间的连接技巧连接N个表,需要N-1个连接操作被连接的表最好建一个单字符的别名,字段名前加上这个单字符的别名BETWEEN..AND..比用=AND=要好连接操作的字段名上最好要有索引连接操作的字段最好用整数数字类型有外连接时,不能用OR或IN的比较操作4.如何分析和执行SQL语句写多表连接SQL语句时要知道它的分析执行计划的情况.Sys用户下运行@/ORACLE_HOME/sqlplus/admin/plustrce.sql产生plustrace角色Sys用户下把此角色赋予一般用户SQLgrantplustraceto&username;一般用户下运行@/ORACLE_HOME/rdbms/admin/utlxplan.sql产生plan_tableSQLsettimeon;说明:打开时间显示SQLsetautotraceon;说明:打开自动分析统计,并显示SQL语句的运行结果SQLsetautotracetraceonly;说明:打开自动分析统计,不显示SQL语句的运行结果接下来你就运行测试SQL语句,看到其分析统计结果了。一般来讲,我们的SQL语句应该避免大表的全表扫描。SQLsetautotraceoff;说明:关闭自动分析统计五、集合函数经常和groupby一起使用1.集合函数列表AVG(DISTINCT|ALL|N)取平均值COUNT(DISTINCT|ALL|N|expr|*)统计数量MAX(DISTINCT|ALL|N)取最大值MIN(DISTINCT|ALL|N)取最小值SUM(DISTINCT|ALL|N)取合计值STDDEV(DISTINCT|ALL|N)取偏差值,如果组里选择的内容都相同,结果为0VARIANCE(DISTINCT|ALL|N)取平方偏差值2.使用集合

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功