DML 语句(数据操作语言)Insert、Update、 Delete、Merge

DDL 语句(数据定义语言)Create、Alter、 Drop、Truncate

DCL 语句(数据控制语言)Grant、Revoke

----------------------------------------------------------------------------------------事务

事务控制语句 Commit 、Rollback、Savepoint savepoint a; rollback to a;(不能commit)

----------------------------------------------------------------------------------------时间

date :表示年月日,如YY-MM-DD,7字节

timestamp:更精确

select sysdate from dual;

select systimestamp from dual;

select to_timestamp(to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss.ff'),'yyyy-mm-dd hh24:mi:ss.ff') from dual;

修改时间:

update time set time_timestamp= to_timestamp('2006-01-01 12:10:10.1','yyyy-mm-dd hh24:mi:ss.ff'));

update time set time_date=to_date('20170321','yyyymmdd') where sno='108';

时间比较:

select * from time t where to_char(t.time_date,'yyyymmdd')>'20170915';

select * from time t where t.time_date>to_date('20170915','yyyymmdd');

计算相隔天数:

to_date(to_char(systimestamp, 'yyyymmdd'), 'yyyymmdd') - to_date(to_char(max(t.oper_time), 'yyyymmdd'), 'yyyymmdd')

----------------------------------------------------------------------------------------删除表

truncate table table_name;

delect from table_name;

--删除用户下所有表

select 'drop table '||table_name||';' from cat --user_tab_comments where table_type='TABLE'

--恢复删除的表

flashback table data_statistics to before drop;

----------------------------------------------------------------------------------------插入

insert into log_data_change t (TIMESTAMP,JC_STANDARD_TABLE_ID,COLUMN_NANE,CN_NAME, DATA_TYPE,DATA_LENGTH,BYZ_TYPE,JC_CHANGE_ID,USER_NAME,STANDARD_STATUS_CHANGED ) values(systimestamp,'','','','','','',sys_guid(),'','');

-----------------------------------------------------------------------------------------视图

create or replace view view_Account_dept as select * from emp where deptno=10

-----------------------------------------------------------------------------------------CREATE

? CREATE INDEX:创建数据表索引

? CREATE PROCEDURE:创建存储过程

? CREATE FUNCTION:创建用户函数

? CREATE VIEW:创建视图

? CREATE TRIGGER:创建触发程序

? CREATE SEQUENCE

----------------------------------------------------------------------------------------修改

select t.rowid,t.* from student t;

select t.* from student t for update;--容易锁表

update student set sclass='95032' where ssex='男';

update jc_column t    set (COLUMN_TYPE, COLUMN_LENGTH) =        (select COLUMN_TYPE, COLUMN_LENGTH           from jc_column t          where t.jc_table_code = 'OPER_APP_INFO')  where t.jc_table_code= 'HIS_OPER_APP_INFO';

merge into reg_cp_rs_certificate z using cp_rs_ent_tmp t on (z.entid = t.ent_id) when matched then   update set z.updatedate = t.reg_end_date;

----------------------------------------------------------------------------------------连接

内连接 inner join,from A,B where A.a=B.a

左连接 left join

右连接 right join

完全连接 full join

----------------------------------------------------------------------------------------函数

32位随机数: sys_guid()

字符函数:

Upper Lower Initcap(首字母大写)

Concat(连接字符串和||一个效果)

Substr Length Replace Instr(查找字符串b在字符串a中的位置)

Lpad(lpad('Smith',10,'*') 左侧填)

Rpad

Trim

数值函数

Round(四舍五入到小数点后n位) Mod(取余) Trunc(显示到小数点后n位)

日期函数

Months_between()

Add_months()

Next_day()

Last_day()

转换函数

To_char

To_number

To_date

通用函数

NVL(,)(取非空)

NVL2('a','b','c')(如果a不空取b,a空取c)

NULLIF()(如果表达式 exp1 与 exp2 的值相等则返回 null,否则 返回 exp1 的值)

COALESCE()(依次考察各参数表达式,遇到非 null 值即停止并返 回该值)

CASE() select empno, ename, sal, case deptno  when 10 then '财务部' when 20 then '研发部' when 30 then '销售部' else '未知部门'    end 部门 from emp;

DECODE() decode(a.standard_status, 1, 1, 0) select empno, ename, sal, decode(deptno, 10, '财务部', 20, '研发部', 30, '销售部', '未知部门')    部门 from emp;

分组函数

COUNT()

Avg,max,min,sum GROUP BY 子句 HAVING 子句

distinct()去重复

dump()

-------------------------------------------------------------------------------------------计数

sum(decode(t.state, 1, 1, 0)) hb,  sum(decode(t.state, 2, 1, 3, 1, 0)) byz,  sum(decode(t.state, 4, 1, 0)) more,  sum(decode(t.state, null, 1, 0)) weibidui

数据按千位分隔显示 to_char(t.out, '99,999,999')

-------------------------------------------------------------------------------------------交并差

union/union all  并集

intersect        交集

minus            差集

select column_name from all_tab_cols  where table_name='' intersect select column_name from all_tab_cols  where table_name=''

-------------------------------------------------------------------------------------------加注释

comment on table GC_G_DOC84 is '行政处罚撤销决定书';

comment on column GC_G_DOC84.CASEID  is  '案件记录ID';

--------------------------------------------------------------------------------------------alter

alter table GC_G_DOC84 modify(COL4 varchar2(4000));

ALTER TABLE (表名) ADD CONSTRAINT (索引名);

ALTER TABLE (表名) DROP CONSTRAINT (索引名);

ALTER TABLE (表名) ADD (列名 数据类型);

ALTER TABLE (表名) MODIFY (列名 数据类型);

ALTER TABLE (表名) RENAME COLUMN (当前列名) TO (新列名);  /////不需要括号

ALTER TABLE (表名) DROP COLUMN (列名);

ALTER TABLE (当前表名) RENAME TO (新表名);

--------------------------------------------------------------------------------------------建表

create table table_name as select * from table_name1;

create table table_name as select * from table_name1 where 1=2;

insert into table_name select * from table_name1;

-------------------------------------------------------------------------------------------分页查询

select * from (select rownum no,e.* from (select * from emp order by sal desc) e where rownum<=5 ) where no>=3;

select * from (select rownum no,e.* from (select * from emp order by sal desc) e)  where  no>=3 and no<=5;

-------------------------------------------------------------------------------------------用户权限

用户:

create user sun identified by 123;   --创建用户

alter user sun identified by 111;    --修改密码

drop user sun cascade;                --删除用户及对象

drop user sun;                              --删除用户

赋予权限:

connect,resource,dba---------------------------新用户授予权限

grant connect,resource,dba to scott;

grant select on student to scott;

grant select any table to scott;

grant unlimited tablespace to scott;--操作表空间

grant create tablespace to scott;

移除权限:

revoke dba from scott;

revoke select on student from scott;

select * from role_sys_privs where role='RESOURCE';

select * from dba_sys_privs where grantee='RESOURCE';

-- Create the user create user ZCK   default tablespace USERS   temporary tablespace TEMP   profile DEFAULT;

-- Grant/Revoke role privileges grant connect to ZCK;

grant dba to ZCK;

grant resource to ZCK;

-- Grant/Revoke system privileges grant create tablespace to ZCK;

grant unlimited tablespace to ZCK;

------------------------------------------------------------------------------------------锁

SELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.session_id = s.sid;

alter system kill session '44, 3961'; alter system kill session '51, 4751';

-------------------------------------------------------------------------------------------同义词

select * from dba_synonyms t where t.synonym_name='CC';--必须大写

select * from user_synonyms;--只查询私有同义词,因为共有同义词的owner为public

create public synonym aa for zck.jc_table;--公有同义词

create synonym bb for zck.jc_table;--私有同义词

alter synonym aa compile;--编译同义词

drop public synonym aa;--删除同义词

select t.*,t.rowid from aa t; select t.*,t.rowid from bb t;

-------------------------------------------------------------------------------------------跨库查询

--zck为用户名,只有高权限的能查低权限的

select * from zck.jc_table;

--zck为dblink

select * from jc_table@zck;

-------------------------------------------------------------------------------------------表空间

select username, default_tablespace from dba_users where username='SJZX_STDCHECK_TEST';

alter tablespace JDS_DATA rename to JDS;

create tablespace datacenter datafile 'datacenter.dbf' size 20m;

-------------------------------------------------------------------------------------------存储过程

--打开打印

set serveroutput on;

--执行存储过程

exec sp_select; execute sp_select; begin sp_select; end;

--创建存储过程

create  or replace procedure sp_select as len number:=5;  width number:=4;  area number; v_total varchar2(30);    begin    select name into v_total from demo where rownum=1;    DBMS_OUTPUT.put_line('name:'||v_total);   end;

------------------------------------------------------------------------------------------其它查询SQL

with dj as (select C.TYPE_ID_FK,c.code_value,C.CODE_NAME from SYSMGR_CVALUE c where c.type_id_fk = 'CA01' ORDER BY CODE_VALUE), sb as (select d.dict_code,d.dm_value,d.dm_name   from std_dict@std_dm s   left join std_dm@std_dm d on s.dict_id = d.dict_id  where s.dict_code = 'CA01'   and s.src_type = '1'  ORDER by d.dm_value) select code_value,CODE_NAME,dm_value,dm_name from dj left  join sb on TYPE_ID_FK =  dict_code where code_value=dm_value and CODE_NAME=dm_name order by code_value,dm_value

select t.casesrcid ,count(1) from ZJ_CASE_CF_SRCINF t group by casesrcid having count(1)>1---重复条数

select  'select  "'||t.table_name||'" ,count(1) from '||t.table_name||' union all'  from  user_tab_comments t

---------------------------------------------------------------------------------------------游标

show parameter open_cursors;--查看游标

alter system set open_cursors=2000;

select * from gv$instance;

SQL大杂烩的更多相关文章

  1. sql基础语句大杂烩

    (坑Open Office,这排版...) 1.distinct列出不同值,过滤掉相同的值 例:company中有两个相同的值比如(apple和apple)时,则只取出一个值 SELECT DISTI ...

  2. SQL NOLOCK大杂烩

    今天碰到NOLOCK 的问题,就查阅了一些资料,做了相关了解:总结了比较经典,朴实的两篇在此. 电梯直达: SQL Server 中WITH (NOLOCK)浅析 文章本想大篇幅摘抄,因为担心链接失效 ...

  3. 【每日更新】【SQL实用大杂烩】

    11.分页1. select * from (select top 2 * from( select top 3 * from t_table order by field1) a order by  ...

  4. 【SQL】大杂烩

    --------------------------------- 索引 --------------------------------- 语法: CREATE [索引类型] INDEX 索引名称 ...

  5. ASP.NET开发大杂烩

    ASP.NET开发大杂烩 正巧今天遇到一个获取动态生成table中的一个动态生成的TextBox的值的时候总是findcontrol不到.后来经过我们的徐总,瞬间解决,但是我觉得对于一个页面的声明周期 ...

  6. sql server 内存初探

    一. 前言 对于sql server 这个产品来说,内存这块是最重要的一个资源, 当我们新建一个会话,相同的sql语句查询第二次查询时间往往会比第一次快,特别是在sql统计或大量查询数据输出时,会有这 ...

  7. sql server 我常用的语句

    1. computed column ) persisted; 2. unique nullable create unique nonclustered index[UniqueName] on [ ...

  8. SQL Server性能调优:资源管理之内存管理篇(上)

    http://www.cnblogs.com/caspnet/archive/2011/02/21/1959539.html 对SQL Server来说,最重要的资源是内存.Disk和CPU,其中内存 ...

  9. (1)SQL Server内存浅探

    1.前言 对于数据库引擎来说,内存是一个性能提升的重要解决手段.把数据缓存起来,可以避免在查询或更新数据时花费多余的时间,而这时间通常是从磁盘获取数据时用来等待磁盘寻址的.把执行计划缓存起来,可以避免 ...

随机推荐

  1. Hadoop2.7.6_05_mapreduce-Yarn

    1. MAPREDUCE原理 Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架: Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认 ...

  2. 「雅礼集训 2017 Day7」事情的相似度

    「雅礼集训 2017 Day7」事情的相似度 题目链接 我们先将字符串建后缀自动机.然后对于两个前缀\([1,i]\),\([1,j]\),他们的最长公共后缀长度就是他们在\(fail\)树上对应节点 ...

  3. Linux基础第五课——用户管理

    用户管理 一个用户必须有一个主组 一个用户可以拥有多个组 但是必须一个主组 其它组是临时组 一个组可以拥有多个用户 用户的信息放到 /etc/passwd 用户的密码 存入 /etc/shadow 组 ...

  4. [CQOI2016]密钥破解

    嘟嘟嘟 这题我读了两遍才懂,然后感觉要解什么高次同余方程--然后我又仔细的看了看题,发现只要求得\(p\)和\(q\)就能求出\(r\),继而用exgcd求出\(d\),最后用快速幂求出\(n\). ...

  5. linked-list-cycle-ii (数学证明)

    题意:略. 这个题最关键的点在于后面,如何找到循环开始的节点. 第一阶段,先用快慢指针找到相遇的节点C.(至于为什么,了解一下欧几里德拓展解决二元不定方程.)A是表头.B是开始循环的位置. 第一次阶段 ...

  6. ROS 双目标定

    http://wiki.ros.org/camera_calibration/Tutorials/StereoCalibration 发布ZED节点 roslaunch zed_cpu_ros zed ...

  7. Linux系统远程连接服务器命令行模式

    导读 对于很多新手来说,如何用Windows远程Linux操作系统,是个前进的大问题.如果这个问题前进不了,其他更别说了. Linux或Max OS X系统电脑,登录步骤为 1.打开ssh客户端 2. ...

  8. jsp、freemarker、velocity、thymeleaf页面方案分析

    1.概述在java领域,表现层技术主要有三种, (1)jsp; (2)freemarker; (3)velocity; (4)thymeleaf; 2.jsp优点: 1.功能强大,可以写java代码 ...

  9. linux安装jenkins和编译发布gitlib项目

    1. jenkins下载地址 wget https://updates.jenkins-ci.org/download/war/2.138/jenkins.war 2. 安装插件 安装gitlib和m ...

  10. WEB安全 - 认识与防御XSS攻击

    目录 什么是xss攻击? XSS的危害 XSS攻击分类 xss攻击示例 反射型攻击 - 前端URL参数解析 反射型攻击 - 后端URL参数解析 注入型攻击 - 留言评论 如何规避xss攻击? 总结 什 ...