美文网首页
Oracle相关

Oracle相关

作者: 小钱哥哥 | 来源:发表于2018-07-09 09:19 被阅读0次

查看当前数据库监听状态命令:lsnrctl status/stop/status
服务端监听文件 Listener.ora
客户端网络配置文件 tnsnames.oa
条数统计数量函数:count
去掉重复行:distinct
事务提交命令:commit
设置保存:savepoint
空值转换符:nvl
Oracle中切换用户:conn+用户
赋权限grant/revoke
---Inster into 表名(列名,列名) values (值,值)
---delete from表名 where 条件
---update 表名 set 列名=值 [where条件]
---select * from 表名;
//alter table 表名 add 列名 数据类型 给表增一列
//alter table 表名drop column 列名 给表删一列
//alter table 表名alter column 列名 列属性 修改列属性

--外连接 左外连接、右外连接和全外连接
作用:把不满足连接条件的数据也查询出来
---查询哪个部门没有员工(只要这个部门的部门编号)
select d.deptno from emp e right outer join dept d on e.deptno = d.deptno where empno is null; ---右外

--查询哪个部门没有员工
select * from emp,dept where emp.deptno(+) = dept.deptno; --右(外)连接
select * from emp,dept where emp.deptno = dept.deptno(+); --左(外)连接

---外连接的另一种写法(推荐)
select * from emp e right outer join dept d on e.deptno = d.deptno; ---右外
select * from emp e left outer join dept d on e.deptno = d.deptno; ---左外
select * from emp e full outer join dept d on e.deptno = d.deptno; ---全外连接

开锁:select t.,rowid from emp t;(开锁修改数据打钩关锁;点击望远镜输出查询内容再次点击望远镜查询)
数据库:access/sql server/mysql/Sybase/oracle/db2/Informix
小型数据库:access/mysql;大型数据库:oracle/db2/sql server
默认端口:
oracle:1521/sql server:1433/mysql:3306/Apache:8080/fcp:22/email:25
数据库三大文件:.ctl(控制文件);.dbf(数据文件);.log(日志文件)
dos监听命令:lsnrctl status/stop/start 查看oracle监听端口的状态/停止监听/开始监听
通配符:%:代表多个字符;_:代表一个字符。配合like使用:where ename like ‘s%’;
order by:
select * from emp order by deptno,sal:先按部门排序,再按薪水排序。
order by语句始终在select语句中的最后位置。
补充介绍:
oracle中的关键字执行顺序:from,where,group by,having,select,order by;
where必须在group by之前,否则报错。
多张表联合查询的时候需要加上约束条件避免笛卡尔结果。
查看有多少条记录:select count(1)/count(
) from emp;
使用group by时:select后只能跟:1.用来分组的列2.组函数。
当条件中含有组函数时用having代替where。
多行子查询,使用in(),any(),all()连接。
创建一张表保存现有的表:
create table emp_bak as select * from emp;
事务机制:防止不同用户修改同一东西的冲突(类似svn的commit)。
commit:提交;rollback:回滚;
直接rollback会刷新整个数据库到上一次commit的状态。
savepoint a; rollback to a;一旦rollback到a,在a之后的保存点都失效。
事务:一组DML语句/一个DDL语句/一个DCL语句,DDL和DCL都直接触发commit。
增加列:sql>alter table dept30 add (job varchar(9));
修改列属性:sql>alter table dept30 modify (job int);
truncate table student = delete student
创建视图:
create view emp10 as select * from emp where deptno=10;
scott用户没有创建视图的权限。
视图:视图的优点:限制数据的访问;简化查询;提供独立的数据;允许过个视图访问相同数据;删除时不影响基表。
索引:优点:提高系统的性能,提高数据检索速度;缺点:占用磁盘空间,降低DML速度。
存储过程:优点:提高执行效率,增加系统编程能力,减少网络通信量,保证系统安全性;
缺点:可修改性差,可移植性差。
添加注释:表:comment on table t1 is ‘this is a table’;字段:comment on column t1.id is ‘id’;
创建角色:create role rolename
修改密码:alter user username identified by password;
赋权限:grant … to username 回收权限: revoke … from username
PL/SQL:
开启数据库打印命令:set serveroutput on;
pl/sql语句总体结构:
declare
变量定义
begin
语句
exception
异常处理
end;
打印命令:dbms.output.put_line();
异常处理:
when no_data_found then
dbms.output.put_line(‘the empno does not exist!’);
&+变量名:执行语句的时候手动输入变量值;
%type:变量名+%type,复制数据类型。
存储过程:
结构:
create procedure cjs(参数代入) is
--定义部分
begin
--执行部门
end;
调用存储过程: exec cjs();
查看错误提示:show errors;
存储过程参数类型:in,out,inout;
3的2次方:3**2;
自定义变量:可接受一行记录。
type 变量名 is record();
游标cursor:可接受多行多列。
触发器:两张表建立触发器,一张表变动带动另一张表跟着变动。

我感觉对于一个测试而言,会基本的增删改查就够了.

相关文章

  • Windows环境下Oracle完全卸载

    1.关闭所有Oracle相关服务 2.打开注册表删除与Oracle相关注册信息(1)Oracle在windows下...

  • Oracle相关

    查看当前数据库监听状态命令:lsnrctl status/stop/status服务端监听文件 Listener...

  • Oracle相关

    Google一般比百度靠谱,英文资料一般比中文资料丰富、准确。所以还是建议遇到问题直接Google,不要在百度浏览...

  • Oracle相关

    使用绑定变量的SQL效率更高。因为硬编码的语句对于Oracle来说完全是全新的语句,每次都需要编译。绑定变量的语句...

  • oracle相关

    1、用户 1.1、创建用户 --创建用户test,密码test CREATE USER "test" --...

  • 非图形界面linux创建oracle的实例

    1.查看oracle相关的系统参数 $su - oracle //进入oracle用户模式下 $echo $ORA...

  • Oracle相关操作

    1. 索引 1.1 创建索引 create index index_name on table_name(colu...

  • oracle时间相关

    查看当前时间在第几个季度SELECT TO_CHAR(SYSDATE, 'Q') FROM DUAL; 获取当前时...

  • oracle 相关操作

  • Oracle 相关特性

    11G新功能的官方文档https://docs.oracle.com/cd/E11882_01/server.11...

网友评论

      本文标题:Oracle相关

      本文链接:https://www.haomeiwen.com/subject/blkzuftx.html