Chinaunix首页 | 论坛 | 博客
  • 博客访问: 313485
  • 博文数量: 84
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 890
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 16:46
文章分类

全部博文(84)

文章存档

2017年(2)

2016年(4)

2015年(78)

我的朋友

分类: Oracle

2015-10-22 10:46:01

Sqlplus 的打开方式:

1. sqlplus 直接以DOS界面的形式打开

2. sqlplusw 以窗口的形式打开

?

sqlplus的环境设置

1. set linesize 设置每行显示的长度

2. set pagesize 设置每页显示的长度 oracle中的数据是采用一页页显示的方式输出的

但是上面的设置方式是通过命令行的形式设置的 可以采用一劳永逸的方法 :

找到oracle\product\10.1.0\db_1\sqlplus\admin\下的glogin文件 打开在最后加入以下命令:

--定义缓冲编辑器为vi
define_editor=vi
--使DBMS_OUTPUT有效,并设置成最大buffer,并防止"吃掉"最前面的空格
set serveroutput on size 1000000 format wrapped
--设置一行可以容纳的字符数
set linesize 256
--设置一页有多少行数
set pagesize 50
--设置来回数据显示量,这个值会影响autotrace时一致性读等数据
set arraysize 5000
--页和页之间不设任何间隔
set newpage none
--LONG或CLOB显示的长度
set long 5000
--将SPOOL输出中每行后面多余的空格去掉
set trimspool on
--设置查询耗时
set timing on
--autotrace后explain plan output的格式
col plan_plus_exp format a120
--在屏幕上暂不显示输出的内容,为下面的设置sql做准备
set termout off
--设置时间格式
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
--获得用户名和global_name
col login_info_temp new_value login_info
select login_info_temp from global_name;
--设置sql提示为""
set sqlprompt '&login_info SQL> '
--在屏幕上显示输出的内容
set termout on
--列格式控制
col c1 format a1
col cc1 format a1
col c2 format a2
col cc2 format a2
col c3 format a3
col cc3 format a3
col c4 format a4
col cc4 format a4
col c5 format a5
col cc5 format a5
col c6 format a6
col cc6 format a6
col c7 format a7
col cc7 format a7
col c8 format a8
col cc8 format a8
col c9 format a9
col cc9 format a9
col c10 format a10
col cc10 format a10
col c15 format a15
col cc15 format a15
col c20 format a20
col cc20 format a20
col c30 format a30
col cc30 format a30
col c40 format a40
col cc40 format a40
col c50 format a50
col cc50 format a50
col c60 format a60
col cc60 format a60
col c70 format a70
col cc70 format a70
col c80 format a80
col cc80 format a80
col c90 format a90
col cc90 format a90
col c100 format a100
col cc100 format a100
col c150 format a150
col cc150 format a150
col c200 format a200
col cc200 format a200
col c255 format a255
col cc255 format a255
col host format a30
col db_link format a30
col host format a30
col db_link format a30
col member format a60
col name format a60
col owner format a15
col what format a90
col DEST_NAME format a30
col OS_USERNAME format a15
col USERNAME format a15
col USERHOST format a15
col TERMINAL format a15
col OBJ_NAME format a30
col SQL_TEXT format a60
col EVENT format a70
col status format a60
col MESSAGE format a100
col path format a30
col FILE_NAME format a60
col DESTINATION format a50
col OBJECT_NAME format a30
------------------------------------------------------------
--End--

在sqlplusw中不能通过方向键来修改SQL语句 一般SQL语句是写在文本文档中的 可以使用以下的命令

1.ed a 表示创建一个名为 a 的文档 可以在其中写SQL语句 并可做修改

2.@ a 打开文档 a 如果里面是符合条件的SQL语句 则会执行 否则会报错

3.@ 文件路径 可以打开指定目录下的文件 如果该文件后缀名是 .sql则无需输入后缀名也能找到 如果是非sql文件 则需加后缀名 例如.txt 里面是SQL语句则会执行 否则报错

例:e盘下有 a.sql 和 b.txt文件 要找到此文件 @e:a @e:b.txt

?

l Sqlplus中使用其他帐户连接

1. conn system/manager;

2. conn sys/change_on_install as sysdba;

3. show user 显示此时连接的是哪个帐户

注:在以超级管理员sys登陆时必须加 as sysdba 否则连接不上

如果以system 或 sys登陆时 输入 select * from emp;会出错 因为system和 sys没有emp这张表

如果此时想在不同用户下访问emp表 则需加上该表所在的用户名 例如 select * from scott.emp;

l sqlplus中对于表的信息的查看

1.Select * from tab;查看所有表名 会列出该帐户权限下的所有的表名

2.Desc 表名; 查看表的结构

3./ 要想继续使用上一次的正确的指令 可以直接 / 即可重复执行上一条指令

?

名称 是否为空? 类型

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

EMPNO NOT NULL NUMBER(4)

ENAME VARCHAR2(10)

JOB VARCHAR2(9)

MGR NUMBER(4)

HIREDATE DATE

SAL NUMBER(7,2)

COMM NUMBER(7,2)

DEPTNO NUMBER(2)
?

1). NUMBER(4) 表示数字 长度为4

2). VARCHAR2(10) 表示字符串 只能容纳10个长度

3). DATE 表示日期类型

4). NUMBER(7,2) 表示数字 小数位占2位 整数位占5位 一共7位

阅读(1777) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~