表结构

delete与truncate的区别:
delete:会产生rollback,如果删除大数据量的表速度会很慢,同时会占用很多的rollback segments。truncate: 是DDL操作,不产生rollback,速度快。
--清空表数据:
truncate table [表名];
delete from [表名];
--创建表 从另一张表
create table JIC_POPUP_CONFIG  as select * from JIC_ACTIVITY_CONFIG

主键

--添加主键
ALTER TABLE tableName
MODIFY ( ID NUMBER NOT NULL  ) ;
ALTER TABLE tableName ADD PRIMARY KEY (ID);
--重命名表名:
alter table 表名 rename to  新表名;
alter table tablename rename to newTableName;

字段

--添加字段
alter table 表名 add(column VARCHAR2(20);
--修改字段:
alter table 表名 modify (字段名 字段类型 默认值 是否为空);
alter table 表名 modify (column datatype [default value][null/not null],….);
--删除字段:
alter table 表名 drop column 字段名;
alter table tablename drop (column);                             --重命名字段:
alter table 表名 rename  column  列名 to 新列名;
alter table tablename rename column oldColumn to newColumn;  

注释

--给表添加注释
comment on table XF_ORDERDETAIL is '订单明细表'
/
--给字段添加注释
comment on column XF_ORDERDETAIL.ID is 'ID'
/

序列

--删除序列
drop sequence SEQ_mobile_description
--创建序列
create sequence 序列名 start with 1

索引

create index indexname on tablename(column)

2. 数据

2.1 update一张表的字段 从另一张表

update arap_tally_agrset (arap_tally_agr.money_cr,arap_tally_agr.money_de,arap_tally_agr.local_money_cr) =(select arap_tally.money_cr,arap_tally.money_de ,arap_tally.local_money_crfrom arap_tallywhere arap_tally.pk_item = arap_tally_agr.pk_item)where exists (select 1from arap_tallywhere arap_tally.pk_item = arap_tally_agr.pk_itemand arap_tally.billclass='zf');

2.2 SQL 字段为空 与null 的区别

注意事项:

  1. 计某列的记录数的时候,如果采用的NULL值,系统会自动忽略掉,但是空值是会进行统计到其中的。
  2. 判断NULLIS NULL 或者 IS NOT NULL, SQL语句函数中可以使用ifnull()函数来进行处理,判断空字符用=''或者 <>''来进行处理
  3. 对于MySQL特殊的注意事项,对于timestamp数据类型,如果往这个数据类型插入的列插入NULL值,则出现的值是当前系统时间。插入空值,则会出现 0000-00-00 00:00:00
  4. 对于空值的判断到底是使用is null 还是='' 要根据实际情况来进行区分。

2.3 去重

select * from 表名 where 主键 in (select a.主键 from 表 a, 表b where a.主键>b.主键
and rtrim(a.非主键字段)=rtrim(b.非主键字段));

3.Date

SELECT SYSDATE FROM  dual;  -- 系统时间
SELECT SYSTIMESTAMP FROM  dual;  -- 当前系统时间戳
SELECT CURRENT_TIMESTAMP FROM  dual;  -- 与时区设置有关,返回的秒是系统的,返回的日期和时间是根据时区转换过的
SELECT current_date FROM  dual;  -- 是对CURRENT_TIMESTAMP准确到秒的四舍五入
select SYSDATE ,systimestamp,current_date,current_timestamp from dual;select '相差天数 :' || ROUND(TO_NUMBER(sysdate - (SYSDATE - 1))) from dual
select '相差小时数 :' || ROUND(TO_NUMBER(sysdate - (SYSDATE - 1)) * 24)from dual
select '相差分钟数 :' || ROUND(TO_NUMBER(sysdate - (SYSDATE - 1)) * 24 * 60)from dual
select '相差秒数 :' || ROUND(TO_NUMBER(sysdate - (SYSDATE - 1)) * 24 * 60 * 60)from dual
select '相差毫秒数 :' || ROUND(TO_NUMBER(sysdate - (SYSDATE - 1)) * 24 * 60 * 60 * 1000)from dualto_date('2020-08-22 00:00:00', 'yyyy-mm-dd hh24:mi:ss')--== 时间日期加减
select sysdate,add_months(sysdate,12) from dual; --加1年
select sysdate,add_months(sysdate,1) from dual; --加1月
select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual; --加1星期
select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual; --加1天
select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --加1小时
select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1分钟
select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1秒
--------------------------------------------------------------------------------------
select sysdate,add_months(sysdate,-12) from dual; --减1年
select sysdate,add_months(sysdate,-1) from dual; --减1月
select sysdate,to_char(sysdate-7,'yyyy-mm-dd HH24:MI:SS') from dual; --减1星期
select sysdate,to_char(sysdate-1,'yyyy-mm-dd HH24:MI:SS') from dual; --减1天
select sysdate,to_char(sysdate-1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --减1小时
select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --减1分钟
select sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --减1秒

Oracle常用SQL相关推荐

  1. 图解Oracle常用SQL语句

    1 显示当前连接用户; 查看系统拥有哪些用户; 2 新建用户并授权; 3 连接到新用户: 创建表: 查询当前用户下所有对象: 4 查看表结构: 5 插入新记录 6 更改记录: 7 察看数据库的大小,和 ...

  2. oracle常用SQL语句(汇总版)

    原文地址:https://www.cnblogs.com/xrhou12326/p/4094737.html Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象 一.数据控制语 ...

  3. ORACLE常用SQL语句大全

    ORACLE常用SQL语句大全 DDL:数据库定义语言(CREATE.ALTER.DROP.TRUNCATE.COMMENT.RENAME),用来创建数据库中的表.索引.视图.存储过程.触发器等对象的 ...

  4. Oracle常用sql操作总结

    一.选择行 1. 简单的SELECT 语句  SELECT 字段名1 [AS] '字段名1 解释' FROM table; 2. 处理NULL  NVL函数可把NULL转换成其它类型的符号  编程技巧 ...

  5. oracle常用sql语句

    – 首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba –然后,解除对scott用户的锁 alter user scott account unlock; ...

  6. oracle 常用sql语句

    -- 首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba --然后,解除对scott用户的锁 alter user scott account unloc ...

  7. Oracle常用sql语句(一)

    Sql的分类 DDL操作数据库表列等 表基本的操作 主键 索引 视图 常用数据类型 字符串类型 数字类型 日期类型 LOB类型 LONG类型 数据转换 character date numbercha ...

  8. oracle的常用l函数,oracle常用sql函数和语句

    --GREATEST --返回一组表达式中的最大值,即比较字符的编码大小. select greatest('AA','AB','AC') from dual; select greatest(1,2 ...

  9. Oracle 常用SQL技巧收藏

    1. SELECT子句中避免使用 "*"     当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 '*' 是一个方便的方法.不幸的是,这是一个非常低效的方 ...

  10. Oracle常用sql(持续更新)

    --1.oracle查看表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M ...

最新文章

  1. (转)修改ETM,用Ogre实现《天龙八部》地形与部分场景详解(附源码)
  2. js mysql java_Java、mysql、html、css、js 注释大小写
  3. t1plus 用什么服务器系统,T1 Plus商贸宝普及版与用友T1系统哪个更好呢?
  4. 差分约束 【bzoj2330】[SCOI2011]糖果
  5. 这6个动作,据说只有20%的人能做到!| 今日最佳
  6. 如何将Android Studio卸载的干干净净?
  7. 传统新年元旦海报设计,必备高品质吉祥图案背景
  8. 学习Web前端技术,掌握JavaScript这门语言是必须的
  9. C++面试题整理,希望对大家有所帮助
  10. (数据结构整理)NJUPT1054
  11. java毕业设计_基于ssm的毕业设计管理系统
  12. 沙龙回顾|你pick的程序小哥可以C位出道了吗?(内含PPT和演讲稿福利哦!)...
  13. iOS模拟器找不到证书?
  14. Win11录屏怎么录声音?Win11录屏幕视频带声音的方法
  15. 新华社-中国移动联手打造盘古搜索 2月22日上线
  16. BZOJ2827 千山鸟飞绝
  17. Minecraft 1.12.2模组开发(十) 食物制作
  18. unity小技巧收集总结--自用(三)
  19. 关于c / c++中power_bound的使用
  20. openwrt 认证收费_在OpenWrt中安装Wiwiz实现portal认证

热门文章

  1. unity头顶状态制作_Unity里名字牌、血条等头顶挂件的实现
  2. Proteus:单片机按键控制流水灯方向
  3. Web3.js API 中文文档
  4. 微软为Bing开源搜寻人工智能算法 SPTAG
  5. Oracle SQL Develope导出数据库连接
  6. 【百度快照】基于MATLAB的人民币纸币系列号面额识别系统【GUI】
  7. kaniko-在k8s集群中构建容器镜像
  8. Goolge浏览器安装vue-devtools调试工具
  9. hibernate框架简介
  10. Dos安装pyinstaller时报错Non-UTF-8 code starting with '\x90' in file pip3.6.exe on line 1