文档章节

oracle数据库常用语法(中文注释版)

sprouting
 sprouting
发布于 2016/09/12 16:49
字数 1708
阅读 176
收藏 6

-- 查看系统所有变量值
show all

-- 显示当前连接用户
show user

-- 显示表结构
desc 表名

-- 显示错误
show error

-- 退出
exit;

表空间是数据库中最大的逻辑单位,一个oracle中至少有一个表空间,varchar2是oracle独有的.每个数据库中都有一个名为system的表空间,即系统表空间,用于存放数据库字典表、程序单元、过程、函数包和触发器等。一个数据库文件只能与一个表空间相联系,每个表空间由一个或多个数据文件组成。

-- 创建表空间
create tablespace 表空间名

--创建表空间同时制定数据文件路径大小 (size后为表空间大小单位为K或者M)
create tablespace 表空间名 datafile '数据文件路径' size 10M autoextend on

-- 删除表空间
drop tablespace 表空间名

-- 修改表空间
alter tablespace 表空间名 add datafile '文件路径' size 大小

-- 授予权限
grant 角色权限(角色)[,角色权限] to 用户

-- 查看当前用户的系统权限
select * from user_sys_privs

-- 收回权限
revoke 角色权限 from 用户

-- 创建表
create table 表名 (
  字段名 数据类型 [not null] [primary key],
  字段名 数据类型
);

-- 提交
commit

-- 从现有的表中创建表并复制其数据
create table 表名 as select * from 被复制数据库.表名

-- 从现有的表中创建表并复制其表结构,不包括数据
create table 表名 as select * from 被复制数据库.表名 where 1=2

-- 修改表中字段(字段的属性修改)
alter table 表名 modify(字段1 字段类型, 字段2 字段类型)

-- 删除表中字段(字段是要删除的字段)
alter table 表名 drop (字段1, 字段2)

-- 修改表字段的名称
alter table 表名 rename column 原字段名 to 新字段名

-- 删除表(删除后可回收站查看并恢复)
drop table 表名

-- 删除表(删除后不可查看和恢复)
drop table 表名 purge

-- 查看回收站
show recyclebin

-- 查看回收站
select * from recyclebin

-- 清空回收站
purge recyclebin

-- 新增数据
insert into 表名 (字段1,字段2...) values (value1, value2...)

-- 复制其他表的数据新增到本表中
insert into 表名 select语句

--  修改
update 表名 set 字段=value where 条件

-- dual是一个伪表,用来构成select的语法规则 。伪列rowid是物理结构上的,每条数据记录到数据库的时候,都会有一个物理记录,通一条记录在不同查询中对应的rowid相同

-- 查看当前用户
select user from dual

-- 查询当前系统时间并格式化
select to_char(sysdate, 'yyyy-mm-d hh24:mi:ss') from dual

-- 用作计算器
select 2*8 from dual

--条件删除
delete from 表名 where 字段=条件value

--删除表后在创建一个和原有表结构相同的表
truncate table 表名

-- 创建一个保存点
savepoint 保存点名

-- 回滚到保存点(如果保存点创建后提交了,那么保存点会失效)
rollback  to 保存点名

-- 连接运算符 ||
select '名字为:' || value || '职位为:' value from 表名

-- union 并集并且去重复    union all 并集不去重
select * from 表名 where 条件 union select * from 表名 where 条件

-- 非集合方式实现并集并且去重 (效率要高很多)
select * from 表名 where 字段 in(条件1, 条件2)

-- 交集,查询公共部分 intersect
查询工资1000-2000区间和1500-2500之间的工资
select * from 表名 where 工资字段 1000 and 2000 intersect select * from 表名 where 工资字段 1500 and 2500

-- 非集合形式实现交集
select * from 表名 where 工资字段 1500 and 2000

-- 减集 minus
查询工资在1000-2000并且不在1500-2500的工资
select * from 表名 where 工资字段 1000 and 2000 minus select * from 表名 where 工资字段 1500 and 2500

-- 非集合形式实现减集
select * from 表名 where 工资字段 >=1000 and 工资字段 < 1500

-- 四舍五入
round(数值, 四舍五入的值)

-- 返回当前日期
select sysdate from dual

-- 在日期基础上加上n个月后的新日期
select sysdate,add_months(sysdate, 加上的月数) from dual

-- months_between 返回2个日期之间的月份数

-- 创建视图
create or replace view 视图名 as select 字段名 from 表名

-- 查询视图
select * from 视图名

-- 视图中插入值,插入的值是放到基表中,视图是虚拟表,并不存在数据
insert into 视图名(字段名) values(插入的值)

-- 更新视图值
update 视图名 set 字段名=字段值 where 条件

-- 删除
elete from 视图名 where 条件

-- 删除一个视图
drop view 视图名

-- 同义词是数据库的一个别名

-- 管理员授予用户A创建同义词的权限
grant create synonym to A用户

-- 创建私有同义词
create synonym 同义词名 for 表名

-- 为视图创建同义词
create synonym 同义词名 for 视图名

-- 查询同义词
select * from 同义词名

-- 删除同义词
drop synonym 同义词名

-- sys用户赋予用户A创建删除公有同义词的权限
grant create public synonym,drop public synonym to 用户A

-- sys用户回收用户A创建删除公有同义词的权限
revoke create public synonym,drop public synonym from 用户A

-- 创建公有同义词
create public synonym 同义词名 for 表名

-- 连接
conn system/密码

-- 索引是建立在数据库表中的某些列上面,是与表关联的,可提供快速访问数据的方式,但会影响增删改的效率
-- 创建索引
create unique[可选] index 索引名 on 表名(字段名 字数是升序还是降序[可选])

-- 删除索引
drop index 索引名

-- 创建组合列唯一索引
create unique index 索引名 on 表名(字段名, 字段名)

-- 序列是oracle提供的一个产生唯一数值型值的机制 ,通常用于主键,能保证唯一,不保证联系
-- 创建一个序列
create sequence 序列名

-- 查看序列的下一个值
select 序列名.nextval from dual

--查看序列当前值
select 序列名.currval from dual

-- 删除序列
drop sequence 序列名  

-- 分区表就是将一个表分成多个区,可以分别对不同的区进行操作,不同的区也可以保存在不同的位置,但实际还是一张表

-- PLSQL

declare --定义一个常量
常量名 constant number(4,0): = 7788;
--定义变量
变量名 varchar2(20);
begin
--正式执行语句部分
select 字段名 from 表名 where 条件;
end;

-- 设置控制台显示
set serveroutput on

-- 创建角色
create role 角色名

-- 授予表A的 select 操作权限给用户B
grant select on  表A to 用户B
-- 其他的权限
grant update on 表A to 用户B

-- 撤销表A的update操作权限给用户B
revoke update on 表A from 用户B

© 著作权归作者所有

sprouting
粉丝 12
博文 157
码字总数 60234
作品 0
广州
程序员
私信 提问
如何去掉vs2010英文版中文注释的波浪线

如何去掉vs2010英文版中文注释的波浪线 用英文版的vs2010有一个问题,就是注释由于是中文所以老显示表示语法错误的波浪线。研究了一下,下面是解决方法: tools-options-Environment-Intern...

Jian-Yong
2012/06/16
0
0
oracle注释乱码问题如何解决

问题: oracle 数据库中文注释乱码,但查询结果中文显示没有乱码 尝试过网上的建议:修改oracle 环境变量NLS_LANG,没有效果。 寻求解决方案,谢谢

wei-chan
2015/11/27
809
0
Oracle第三方开发工具对比

一、首先说一说Object Browser For Oracle (推荐指数:5) 在我的印象中Object Browser原来是对日开发用得最多的Oracle图形界面化工具。几乎所有的日本oracle开发工具排行榜上都是榜首的一个...

海尼
2013/05/02
2.8K
13
OpenJWeb 1.8数据库管理工具功能说明

QQ:29803446 msn:baozhengw999@hotmail.com email:baozhengw@163.com 联系人:王先生 OpenJWeb 1.8数据库管理工具功能说明 由于使用sqlserver 的DTS跨数据库复制功能经常失败,所以openjweb开...

迷途d书童
2012/03/09
65
0
Power Designer 常见问题

出自:http://www.cnblogs.com/netsql/archive/2010/05/28/1746586.html PowerDesigner的主要作用一般还是数据库建模,并生成对应的数据库设计文档,可以与数据库保持同步。 一般常用的有CDM...

长平狐
2013/03/28
253
0

没有更多内容

加载失败,请刷新页面

加载更多

Dubbo服务暴露与注册

前面的文章中,我们讲解了Dubbo是如何进行配置的属性的初始化的,并且讲到,Dubbo最终会将所有的属性参数都封装为一个URL对象,从而以这个URL对象为基准传递参数。本文则主要讲解Dubbo是如何...

爱宝贝丶
50分钟前
3
0
Leetcode PHP题解--D88 696. Count Binary Substrings

D88 696. Count Binary Substrings 题目链接 696. Count Binary Substrings 题目分析 给定一个01字符串,返回仅用连续的0和1串所能组成的二进制字符串个数。 例如,00110011,就包含0011,0...

skys215
今天
2
0
基础工具类

package com.atguigu.util;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;import javax.sql.DataSource;import com.alibaba.druid......

architect刘源源
今天
69
0
P30 Pro劲敌!DxO官宣新机:排行榜又要变

5月26日晚间,DxOMark官方推特预告,将在5月27日公布一款新机型的DxOMark评分,猜猜是哪款? 网友猜想的机型有:红米K20、谷歌Pixel 3a、索尼Xperia 1、诺基亚9 PureView等。 DxOMark即将公布...

linux-tao
昨天
26
0
Ubuntu18.04.2窗口过小不能自适应(二次转载)

解决Ubuntu在虚拟机窗口不能自适应 2018年09月06日 16:20:08 起不了名儿 阅读数 855 此博文转载:https://blog.csdn.net/nuddlle/article/details/77994080(原地址) 试了很多办法这个好用 ...

tahiti_aa
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部