如何使用oracle 如何使用oracle创建视图嵌套表查询并传值
如何打开oracle数据库
步骤1:打开企业管理器,如下。步骤2:选择数据库,安全性,点击新建链接服务器。步骤3:选择链接服务器属性,常规,输入名称:TEST,选择ORACLE数据库提供程序,输入名称、数据源。步骤4:进行安全性设置。本地登录,选择SQLServer数据库登录用户,远程登录用户和密码,输入远程连接数据库的用户和密码,选择用此安全上下文进行,输入远程登录用户和密码。5步骤5:点击TEST链接服务器下的表,我们可以访问ORACLE数据库的表了。注意:产品名称要和所链接的服务器相对应,使用ORACLE数据库就要输入ORACLE,使用SQLServer就输入SQLServer。
创新互联建站专注于企业成都全网营销推广、网站重做改版、桥东网站定制设计、自适应品牌网站建设、HTML5建站、商城网站建设、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为桥东等各大城市提供网站开发制作服务。
oracle 11g 怎么安装和使用?
Oracle11g是目前Oracle较新版本,除了传统的数据库服务外,也提供了界面友好的链接工具。考虑到Oracle数据的稳定和性能方面的优势,在需要处理大量数据的系统中,可以考虑使用Oracle作为数据库。\x0d\x0a一:Oracle11g的安装过程(Windows版本)很简单,步骤为:\x0d\x0a 1. 首先从Oracle官方网站上下载Oracle11g数据库,大约为1.7G。解压后,setup.ext就可以开始安装\x0d\x0a 2. 在安装开始的时候,会要求填写一些信息。需要注意两项:\x0d\x0a 1)SID。这应该是安装的数据库的ServiceID,在数据库安装成功后,在Window的服务中会多一项OracleServiceSID的服务,这里的SID就是在安装时填写的字符串。因此在连接数据库的时候都需要有SID信息,比如使用JDBC连接的时候。\x0d\x0a 2)密码。这里的密码是系统管理员的密码(sys,sysdba)。\x0d\x0a 3. 接下来就可以按照界面提示安装了,安装过程中会检查电脑配置,如果符合要求就可以继续安装。\x0d\x0a 4. 安装结束后,会生成一个database config的界面,上面有安装的数据库的sid, port等信息。(可以把这个界面保存起来,防止以后忘记相关信息)\x0d\x0a二:Oracle的连接\x0d\x0a 安装完成后,就可以连接数据库了,连接Oracle可以通过SQLPlus,SQLDeveloper,建议可以使用SQLDeveloper,因为它界面不错。在程序-Oracle11g-应用开发程序 下面有SQLDeveloper,第一次启动时,需要设置java.exe的路径(SQLDeveloper应该是JAVA开发的),之后就可以看到连接界面了。接下来需要填写连接信息,第一次连接时,必须先通过sysdba进行连接,所以要使用安装时设置的密码,其它信息如下:\x0d\x0a 1)需要选择登录身份为系统管理员 2)sid安装时设置的sid值 3)端口号一般默认是1521\x0d\x0a 注意在连接的时候,需要确保在服务中的OracleServiceSID和OracleOraDb11g_home1TNSListener是打开的\x0d\x0a 填好上面的信息就可以登录了。如果要创建自己的数据库,需要下面几个过程:\x0d\x0a 1.创建表空间,语句如下:\x0d\x0a CREATE TABLESPACE SampleTableSpace \x0d\x0a DATAFILE 'D:/app/Administrator/oradata/orcl/tableFile.dbfsize 8192M reuse\x0d\x0a AUTOEXTEND ON NEXT 8192M MAXSIZE unlimited\x0d\x0a EXTENT MANAGEMENT local;\x0d\x0a 2.创建一个用户,并默认为SampleTableSpace表空间\x0d\x0a CREATE USER SampleUser IDENTIFIED BY Password\x0d\x0a DEFAULT TABLESPACE SampleTableSpace;\x0d\x0a 3.为用户授权:\x0d\x0a GRANT connect, resource TO SampleUser ;\x0d\x0a 注意,接下来的操作必须在SampleUser的连接中进行,步骤如下:\x0d\x0a 1.在SQLDeveloper中新建一个连接,并使用刚才创建的SampleUser信息进行登录\x0d\x0a 2.接下来在SampleUser的连接中就可以使用sql进行各种操作,这些操作都会在SampleTableSpace中进行。\x0d\x0a三: 数据导入导出\x0d\x0a Oracle提供数据导入和导出功能.命令为imp/exp,可以在cmd下运行,它们可以将数据库中的表或其它对象导出为.dmp文件,或者将dmp文件导入,具体使用方法可以google一下,应该比较好用。\x0d\x0a \x0d\x0a上面是之前使用Oracle11g时的一些经验,如果有不正确的地方,也请大家补充。
Oracle数据库怎么使用
Oracle数据库怎么使用
,这两者都要保证你的服务是否启动,一般启动最后两个就可以
1.cmd进入命令行 lsnrctl start 启动监听服务,看出现什么错误
如果没有错误,察看数据库是否可以正常进行连接
2.看下你电脑是不是装了防火墙 先把防火墙禁止掉去
3.去orant\net80\trace\看看,一般有错都会在那里产生一个.log文件
如果是机器改名的话,编辑[oracle_home]\ora81\network\admin\listener.ora文件,将原机器名改为新的即可.也可能是端口冲突,比如我曾经因为安装一个上网代理软件而导致数据库服务不能启动.卸载该软件即可.
已解决,主要是修改了机器名称.导致监听启动后自动退出
将listener.ora 中,HOST 的值改成现在的机器名或IP 地址,然后再启动监听.问题就解决
启动数据库,在服务器上
(9I版本以上)
sqlplus /nolog
connect /as sysdba
startup
exit
oracle对表的基本操作
子查询目标
子查询是一种把查询的结果作为参数返回给另一个查询的一种查询
子查询可以让你将多个查询绑定在一起
嵌套子查询
多层子查询
相关子查询
可接受外部的引用
exists/any/all
any:与子查询中的每一行与主查询进行比较 并对子查询中的每一行返回一个true值
some 结果与any一样
all 子查询结果都满足条件 才会返回true
DML
数据库插入
insert value
insert select
update update table set col=value
delete
DDL
创建和操作表
create
存储参数 storage(initial size next size minextents value pctincrease value)初始分配空间 追加的长度 最小追加长度 每次追加的百分比或进行下一次追加
用已存在的表创建新表
create table new_t(num name amount) as(select * from old_t where amount )
alter
加入一列到已经存在的表中
修改已经存在的表中的某一列
ALTER TABLE BILLS MODIFY NAME CHAR( );将表中某字段改为长度 个字符
ALTER TABLE NEW_BILLS ADD MENTS CHAR( );向表中加一列
alter不能用于对一个数据库增加或删除字段 但可以将某列由not null改为null
drop
drop table table_name;
创建视图和索引
视图 常被称为虚表 create view 视图是一个数据库对象 他允许用户从一个表或一组表中建立一个 虚表 它本身没有数据 仅仅是一条查询语句 它可以方便的在各个表中进行联合查询 这对用户来说是很方便的 其次 可以增加安全性 屏蔽一些不想让无权限的用户看一些表中的数据即隐藏了基本表 这同时也可以隐藏着其中的复杂性 有时更改起来也很方便而不必涉及到应用程序 如一个表中有 列数据 我只想让其他用户看到 列 这时候视图就会显得十分方便 如表school 有ID name lesson三项 我只需要显示其中 项 实例如下
子查询目标 子查询是一种把查询的结果作为参数返回给另一个查询的一种查询子查询可以让你将多个查询绑定在一起嵌套子查询多层子查询相关子查询可接受外部的引用exists/any/allany:与子查询中的每一行与主查询进行比较 并对子查询中的每一行返回一个true值some 结果与any一样all 子查询结果都满足条件 才会返回true
DML 数据库插入 insert valueinsert selectupdate update table set col=valuedelete
DDL 创建和操作表create存储参数 storage(initial size next size minextents value pctincrease value)初始分配空间 追加的长度 最小追加长度 每次追加的百分比或进行下一次追加用已存在的表创建新表 create table new_t(num name amount) as(select * from old_t where amount )alter 加入一列到已经存在的表中 修改已经存在的表中的某一列ALTER TABLE BILLS MODIFY NAME CHAR( );将表中某字段改为长度 个字符ALTER TABLE NEW_BILLS ADD MENTS CHAR( );向表中加一列alter不能用于对一个 数据库 增加或删除字段 但可以将某列由not null改为nulldropdrop table table_name;
创建视图和索引视图 常被称为虚表 create view 视图是一个数据库对象 他允许用户从一个表或一组表中建立一个 虚表 它本身没有数据 仅仅是一条查询语句 它可以方便的在各个表中进行联合查询 这对用户来说是很方便的 其次 可以增加安全性 屏蔽一些不想让无权限的用户看一些表中的数据即隐藏了基本表 这同时也可以隐藏着其中的复杂性 有时更改起来也很方便而不必涉及到应用程序 如一个表中有 列数据 我只想让其他用户看到 列 这时候视图就会显得十分方便 如表school 有ID name lesson三项 我只需要显示其中 项 实例如下
所以在适当的时候 十分有必要在众多表中建立视图
索引 索引是与磁盘上数据的存储方式不同的另外一组数据的方法 索引的特例是表中记录一句其在磁盘上的存储位置显示 索引可以在表内创建一个列或列的组合 通过对正确的 特定的两个表的归并字段进行索引可以获得明显的好处 create index
ps 视图和索引是两个完全不同的对象 但有一点是相同的 它们都与一个表或数据库相关联 尽管每一个对象只能与一个特定的表相关联 但它们还是通过对数据的预排序和预定义显著地提高了表的工作性能
使用视图 create view view_name(col col ……) as select table_name(col col ……) from table_name;
select规则 不能使用union 不能使用order by 但使用group by有其相同功能
DML的规则 对于多表视图不能使用delete
除非非空列都出现在视图中 否则不能使用insert
对于一个归并(merger)的表插入或更新 所有被更新的记录必须属于同一个物理表
如果创建视图时使用dintinct子句 就不能插入或更新这个视图
不能更新视图中 的虚拟列(它是用计算字段得到的)
删除视图:drop view view_name;
使用索引
索引可以让存储于磁盘上的数据进行重新排序
使用索引的原因 在使用unique关键字时前执行的保证数据的完整性
可以容易的用索引字段或其他字段进行排序
提高查询执行速度
索引的概念
两种方法从数据库中获得数据 顺序访问方式 需要sql检查每一个记录以找到与之匹配的 此法效率很低 但它是使记录准确定位的唯一方法 使用索引的的直接访问方式 sql采用树形结构来存储和返回所以数据 用以指示的数据存储在树的最末端(也就是叶子) 它们被称为结点(也可以叫叶 子) 每个结点中有一个指向其他结点的指针 结点左边的值只是它的双亲结点 结点右边的值则是孩子结点或叶子 sql将从根结点开始找到所需的数据
ps 当查询没有使用索引的表时 查询通常是全表搜索后才会得到结果 全表搜索会让数据库服务程序遍历过表中的所有记录然后返回给定条件的记录 索引可以让数据库服务程序快速的定位到表中的确定行
create index index_name on table_name(column_name [column_name ] );
SQL Server 和ORACLE允许你创建成簇的索引 Informix和ORACLE允许你指明列名是按升序排列还是按降序排列
使用索引不会对表中的物理存储造成影响
order by和索引的区别
使用order by子句时 每次运行它都需要重新进行排序 而使用索引时 数据库会建立一个物理索引对象(树结构) 每次运行查询时都访问同一个索引
当表被删除时 所有与之相关的索引也将被删除
使用索引的技巧
对于小表来说 使用索引对于性能不会有任何提高
当你的索引列中有极多的不同数据和空值时 索引会使性能有极大的提高
当查询要返回的数据很少时(少于全部数据的 %) 索引可以优化你的查询 如果要返回的数据很多时 索引会加大系统开销
索引可以提高数据的返回速度 但它使得数据的更新操作变慢 (对记录和索引进行更新时请不要忘记先删除索引 当执行完更新操作后 恢复索引即可 对于一次特定的操作 系统可以保存删除的索引 个小时 在这个时间内数据更新完成后你可以恢复它 )
索引会占用数据库空间
可以提高归并速度
大多数数据库系统不允许对视图使用索引
不要对经常需要更新或修改的字段创建索引 否则会降低性能
不要将索引与表存储在同一个驱动器上 分开存储会去掉访问冲突从而使结果返回的更快
复合索引
对多个字段进行索引(一个索引包含多个列)
CREATE INDEX ID_CMPD_INDEX ON BILLS( ACCOUNT_ID AMOUNT );尽量将经常在查询中使用的字段放在最前边
复合索引的性能与单个字段的索引相比是无法判定的
创建索引时使用unique关键字
复合索引通常使用unique关键字来防止有相同数据的多个记录多次出现 (oracle 不支持 从 i开始支持)
索引与归并
当查询中使用了复杂的归并时 你的select语句会好用很长时间
在归并时对字段创建索引可以显著得提高查询反应速度 但创建太多的索引 会使性能下降而不是提高
作为一个规 则你应该对表中的唯一属性的字段或你用以归并操作的字段来创建索引
群集(簇)的使用
当 使用群集索引时 数据在表中的物理排序方式会被修改 使用群集索引通常比传统的不使用群集索引速度要快 ORACLE 中群集的概念与此不同 当使用ORACLE 关系数据库系统时 群集就是一个像数据或表一样的对象 群集一般是存储了表的共有字段以提高对表的访问速度
oracle 的例子
CREATE CLUSTER [schema ]cluster (column datatype [ column datatype] )
[PCTUSED integer] [PCTFREE integer] [SIZE integer [K|M] ]
[INITRANS integer] [MAXTRANS integer] [TABLESPACE tablespace]
[STORAGE storage_clause] [!!under!!INDEX | [HASH IS column] HASHKEYS integer]
你随后创建的其于该表的群集的索引会被加入到群集中 然后把表也加入群集中 你应该只将经常需要归并的表加入到群集 不要向群集中加入只需要用简单的SELECT 语句进行个别访问的表
事务处理控制
事务控制
事务控制(事务处理)指关系数据库系统执行数据库事务的能力 (逻辑分组 它有自己的开始和结束)
事务 逻辑上必须完成的一命令序列的单位
单元工作期 事务的开始和结束时期
开始事务处理
SET TRANSACTION {READ ONLY | USE ROLLBACK SEGMENT segment}
可以在下列语句中使用READ ONLY选项 SELECT LOCK TABLE SET ROLE ALTER SESSION ALTER SYSTEM
有些数据库支持SET AUTOMIT [ON | OFF]
结束事务处理
MIT [WORK][ MENT text | FORCE text [ integer] ] ;
MIT (TRANSACTION | TRAN | WORK) (TRANSACTION_NAME)
取消事务处理
这必须是在MIT 之前 ROLLBACK 语句必须在一个事务之中运行 它可以一直撤消到事务的开始
在事务中使用保存点
SAVEPOINT savepoint_name;
ROLLBACK TO SAVEPOINT savepoint_name;
数据库安全
技巧要带着下边的问题去规划你数据库系统的安全性
谁应该得到数据库管理员权限?
有多少个用户需要访问数据库系统?
每个用户应该得到什么样的权限与角色?
当一个用户不再访问数据库时应该如何去删除它?
oracle使用三个结构来实现安全性 用户 角色 权限
用户
CREATE USER user
IDENTIFIED {BY password | EXTERNALLY}
[DEFAULT TABLESPACE tablespace]
[TEMPORARY TABLESPACE tablespace]
[QUOTA {integer [K|M] | UNLIMITED} ON tablespace]
[PROFILE profile]
如 果选择了EXTERNALLY 选项 ORACLE 将会依赖于你登录进入计算机系统的用户名和密码 也就是说当你登录进行计算机时你就已经登录进行了ORACLE 我们推荐你使用IDENTIFIED BY 子句强制用户在登录进行系统时输入密码IDENTIFIED BY PASSWORD
角色
GRANT role TO user [WITH ADMIN OPTION];
REVOKE role from user;
lishixinzhi/Article/program/Oracle/201311/16734
如何安装和使用oracle数据库
一、Oracle 下载
注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可。 路径名称中,最好不要出现中文,也不要出现空格等不规则字符。
二、Oracle安装
1、解压缩文件,将两个压缩包一起选择, 鼠标右击 - 解压文件
2.两者解压到相同的路径中,
3. 到相应的解压路径上面,找到可执行安装文件【 setup.exe 】双击安装。
4. 安装第一步:配置安全更新,这步可将自己的电子邮件地址填写进去(也可以不填写,只是收到一些没什么用的邮件而已)。取消下面的“我希望通过My Oracle Support接受安全更新(W)”。
5. 安全选项,直接选择默认创建和配置一个数据库(安装完数据库管理软件后,系统会自动创建一个数据库实例)。
6. 系统类,直接选择默认的桌面类就可以了。(若安装到的电脑是,个人笔记本或个人使用的电脑使用此选项)
7. 典型安装。 重要步骤。建议只需要将Oracle基目录更新下,目录路径不要含有中文或其它的特殊字符。全局数据库名可以默认,且口令密码,必须要牢记。密码输入时,有提示警告,不符合Oracel建议时不用管。 (因Oracel建议的密码规则比较麻烦, 必须是大写字母加小写字母加数字,而且必须是8位以上。麻烦,可以输入平常自己习惯的短小密码即可)
8. 若输入的口令短小简单,安装时会提示如下。直接确认Y继续安装就是了。
9. 先决条件检查。 安装程序会检查软硬件系统是否满足,安装此Oracle版本的最低要求。 直接下一步就OK 了。
10. 概要 安装前的一些相关选择配置信息。 可以保存成文件 或 不保存文件直接点完成即可。
11. 安装产品 自动进行,不用管。
12. 数据库管理软件文件及dbms文件安装完后,会自动创建安装一个实例数据库默认前面的orcl名称的数据库。
13. 实例数据库创建完成了,系统 默认是把所有账户都锁定不可用了(除sys和system账户可用外),建议点右边的口令管理,将常用的scott账户解锁并输入密码。
14. 解锁scott账户, 去掉前面的绿色小勾,输入密码。同样可以输入平常用的短小的密码,不必非得按oracle建议的8位以上大小写加数字。
15. 同样,密码不符合规则会提示。不用管它,继续Y即可。
16. 安装成功,完成即可。
三、安装后,进入小测试下
可以通过开始,应用程序中的 "Oracle 11g" - "应用程序开发" - "Sql Developer 或Sql Plus" 连接。
注意第一次,使用SQL Developer时,会提示指定 java.exe的路径,这里千万别指定自己的java_home了(我就是开始不知道,指定一个JDK6,结束说不兼容。)可以使用Oracel安装路径下面的jdk路径,如图:
当然若不小心,选择错了。选择了java_home中的高级版本,打开SQL Developer报错后不兼容,也有办法解决。可以在
【F:\app\chen\product\11.2.0\dbhome_1\sqldeveloper\sqldeveloper\bin】路径下找到【sqldeveloper.conf】文件后打开
找到SetJavaHome 所匹配的值,删除后面的配置内容。保证时会提示,只读文件不可覆盖保存。此时可以另存为到桌面上,然后再回到bin目录中删除掉此文件,再把桌面上的文件复制过去,再打开时,重新选择java.exe。此时选择对就好了。
oracle数据库连接怎么使用
操作步骤如下:
1、请先保证oracle可以正常运行。
2、打开Eclipse,找到逗Window地--逗Show View地--逗Other...地
3、在弹出的新窗口中,打开文件夹逗Data Management地找到逗Data Source Explorer地,并单击逗OK地。
4、这时候,Eclipse主界面下方会多出一个逗Data Source Explorer地标签栏,在其中逗Database Connections地文件夹图标上单击右键,选中逗New...地。
5、出现新窗口,找到自己正在使用的数据库"Oracle",自行起个名字,在此起了"cityinfo"这个名字。然后单击逗Next地
6、出现如下窗口时,请单击右上方图中所示的符号(位置),注意此步骤。
7、紧接上步,在新的对话框中,找到所使用的oracle版本,建议选用Oracle Thin Driver。
8、找到JAR List,若大家使用的是oracle11,请将其中的ojdbc14给remove掉,否则,Eclipse会不停提示出错。
9、按着上一步remove掉ojdbc14后,请导入目前正使用的oracle的驱动包,这里用的是oracle11,因此,需要导入ojdbc6,这一驱动包在oracle安装文件中就有。
10、进入properties标签栏,输入自己所建数据库相关内容,这里在oracle中建的用户名是逗cityinfo地。这一步各自的信息可能不同,请自行决定。然后单击逗OK地。
11、上步点击逗OK地后,会返回前一个窗口,这时,Eclipse会提示要求输入"user name"用户名,就是大家所建立的数据库的名称,不是任意起的名字。输入后,可单击下方的"Test Connection",当提示逗Ping Successed!地时,表示Eclipse和oracle连接成功。然后单击逗Finish地完成配置。
12、此时,要做的工作就是在Eclipse中,用视图显示出所建数据库中的各表。回到Eclipse主界面,找到如下图所示位置,在"tables"中,任意表点击右键,选择逗Data地--"Sample Contents"。
13、出现新的标签栏SQL Results,里面显示的就是数据库中所存的表的信息。
网站栏目:如何使用oracle 如何使用oracle创建视图嵌套表查询并传值
浏览地址:http://pwwzsj.com/article/hgeipd.html