学习oracle数据库的总结(图文整理)(定稿)_oracle数据库学习总结

其他工作总结 时间:2020-02-29 00:27:41 收藏本文下载本文
【www.daodoc.com - 其他工作总结】

学习oracle数据库的总结(图文整理)(定稿)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“oracle数据库学习总结”。

1、在开发环境中连接到数据库,进行基本的select查询操作;

2、熟悉plsql的使用;

3、熟悉sqlplus相关命令(登录、查询、导入导出等)

登录sqlplus:

第一:使用dos窗口登录sqlplus

Sqlplus 用户名/密码@数据库实例名

Sqlplus system/密码@数据库实例名 as sysdba 第二:使用oracle自带的一个sqlplus登录,提供界面,显得更简单一些。显示当前用户名:show user;创建一个用户:create user 用户名 identified by 密码; 给用户赋予登录的权限:grant connect to 用户名;(此时才可以使用这个用户来登录这个数据库。)给其赋予dba的权限。

修改用户的密码:alter user 用户名 identified by 新密码; 查询:

Select * from t_user;Select id from t_user;Select name from t_user;Select birthday from t_user;Select id,name from t_user;导入导出:

导出表:(注意,导出表的exp命令不是在sqlplus下使用的,是在dos窗口下使用的命令。)

exp userid=test/sa@test tables=(qx)file=d:e1223.dmp

exp userid=test/sa@test tables=(t_user,qx)file=f:test.dmp 导出方案:

Exp userid=test/sa@test owner=test file=f:test2.dmp 导出数据库:

Exp userid=test/sa@test full=y inctype=complete file=f:all.dmp 导入表:

下面以一个例子来说明:

看下面的图,我的用户名test,密码sa,数据库实例名test,所有的表都在这里

现在我执行导出表JD的操作:exp userid=test/sa@test tables=(jd)file=f:jd.dmp 在我的f盘下就出现了这么一个.dmp文件 现在我删除test数据库中的jd文件

现在表JD已经从数据库中删除了

下面我执行表jd的导入操作(就是把表JD导入到我们的test数据库实例中去):

imp userid=test/sa@test tables=(jd)file =f:jd.dmp 然后重新刷新我们的数据库中的表,看到jd表被导入进来了。Ok。

导入方案:

4、数据较复杂的查询(关联查询、多表查询、子表查询等)

新建的两张表(包括已经插入的数据):dept和emp如下:

江西新华电脑学院

多表查询:

外连接查询:例子,查询员工表,显示员工姓名,部门名称,部门位置,即使该员工还没有部门。此时使用内连接查询时不可以的,所有使用左连接查询(查询左边表中所有的数据,无论其在右表中是否相对应的数据)

select a.empname,b.deptname,b.deptloc from emp a left outer join dept b on a.deptno=b.deptno 右连接查询:(查询右边表中的所有的数据,无论其在左边表中是否有相对应的数据)查询所有的部门,显示部门名称,部门人员信息(姓名,工作)无论该部门是否有人员。现在我们新建一个部门(无名氏),该部门没有任何的人员。查询语句如下 select a.deptname,b.empname,b.job from emp b right outer join dept a on a.deptno=b.deptno

全连接(左右连接)查询两个表中所有的记录 select a.deptname,b.empname,b.job from emp b full outer join dept a on a.deptno=b.deptno

上面的左右连接也可以使用+来代替,如下的查询

select a.empname,b.deptname from emp a,dept b where b.deptno=a.deptno(+)和 select a.empname,b.deptname from emp a,dept b where b.deptno(+)=a.deptno分别表示查询所有部门和所有人,无论该部门是否有人,或者某个人时候是某个部门的。当然,使用+不能表示full的情况。

Union的使用(查询结果的联合):

Union将多个结果集联合在一起,去除重复的记录。

Union all将多个结果集联合在一起,不去除重复的记录。例子:我数据库中的数据如下图,emp表和dept表

江西新华电脑学院 select empno,empname from emp where deptno=1 union

select deptno,deptname from dept 查询结果如下:

关于union和union all,后者不会去除重复的记录,看下面两段plsql代码和运行的结果便知。select * from emp where deptno=1 union all

select * from emp where job='开发' 运行结果:

江西新华电脑学院

select * from emp where deptno=1 union

select * from emp where job='开发' 运行结果:

Oracle中实现类似t-sql中select top n..的方法是oracle的内置函数rownum(返回行的序列号):

例子:假设我的表emp如下所示

查询每个部门中的销售总和:

select deptno,sum(sal)from emp group by deptno 查询每个部门中的销售总和的前两位: select * from

(select deptno,sum(sal)from emp group by deptno order by sum(sal)desc)where rownum

江西新华电脑学院

5、熟悉数据库其他操作(创建表,插入、更新、删除记录等)

创建表:create table 表名(字段名 数据类型,字段名 数据类型,……);插入操作:insert into 表名 values(值1,值2….);修改操作:update 表名 set 列名=新值 …where子句 删除记录:delete from 表名 wher子句

注意:插入,修改操作后需要提交,commit,这样数据库才会更新;

江西新华电脑学院

下载学习oracle数据库的总结(图文整理)(定稿)word格式文档
下载学习oracle数据库的总结(图文整理)(定稿).doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文