Oracle常用SQL
表结构
表
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 的区别
注意事项:
- 计某列的记录数的时候,如果采用的
NULL
值,系统会自动忽略掉,但是空值是会进行统计到其中的。- 判断
NULL
用IS NULL
或者IS NOT NULL
,SQL
语句函数中可以使用ifnull()
函数来进行处理,判断空字符用=''
或者<>''
来进行处理- 对于
MySQL
特殊的注意事项,对于timestamp
数据类型,如果往这个数据类型插入的列插入NULL
值,则出现的值是当前系统时间。插入空值,则会出现0000-00-00 00:00:00
- 对于空值的判断到底是使用
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相关推荐
- 图解Oracle常用SQL语句
1 显示当前连接用户; 查看系统拥有哪些用户; 2 新建用户并授权; 3 连接到新用户: 创建表: 查询当前用户下所有对象: 4 查看表结构: 5 插入新记录 6 更改记录: 7 察看数据库的大小,和 ...
- oracle常用SQL语句(汇总版)
原文地址:https://www.cnblogs.com/xrhou12326/p/4094737.html Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象 一.数据控制语 ...
- ORACLE常用SQL语句大全
ORACLE常用SQL语句大全 DDL:数据库定义语言(CREATE.ALTER.DROP.TRUNCATE.COMMENT.RENAME),用来创建数据库中的表.索引.视图.存储过程.触发器等对象的 ...
- Oracle常用sql操作总结
一.选择行 1. 简单的SELECT 语句 SELECT 字段名1 [AS] '字段名1 解释' FROM table; 2. 处理NULL NVL函数可把NULL转换成其它类型的符号 编程技巧 ...
- oracle常用sql语句
– 首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba –然后,解除对scott用户的锁 alter user scott account unlock; ...
- oracle 常用sql语句
-- 首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba --然后,解除对scott用户的锁 alter user scott account unloc ...
- Oracle常用sql语句(一)
Sql的分类 DDL操作数据库表列等 表基本的操作 主键 索引 视图 常用数据类型 字符串类型 数字类型 日期类型 LOB类型 LONG类型 数据转换 character date numbercha ...
- oracle的常用l函数,oracle常用sql函数和语句
--GREATEST --返回一组表达式中的最大值,即比较字符的编码大小. select greatest('AA','AB','AC') from dual; select greatest(1,2 ...
- Oracle 常用SQL技巧收藏
1. SELECT子句中避免使用 "*" 当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 '*' 是一个方便的方法.不幸的是,这是一个非常低效的方 ...
- Oracle常用sql(持续更新)
--1.oracle查看表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M ...
最新文章
- (转)修改ETM,用Ogre实现《天龙八部》地形与部分场景详解(附源码)
- js mysql java_Java、mysql、html、css、js 注释大小写
- t1plus 用什么服务器系统,T1 Plus商贸宝普及版与用友T1系统哪个更好呢?
- 差分约束 【bzoj2330】[SCOI2011]糖果
- 这6个动作,据说只有20%的人能做到!| 今日最佳
- 如何将Android Studio卸载的干干净净?
- 传统新年元旦海报设计,必备高品质吉祥图案背景
- 学习Web前端技术,掌握JavaScript这门语言是必须的
- C++面试题整理,希望对大家有所帮助
- (数据结构整理)NJUPT1054
- java毕业设计_基于ssm的毕业设计管理系统
- 沙龙回顾|你pick的程序小哥可以C位出道了吗?(内含PPT和演讲稿福利哦!)...
- iOS模拟器找不到证书?
- Win11录屏怎么录声音?Win11录屏幕视频带声音的方法
- 新华社-中国移动联手打造盘古搜索 2月22日上线
- BZOJ2827 千山鸟飞绝
- Minecraft 1.12.2模组开发(十) 食物制作
- unity小技巧收集总结--自用(三)
- 关于c / c++中power_bound的使用
- openwrt 认证收费_在OpenWrt中安装Wiwiz实现portal认证
热门文章
- unity头顶状态制作_Unity里名字牌、血条等头顶挂件的实现
- Proteus:单片机按键控制流水灯方向
- Web3.js API 中文文档
- 微软为Bing开源搜寻人工智能算法 SPTAG
- Oracle SQL Develope导出数据库连接
- 【百度快照】基于MATLAB的人民币纸币系列号面额识别系统【GUI】
- kaniko-在k8s集群中构建容器镜像
- Goolge浏览器安装vue-devtools调试工具
- hibernate框架简介
- Dos安装pyinstaller时报错Non-UTF-8 code starting with '\x90' in file pip3.6.exe on line 1