oracle数据库基础实战笔记
小标 2018-02-27 来源 :网络 阅读 1050 评论 0

摘要:oracle数据库基础实战笔记如下

本文包含以下内容: 

1)Centos oracle 11g express安装与使用; 

2)oracle最基本的增insert into、删delete、改update set、查select、Merge、distinct、drop操作等。 

3)视图作用; 

4)Shell脚本批量执行.sql文件;

1.Linux oracle 安装——CentOS6.5安装Oracle Express Edition

Oracle Express Edition是给个人学习、熟悉Oracle的简化版。//www.live-in.org/archives/2088.html

PS:也有windows平台的Oracle Express Edition。

可以结合:sqldeveloper.exe 可视化工具查看表。

2.注意事项:

1)访问地址举例如://100.1.1.31:8081/apex/f?p=4950:6:1519924674005718::NO

Linux查看oracle版本:

[root@WEB-W031 xe]# pwd 

/u01/app/oracle/product/11.2.0/xe

3.centos 下操作:

0)连接

//切换到oracle用户
[root@WEB-W031 dbs]# su oracle
//切换到sqlplus 操作
bash-3.2$ sqlplus /nolog
SQL*Plus: Release 11.2.0.2.0 Production on Thu Apr 14 15:23:37 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
//输入数据库的用户名&密码 
SQL> conn system/123456 
Connected. (至此,连接成功)

此外使用: 

sqlplus /nolog; 
conn / as sysdba;

也有和sqlplus / as sysdba同样的效果。

1)查询dba用户名:

SQL> select username from dba_users;

oracle数据库基础实战笔记

2)查询表

oracle数据库基础实战笔记

22 zhang 

yantai

3)插入&提交操作

//注意插入字符的表示,是单引号。

oracle数据库基础实战笔记

4)更新表内容

SQL> update a_name set “CITY”=’shenzhen3’ where “ID”=1;
1 row updated.

oracle数据库基础实战笔记

5)删除表

SQL> delete from a_name where “ID”=1; 
1 row deleted.

oracle数据库基础实战笔记

6)order by 排序

desc:降序 

asc:升序

oracle数据库基础实战笔记

7)**shell脚本执行oracle指令

应用场景:批量oracle操作,单个执行很容易敲错。 

方法一:通过oracle SQL developer工具可视化执行。 

方法二:通过shell脚本批量执行(如下):

oracle数据库基础实战笔记

oracle数据库基础实战笔记

oracle数据库基础实战笔记

要求: 

-计算每个班级的最高分数 

排序语句: 

select no 班级, max(score) 分数 from A_TEST_T1 group by no;

排序结果: 

1 70 

3 99 

2 99

8)关联子查询 in 示例

要求:查找表中分数最高的学生的名字和班级等全部信息。 

查询语句: 

select * from a_test_t1 where score in (select max(score) from a_test_t1);

9)关联子查询 exist 示例

要求:查找表中分数小于60的学生信息。 

查询语句: 

select * from a_test_t1 t1 where exists (select 1 from a_test_t1 t2 where t2.score < 60 and t1.id = t2.id);

与下面的指令等价: 

select * from a_test_t1 where score in (select score from a_test_t1 where score < 60);

10) 查看表名(有哪些表)

select table_name from user_tables;

11)视图的作用:

1)简化查询的结构,把子查询定义成视图,在另一个查询里用 

2)限制数据访问,屏蔽部分不愿意给客户看到的字段 

3)视图建多了,如果原表的表结构改了,会增加维护工作 

创建视图 

create view view_test_t as select id AAAA, no BBBB, t_name CCCC, s_name DDDD, score EEEE from a_test_t1 where score > 60;
SQL> create or replace view view_test_t(序号, 学号, 教师名字, 学生名字, 分数) as select id, no, t_name, s_name, score from a_test_t1 where score > 60; 
View created.
//修改视图,为视图添加列名。
SQL> select * from view_test_t;序号

oracle数据库基础实战笔记

12)minus 去除交集后剩余部分。

如集合1{1,2,3} 

集合2{2,3,4} 

集合1 minus 集合2 = {1}; 

结合2 minus 集合1 = {4};

oracle数据库基础实战笔记

13)Merge合并操作

merge命令根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行update,无法匹配的执行insert。 

重点:这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于insert+update。

oracle数据库基础实战笔记

oracle数据库基础实战笔记

oracle数据库基础实战笔记

oracle数据库基础实战笔记

15) 清除表内容&删除表

清除整个表的内容 

delete from 表名; 

truncate table 表名;

注意:delete和truncate的区别: 

【1】delete删除的数据可以恢复,truncate不能恢复 

【2】delete高水位线不会下降,truncate高水位线会下降(释放表空间)。 

PS:高水位:详见:

删除表 

drop table 表名; 

oracle 10g开始,表删除后不是直接删除而是去了回收站。 

删除回收站中指定表:purge table 表名;

清空回收站:purge recyclebin;

直接删除(不会进回收站直接删除):drop table 表名 purge;

举例: 

//清除表内容(注意:常犯错的语句写成:delete * from fruits; 没有“*”,属于select固定思维导致出错)。

oracle数据库基础实战笔记

该文由职坐标整理并发布,了解更多详情,请关注职坐标Oracle数据库频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程