oracle数据库常用操作
原文地址:http://www.cnblogs.com/muzifei/archive/2011/11/04/2235864.html
1.使用create user语句创建用户,alter user语句修改用户,其语法大致相同
drop user username [CASCADE] 会删除用户所拥有的所有对象及数据
2.系统权限允许用户在数据库中执行特定的操作,如执行DDL语句。
with admin option 使得该用户具有将自身获得的权限授予其它用户的功能
但收回系统权限时,不会从其它帐户级联取消曾被授予的相同权限
3.对象权限允许用户对数据库对象执行特定的操作,如执行DML语句。
with grant option 使得该用户具有将自身获得的对象权限授予其它用户的功能
但收回对象权限时,会从其它帐户级联取消曾被授予的相同权限
4.系统权限与对象权限授予时的语法差异为对象权限使用了ON object_name 子句
5. PUBLIC 为所有的用户
6. ALL:对象权限中的所有对象权限
检查DBA权限的用户
select * from dba_role_privs where granted_role='DBA';
查看用户具有的系统权限:
SELECT * FROM session_privs;
(关于权限的用处,现在没有涉及,以后用的时候再加强。
有兴趣的,可以参考http://blog.csdn.net/robinson_0612/article/details/5688875 的文章)
以下是常用的数据库信息获取语句:
-- 查看ORACLE 数据库中本用户下的所有表
SELECT table_name FROM user_tables;
-- 查看ORACLE 数据库中所有用户下的所有表
select user,table_name from all_tables;
-- 查看ORACLE 数据库中本用户下的所有列
select table_name,column_name from user_tab_columns;
-- 查看ORACLE 数据库中本用户下的所有列
select user,table_name,column_name from all_tab_columns;
-- 查看ORACLE 数据库中的序列号
select * from user_sequences;
-- 上面的所有对象,都可以通过下面的SQL语句查询得到
-- 查询所有的用户生成的ORACLE对象
SELECT * FROM user_objects;
-- 查看ORACLE 数据库中所有表的注释
select table_name,comments from user_tab_comments;
-- 查看ORACLE 数据库中所有列的注释
select table_name,column_name,comments from user_col_comments;
-- 给表加ORACLE的注释
COMMENT ON TABLE aa10 IS '系统参数表';
-- 给列加ORACLE的注释
COMMENT ON COLUMN aa10.aaa100 IS '参数类别';
-- 查看表中列的属性,包括 数据类型,是否非空等
DESC aa10;
-- 通过系统表,查看表中列的属性,包括 数据类型,是否非空等
SELECT table_name,COLUMN_ID,column_name,data_type,data_length,DATA_PRECISION,NULLABLE
FROM user_tab_columns
ORDER BY table_name,COLUMN_ID;
--查看所有表空间
selecttablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name
--查看未使用表空间大小
selecttablespace_name,sum(bytes)/1024/1024 from dba_free_space group bytablespace_name;
-- 查看数据库中表、索引占用的数据库空间大小
SELECT * FROM user_segments;
-- 查看所有表的记录数
CREATE TABLE table_count(table_name VARCHAR2(50),columns NUMBER(20));
-- 通过PB运行下面的语句,得到结果集,将结果集在PB下执行,最后提交
select 'insert into table_count values('''||table_name||''', (select count(1)from '||table_name||'));//'||comments from user_tab_comments;
-- 所有表的记录都在table_count了
SELECT * FROM table_count;
// 将ORACLE数据库的注释同步到PB中 代码开始
DELETE FROM PBCATCOL WHERE PBC_TNAM LIKE '%';
DELETE FROM PBCATTBL WHERE PBT_TNAM LIKE '%';
INSERT INTO PBCATTBL
( PBT_TNAM,
PBT_OWNR ,
PBT_CMNT)
SELECT ALL_TAB_COMMENTS.TABLE_NAME,
ALL_TAB_COMMENTS.OWNER,
ALL_TAB_COMMENTS.COMMENTS
FROM ALL_TAB_COMMENTS
WHERE ALL_TAB_COMMENTS.OWNER = 'LH'
AND TABLE_NAME LIKE '%';
// 同步字段名
INSERT INTO PBCATCOL
( PBC_TNAM,
PBC_OWNR,
PBC_CNAM,
PBC_LABL,
PBC_CMNT,
PBC_HDR)
SELECT ALL_COL_COMMENTS.TABLE_NAME,
ALL_COL_COMMENTS.OWNER,
ALL_COL_COMMENTS.COLUMN_NAME,
ALL_COL_COMMENTS.COMMENTS ,
ALL_COL_COMMENTS.COMMENTS ,
ALL_COL_COMMENTS.COMMENTS
FROM ALL_COL_COMMENTS
WHERE ALL_COL_COMMENTS.OWNER = 'LH'
AND TABLE_NAME LIKE '%';
COMMIT;
-- 将ORACLE数据库的注释同步到PB中 代码结束
--将PB注释同步到ORACLE中
select 'comment on table '||pbt_tnam||' is '''||pbt_cmnt||''';' from pbcattblwhere pbt_tnam not like 'PB%'
UNION
select 'comment on column '||pbc_tnam||'.'||pbc_cnam||' is '''||pbc_cmnt||''';'from pbcatcol where pbC_tnam not like 'PB%';
--查进程
select object_id,session_id,locked_mode from v$locked_object;
selectt2.username,t2.sid,t2.serial#,t2.logon_time
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid order by t2.logon_time;
--杀进程
alter system kill session '3,6666';
oracle操作语句:
1.创建表
create table 表名(
列名1 类型,
列名2 类型
);
2.修改类属性
alter table 表名 modify(列名 类型);
3.添加列
alter table 表名 add(列名 类型);
4.添加主键约束和非空约束
alter table 表名 add constraint pk_表名 primary key(列名);
alter table 表名 modify(列名 not null);
5.删除主键约束
alter table 表名 drop primary key;
alter table 表名 drop constraint pk_表名;
6.失效约束
alter table 表名 disable primary key;
alter table 表名 disable constraint pk_表名;
7.有效约束
alter table 表名 enable primary key;
alter table 表名 enable constraint pk_表名;
8.删除列
alter table 表名 drop column 列名;
9.设置某列不可用,然后删除
alter table 表名 set unused(列名);
alter table 表名 drop unused columns;
10.修改表名
rename 表名1 to 表名2
alter 表名1 rename to 表名2;
11.截断表
truncate table 表名;
12.截断表保留行空间
truncate table 表名 resue storage;
13.查看表结构
desc table 表名;
14.删除表
drop table 表名;
15.插入记录
例:insert into 表名 values(内容1,内容2,内容3,内容4);
16.带参数对话方式插入行
例:insert into 表名 values(&列名1,&列名2);
insert into 表名 values(内容1,内容2);
17.插入某几列记录
insert into 表名(列名1,列名2) values(内容1,内容2);
18.为列插入空值(其列不能为not null)
insert into 表名 values(内容1,null,null);
19.创建表(包括主键及外键设置)方法一
create table 表名(
列名1 类型
constraint pk_表名 primary key,
列名2 类型 not null,
列名3 类型
constraint fk_表名 reference 表名(列名),
列名3 类型
constraint ck_表名 check(列名3 in(''内容1'',''内容2'',''内容3''))
);
20.查询所有行
select * from 表名;
21.查询某几列
select 列名1,列名2 from 表名;
22.重复行消除
select distict 列名 from 表名;
23.where语句查询
select * from 表名 where 条件 order by 列名;
(注:如number类型查出自动按升序排列,如要按降序排列,则select * from 表名 where 条件 order by 列名 desc;)
24.创建表,方法二
create table 表名(
列名1 类型 primary key,
列名2 类型 not null,
列名3 类型check(列名3 in('''','''','''')),
列名4 类型 refernce 表名(列名)
);
25.修改 列=‘?’的数据
update 表名 set (列=?) where 列=‘?’;
26.删除行
delete from 表名 where 条件;
27.事务处理
--事务处理
update 表名
set 列名(日期) = ''30-5月-98''
where 条件;
savepoint mark1;
delete from 表名 where 条件;
savepoint mark2;
rollback to savepoint mark1;
rollback;
28.建立用户user1,密码为password
授予用户connect,resource的权限
connect角色用于登录
resource角色用于建表等.
connect system/manager
create user user1 identified bypassword;
grant connect,resource to password;
29.数据控制语言
connect scott/tiger
30.把对表1查询和修改的权限授予user1
grant select,update on 表1 to user1;
31.把对表表1中列1和列2修改的权限授予user1
grant update(列1,列2) on 表1 to user1;
32.把对表表1查询的权限授予用户user1
并且user1用户还可以把这个权限授予别的用户(with grant option)
grant select on 表1 to user1 with grant option;
33.从用户user1撤销对表1查询和修改的权限
revoke select,update on 表1 from user1;
oracle数据库常用操作相关推荐
- Oracle 数据库常用操作语句大全
原文:Oracle 数据库常用操作语句大全 一.Oracle数据库操作 1.创建数据库 create database databasename 2.删除数据库 drop data ...
- 分享Oracle数据库常用操作指令
转自:微点阅读 https://www.weidianyuedu.com 一.启动和关闭Oracle数据库 1. 数据库启动以SYSDBA身份登录数据库启动命令:STARTUP [启动选项] 数据库启 ...
- Oracle数据库常用操作sql语句
1.--建立表空间 create tablespace cmdb_db datafile '\home\cmdb_11.dbf' size 100m autoextend on next 50m ex ...
- oracle数据库常用操作语句
新增字段:alter table 表名 add (NAME VARCHAR(12), VALUE NUMBER(10) ); 添加注释:comment on column 表名.name is '姓 ...
- 【干货】Oracle数据库常用十一大操作指令
相关文章导读 收藏 | 超详细的Oracle19c安装步骤_XMWS-IT-CSDN博客 DBA数据库管理必备认证:ORACLE OCP 19C 教材下载 Oracle数据库常用十一大操作指令 1. ...
- 1 Oracle数据库常用命令
linux下重启oracle服务步骤 1.使用Xshell连接linux服务器. 2.以oracle身份登录数据库,命令:su – oracle 3.进入Sqlplus控制台,命令:sqlplus / ...
- 数据库常用操作语句总结
数据库常用操作语句总结 一.基础 1.select 语句 2.select distinct 语句 3.where 子句 4.and 和 or 运算符 5.order by 语句 6.insert i ...
- Oracle数据库常用基本SQL语法
标题 Oracle数据库常用基本SQL语法 1.表的创建.插入,删除及Oracle和mysql的数据类型的区别 create table item (item_id number(5) primary ...
- 数据库常用操作之删除重复数据且仅保留一条
数据库常用操作之删除重复数据且仅保留一条 单字段操作 查询全部重复的数据 MySQL实现 Oracle实现 查询表中重复数据(id最小除外) MySQL实现 删除表中多余重复数据并且只留1条 MySQ ...
最新文章
- HoloLens再添一应用领域!Microsoft和Trimble联手开启设施管理新篇章!
- (转)Paper list of Meta Learning/ Learning to Learn/ One Shot Learning/ Lifelong Learning
- mysql 用户名中主机$_phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接。您应当检查配置文件中的主机、用户名和密码,...
- oracle数据库相关知识,Oracle数据库相关知识点复习
- Eclipse安装Alibaba Cloud Toolkit并连接阿里云云数据库
- python打印字符金字塔_Python教程第7篇:print打印字符串
- mobilenet V1
- TwentyTwelve透明主题二次美化版
- 推荐一下干货-------为什么你的app不耐看
- 网关支付、银联代扣通道、快捷支付、银行卡支付等网上常见支付方式接口说明
- 国家漏洞库CNNVD:关于Dnsmasq多个缓冲区错误漏洞的通报
- 图文详解VxLAN技术(二)
- 遗传算法python与matlab_遗传算法之Python实现代码
- Jboot用@Cron失效
- Gartner云端盘点,浅谈2017IaaS魔力象限
- 小学信息技术 用计算机画画 教学目标,三年级下册信息技术教学计划4篇
- 最全的计算机会议排名
- Mysql索引介绍及使用注意事项,limit分页查询,慢查询分析
- 短信阅读率接近100%?短信营销用“短链接”提升推广效果
- 第一次使用ENVI?ENVI入门手册收好!
热门文章
- office 2016 for Mac打开时 出现隐藏模块中出现编译错误: link
- 互联网开发搞手游创作1-为何有这想法
- cpar文件的导入导出及注意事项
- Linux工具篇 | Ubuntu安装string命令
- The-Swift-2.0-Programming-Language-playground
- 喜茶入股7家茶饮,从“打工仔”做起了“金主爸爸”?
- 网红奶茶品牌茶颜悦色,开业仅半小时就停业,黄牛价200元一杯
- 中国大学MOOC-陈越、何钦铭-数据结构-2020春期末考试【个人完整题解记录-判断选择部分】
- 【Excel】乱序不同行数的两列数据对比匹配
- 云计算概念活跃 浪潮软件放量涨停