史上最全Oracle语法合集

这篇具有很好参考价值的文章主要介绍了史上最全Oracle语法合集。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

查询

select 列名 from 表名 as [别名] where[条件表达式] like [模糊查询]

排序

selec 列名 from 表名order by asc(升序) desc(降序)

集合
并集:

select * from emp where sal>1000
union all/union(去重)
select * from emp where sal<3000

交集:intersect
差集:minus
联合查询

语法1select 列名 from 表名join 表名2 on 条件表达(1表和2表的字段相等)
语法2select 列名 from 表名,表名2 where 条件表达(1表和2表的字段相等)
左外连接:select 列名 from 表名left join 表名2 on 条件表达(1表和2表的字段相等)
		  select 列名 from 表名,表名2 where1.name=2.name(+)
右外连接:select 列名 from 表名right join 表名2 on 条件表达(1表和2表的字段相等)
          select 列名 from 表名,表名2 where1.name(+)=2.name
交叉连接:select 列名 from 表A cross join 表B

子查询

where 后:select * from emp where sal>(子查询)
exists/not exists:如果子查询查出数据则真,查不出则条件不成立
select * from emp where eists(子查询)
having 后:select * from emp gruop by empno having (子查询)
selectfrom 之间:select (子查询) from emp

分页SQL:

select 列名rownum from 表名
select 列名 row_number()over(order by 列名 desc) r from 表名
selecr 列名 dense_rank()over(order by 列名 desc) r from 表名
selecr 列名 rank()over(order by 列名 desc) r from 表名
selecr 列名 rank()over(partition by 列名order by 列名 desc) r from 表名
select 列名 case when from 表名

创建表空间:

create tablespace 表空间名
datafile 路径
size 1G
autoextend 空间大小自动扩展 on nex 100M表空间满了以后扩展的大小
maxsize 表空间最大存储值 unlimited 不限制表空间最大值

修改表空间:

alter database
datadile 路径
autoextend on next 200M
maxsize 2G

修改原有数据文件大小:

alter database datafile 路径 resize 100M
为表空间增加新的数据文件
alter tablespace 表空间名 add datafile 数据文件size 大小

临时表空间

create temporary tablespace 表空间名
tempfile 路径
size 1G
autoextend on next 100M
maxsize unlimited

创建用户:

create user 用户名
default tablespace用户存在的表空间
temporary tablespace 临时表空间名
identified by 指定用户密码password 用户密码

修改用户:

alter user 用户名
default tablespace用户存在的表空间
temporary tablespace 临时表空间名
identified by 指定用户密码password 用户密码

系统权限:

grant create session to est1允许用户连接到数据库上
grant create table to test1允许用户创建表
grant unlimited tablespace to test1允许test1用户任意使用表空间

对象权限:

grant select on 用户名.表名 to test1 允许用户查询表的记录
grant update on 用户名.表名 to test1 允许用户更新表的记录
grant all on 用户名.表名 to test1 允许用户插入、删除、更新、查询表的记录

删除用户:

drop user 用户名
删除表空间:
drop tablespase 表空间名
删除表空间的同时删除数据文件:
drop tablespase 表空间的名字 including contents and datafiles

创建表:

create table 表名(字段名 数据类型 约束 默认值(可省略)
字段名 数据类型 约束 默认值,
字段名 数据类型 约束 默认值
表级约束--可选
) tablespace 表空间名

删除表:

drop table 表名
备份表:
create table 表名 as select * from 表名

约束:

not null 非空约束 
unique 唯一约束
primary key主键约束
foreign key 外键约束
check 检查约束

给表添加列

alter table 表名 add 列名 数据类型 [约束] [默认值]

删除表中的一个列

alter table 表名 drop column 列名

修改一个列

alter table 表名 modify 被修改列名 数据类型 [约束][默认值]
--注:请看《Oracle——数据类型、建表、约束、修改表和约束、表的注释》
增加一个约束:
alter table 表名 add 表级约束法
alter table 表名 add constraint 约束名 unique(列名)
alter table 表名 add constraint 约束名 primary key(列名)
alter table 表名 add constraint 约束名 foreign key(外键列) references 主表名(主表主键列)
alter table 表名 add constant 约束名 check(约束条件)

删除一个约束:

alter table 表名 drop constraint 约束名
给表加注释:
comment on table 表名 is ‘注释’;
comment on table user_info is ‘用户基础信息表’;
comment on column 表名.列名 is ‘注释’;
comment on column user_info.id is ‘主键’;

插入语句:

insert into 表名(1,2,3) values(字段值1,字段值2,字段值3 )
--从已有数据库表中某一条数据插入到另一个表
insert into 表名(列名1,列名2,列名3)select子查询(可用集合并集等)

修改语句:

update 表名 set 列名=,列名=where条件

删除语句:

delete fromwhere 条件——删除表数据,保留表结构,根据条件删除
truncate table 表名——删除表中所有数据保留结构,不记录日志
drop table 表名——删除表结构和数据

创建索引:

create index 索引名 on 表名(索引列名1[,索引列名2])
注:用索引为条件查询是,不要再索引上进行数学运算

删除索引:

drop index 索引名

创建视图:

create [or replace如果视图存在则替换][force基表不存在也可创建视图] view
视图名 
[with check option] 子句保证能在视图条件内对视图进行DML
[with read only] 表示是一个只读视图

删除视图

drop view 视图名

创建序列:

create sequence 序列名
start with A指定序列的初始值,A为自然数
increment by B指定序列每次增加多少,B为自然数
minvalue C指定序列的最小值,C为自然数
maxvalue D指定序列最大值,D为自然数
cache/no cache 指序列缓存,默认20cycle/no cycle 指定序列是否循环生成

修改序列:

alter sequence 序列名 maxvalue 2000 cycle

删除序列:

drop sequence 序列名

创建同义词:

create [public公共的] [or replace] synonym 同义词名 for 同义词对象(表名、视图名等)

删除同义词文章来源地址https://www.toymoban.com/news/detail-634956.html

drop synonym 表名
drop public synonym 表名

到了这里,关于史上最全Oracle语法合集的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Python史上最全种类数据库操作方法,你能想到的数据库类型都在里面!甚至还有云数据库!

    本文将详细探讨如何在Python中连接全种类数据库以及实现相应的CRUD(创建,读取,更新,删除)操作。我们将逐一解析连接MySQL,SQL Server,Oracle,PostgreSQL,MongoDB,SQLite,DB2,Redis,Cassandra,Microsoft Access,ElasticSearch,Neo4j,InfluxDB,Snowflake,Amazon DynamoDB,Microsoft Azure CosMos DB数

    2024年02月12日
    浏览(27)
  • Oracle数据库面试题 精选 Oracle 面试题

    1.解释冷备份和热备份的不同点以及各自的优点 冷备份 发生在数据库已经正常关闭的情况下,将关键性文件拷贝到另外位置的一种说法。适用于所有模式的数据库。 优点 1. 是非常快速的备份方法(只需拷贝文件) 2. 容易归档(简单拷贝即可) 3. 容易恢复到某个时间点上(只

    2024年02月05日
    浏览(12)
  • 【Oracle】收集Oracle数据库内存相关的信息

    【Oracle】收集Oracle数据库内存相关的信息

    【声明】文章仅供学习交流,观点代表个人,与任何公司无关。 编辑|SQL和数据库技术(ID:SQLplusDB) Oracle数据库包含多个内存区域,每个区域都包含多个子组件。 Oracle Database Memory Structures 根据具体问题的需要,可以通过如下命令收集Oracle数据库内存相关的信息。 例: 注:SET

    2024年01月21日
    浏览(19)
  • 【Oracle】使用 SQL Developer 连接 Oracle 数据库

    SQL Developer 是 Oracle 官方推出的一款免费的数据库开发工具,它提供了丰富的数据库开发功能,其中包括连接 Oracle 数据库的功能。 在本文中,我们将从多个方面详细阐述如何使用 SQL Developer 连接 Oracle 数据库。 在连接 Oracle 数据库前,需要需要做一些准备工作,包括安装 SQ

    2024年02月06日
    浏览(12)
  • Oracle数据库

    Oracle数据库

    ①层次型数据库 ②网状型数据库 ③关系型数据库(主要介绍) E-R图:属性(椭圆形),实体(矩形),联系(菱形-一对一、一对多、多对多) 注:有的联系也有属性 关系型数据库的设计范式: 第一范式(1NF):属性不可再分,字段保证原子性 第二范式(2NF):在满足1

    2024年02月08日
    浏览(15)
  • Oracle 开发篇+Java通过HiKariCP访问Oracle数据库

    Oracle 开发篇+Java通过HiKariCP访问Oracle数据库

    标签:HikariCP、数据库连接池、JDBC连接池、 释义:HikariCP 是一个高性能的 JDBC 连接池组件,号称性能最好的后起之秀,是一个基于BoneCP做了不少的改进和优化的高性能JDBC连接池。 ★ Java代码 ※ 如果您觉得文章写的还不错, 别忘了在文末给作者点个赞哦 ~

    2024年02月13日
    浏览(15)
  • Oracle大型数据库技术

    sqlplus 记录实验过程的方法: 开启相关服务 oracleserviceORCL 控制面板–管理–服务–找到后开启 命令行方法: cmd–net start|stop oracleserviceorcl 常用操作 显示当前用户名 常用的用户名和口令 :dba用户,默认口令:change_on_install,Oraclell,必须以sysdba或者sysoper身份登录 system: 普通管

    2024年02月19日
    浏览(15)
  • Oracle数据库完整卸载

    Oracle数据库完整卸载

    进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止。 快捷键:ctrl+shift+esc打开任务管理器 点击开始菜单找到Oracle,然后点击Oracle安装产品,再点击Universal Installer。 点击之后稍等一会然后会进入进入下图界面,点击卸载产品。 单击“卸载产品”,选中除“Or

    2024年01月16日
    浏览(15)
  • 数据库(二) Oracle篇

    数据库(二) Oracle篇

    概述 SQL函数有单行函数和多行函数,其区别为: 单行:输入一行,返回一行,如字符、数字、转换、通用函数等 多行:输入多行,返回一行,也称为分组函数、组函数、聚合函数, 且多行函数会自动滤空 字符函数 CONCAT( X,Y): 连接字符串X和Y INSTR(X,STR) : 后面STR在前面字符串X第一次

    2024年02月10日
    浏览(19)
  • oracle数据库巡检脚本

    用于Oracle数据库巡检的示例脚本: 

    2024年02月14日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包