oracle常用操作
博客专区 > xiejunbo 的博客 > 博客详情
oracle常用操作
xiejunbo 发表于3年前
oracle常用操作
  • 发表于 3年前
  • 阅读 16
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

oracle常用操作:

----------连接命令---------------

/*CMD登录命令行*/

sqlplus

/*以system身份登录,输入system和pwd*/

show user --查看当前用户

/*切换到xiejunbo用户登录orcl实例*/

connect xiejunbo/PWD@orcl

/*断开与数据库的连接但不退出sqlplus环境*/

disc

-----------编辑命令------------------

/*查看缓冲区内容*/

list

/*追加内容xiejunbo到缓冲区当前行的末尾*/

a xiejunbo

/*del删除缓冲区中当前行的文本*/

del

/*以文本编辑器打开缓冲区进行编辑*/

ed

/*执行缓冲区内容,其中run显示结果的同时显示缓冲区内容,/只显示结果*/

run 或 /

/*清除缓冲区*/

clear buffer

------------文件操作命令----------------------

--这是单行注释

/*这是多行注释*/

/*创建sql脚本文件*/

save c:\script.sql

/*替换脚本文件*/

save c:\script.sql replace

/*使用input命令将脚本存入缓冲区并保存*/

sql>input

1.select * From admin;

2

sql>save c:\selectAdminScript.sql

/*装载脚本到缓冲区并显示缓冲区脚本*/

clear buffer

get c:\selectAdminScript.sql

/*装载脚本到缓冲区并不显示缓冲区脚本*/

get c:\selectAdminScript.sql nolist

/*执行缓冲区脚本文件*/

start c:\selectAdminScript.sql 或 @ c:\selectAdminScript.sql

-------------------交互式命令-------------------------------



--------------------环境变量的显示与设置-------------------------------------

/*显示行的长度和是否自动提交*/

show linesize autocommit;

/*设置行的大小和是否自动提交*/

set linesize 150 autocommit on

/*显示所有环境变量的设置情况*/

show all;

/*显示并设置从数据库中提取的行数*/

show arraysize;

set arraysize 40;

/*设定选定列之间的分隔符号*/

show colsep

set colsep |

/*是否显示列标题并关闭显示列标题*/

show heading

set heading off

/*设置long或lob类型的列在查询时显示的前N个字符*/

show long

set long 200

/*设置每页显示的行数*/

show pageSize

set pageSize 20

/*设置是否为成功执行的insert,delete,update,select生成执行报告 */

show autotrace;

set autotrace on;

/*设置是否显示时间*/

set time on

set time off

/*是否显示SQL的执行时间*/

set timing on

/*显示任何数据库对象的结构信息*/

desc xiejunbo.admin;

/*将屏幕内容(结果和命令)保存到文本文件*/

spool c:/screen.txt   

/*清除屏幕*/

clean screen

/*更改密码*/

password

---------------------数据库物理结构---------------------------------------

/*一个数据库可以有多个实例*/

--查看当前数据库名

select name from v$database;

/*有了数据库就可以创建表*/

/*一个数据库实例可以有多个表空间,一个表空间下可以有多张表*/

--查询当前数据库实例名

select instance_name from v$instance;


/*创建表空间:目录已存在*/

create tablespace db_test

datafile 'd:\oracle\db_test.dbf'

size 10m

autoextend on;

/*查看已经创建好的表空间*/

select default_tablespace,temporary_tablespace,d.username from dba_users d;

/*查看表空间物理文件的名称及大小*/

select tablespace_name,file_id,file_name,round(bytes/(1024*1024),0)total_space from dba_data_files order by tablespace_name;

/*创建新用户*/

create user may

identified by a123

default tablespace db_test

temporary tablespace temp;

/*给用户分配权限管理自己的表空间*/

grant connect to may;

grant resource to may;

grant dba to may;--dba为最高级权限,可以创建数据库,表等


/*查看数据库用户*/

select * from dba_users;

------------------------------

以下转自:http://www.cnblogs.com/tearer/archive/2012/12/13/2815601.html

-- 查看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;





共有 人打赏支持
粉丝 40
博文 142
码字总数 127826
×
xiejunbo
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: