Oracle工作笔记

重命名表
RENAME PUB_ORDER_DATE_RES TO PUB_ORDER_DATA_RES;

新增字段
ALTER TABLE DEVEL.PUB_ORDER_DATE_RES ADD FLAG CHAR (1);

删除字段
ALTER TABLE PUB_ORDER_DATA_RES DROP COLUMN GRID_NO; 重命名字段 ALTER TABLE PUB_ORDER_DATA_RES RENAME COLUMN GRID_N TO GRID_NO; 创建一个序列 CREATE SEQUENCE DEVEL.SEQ_T_PROBLEM_TASK_MAKE // CREATE SEQUENCE START WITH 1 // START WITH 1 从1开始计数 INCREMENT BY 1 // INCREMENT BY 每次新增1 NOCYCLE // NOCYCLE 不循环 NOMAXVALUE // NOMAXVALUE 不设置最大值 查询序列 SELECT SEQ_T_PROBLEM_TASK_INFO.NEXTVAL FROM DUAL; // SELECT 序列名.NEXTVAL FROM DUAL; 删除序列 DROP SEQUENCE DEVEL.SEQ_T_PROBLEM_TASK_INFO; // DROP SEQUENCE 序列名 查看表中重复的数据 SELECT A.ORDER_NUM, COUNT(1) FROM PUB_COMPERE_DATA_RES A GROUP BY A.ORDER_NUM HAVING COUNT(1)>1; 如果有结果出现,则出现的结果为重复数据 从表中随机抽取一定数量的记录 SELECT * FROM (SELECT * FROM PUB_ORDER_DATA_RES ORDER BY DBMS_RANDOM.VALUE) WHERE ROWNUM <=10; 复制表中一列的数据到另一列 UPDATE PUB_ORDER_DATA_RES A SET A.GRID_N = A.GRID_NO; 查询结果作为一张新的表 CREATE TABLE PUB_ORDER_DATA_RES AS SELECT * FROM PUB_PLAN_DATA_RES 查询结果插入一张新的表 INSERT INTO PUB_ORDER_DATA_RES SELECT * FROM PUB_PLAN_DATA_RES 查询当前用户下的所有表 SELECT * FROM TAB; 查询DBA用户表 SELECT * FROM DBA_USERS; DBA修改用户名和密码 alter user devel identified by devel; ORACEL 修改字段等于行号 update pub_compere_data_res set order_id = rownum; oracle除数为0的处理方法 SUM(ROUND(TO_NUMBER(B.FIN_COUNT)/TO_NUMBER( CASE WHEN B.PROB_COUNT = 0 THEN 1 ELSE B.PROB_COUNT END ),4)*100)RATE Oracle存储过程 DECLARE BEGIN delete FROM t_PROBLEM_REPOSITORY PR WHERE PR.ID = 104; delete FROM t_PROBLEM_REPOSITORY PR WHERE PR.ID = 105; delete FROM t_PROBLEM_REPOSITORY PR WHERE PR.ID = 106; END; Oracle DECODE函数 SELECT DECODE(5,0,1,5,5) FROM DUAL //从第二个参数开始依次往下读,如果第一个表达式为0则返回1,如果第一个表达式为5则返回5。最终返回结果为5 //疑问 1、线上数据库定时备份到本地 2、Oracle判断true or false 3GROUP BY ROLLUP 的原理与具体使用方法


一、使用GROUP BY 的三个限制
1、统计函数在没有编写GROUP BY子句的时候(全表作为一组),SELECT子句之中只允许出现统计函数,不允许出现其他字段
  正确语句:SELECT COUNT(empno) FROM emp;
  错误语句:SELECT COUNT(empno), ename FROM emp;  //没有使用GORUP BY,SELECT子句中只允许使用统计函数,不允许使用其他字段。 
    系统提示:不是单分组函数
2、在使用GROUP BY子句分组的时候,SELECT子句中只允许出现分组字段与统计函数,其他字段不允许出现
  正确语句:SELECT job, COUNT(empno) FROM emp GROUP BY job;
  错误语句:SELECT job, COUNT(empno), ename FROM emp GROUP BY job; //在使用GROUP BY子句分组的时候,SELECT子句中只允许出现分组字段与统计函数,其他字段不允许出现
    系统提示:不是GROUP BY表达式
3、统计函数允许嵌套查询,但是嵌套后的统计查询中,SELECT子句里面不允许出现任何的字段,包括分组字段,只能够使用嵌套的函数。
   正确语句:SELECT deptno, AVG(sal) FROM emp GROUP BY (deptno);
   错误语句:SELECT deptno, MAX(AVG(sal)) FROM emp GROUP BY (deptno);//统计函数嵌套,SELECT子句里不允许出现任何的字段。
     系统提示:不是单分组函数


 Oracle启动本地记事本程序

ed 文件名(如果文件不存在,系统会提示是否创建新文件)

执行上一步文件中的sql语句

@文件名

 查看表结构

DESC 表名称

删除表

DROP TABLE 表名称;

修改字段长度

ALTER TABLE 表名称 MODIFY 字段名称 字段类型(新的长度);

 查看用户状态

select username,account_status from dba_users;

解锁sh用户

 alter user sh account unlock; 

 解开sh用户Expired

alter user sh identified by sh

 

posted @ 2017-02-13 09:46  StanLong  阅读(164)  评论(0编辑  收藏  举报