describe 列出表结构
describe emp
SQL> desc emp
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
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)
help index :列出所有命令
SQL> show user
USER 为 "SCOTT"
SQL> help index
Enter Help [topic] for help.
@ COPY PAUSE SHUTDOWN
@@ DEFINE PRINT SPOOL
/ DEL PROMPT SQLPLUS
ACCEPT DESCRIBE QUIT START
APPEND DISCONNECT RECOVER STARTUP
ARCHIVE LOG EDIT REMARK STORE
ATTRIBUTE EXECUTE REPFOOTER TIMING
BREAK EXIT REPHEADER TTITLE
BTITLE GET RESERVED WORDS (SQL) UNDEFINE
CHANGE HELP RESERVED WORDS (PL/SQL) VARIABLE
CLEAR HOST RUN WHENEVER OSERROR
COLUMN INPUT SAVE WHENEVER SQLERROR
COMPUTE LIST SET XQUERY
CONNECT PASSWORD SHOW
show parameters db_name;要用管理员账号
SQL> show parameters db_name
ORA-00942: 表或视图不存在
SQL> conn / as sysdba
已连接。
SQL> show parameters db_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name
select * from scott.emp 在sysdba 下,查看scott的emp表
SQL> conn / as sysdba
已连接。
SQL> show parameters db_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string orcl
SQL> select * from scott.emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
DEPTNO
----------
7369 SMITH CLERK 7902 17-12月-80 800
20
sqlplus默认80个字符一行
一页为14行
这是在环境变量中设置的, 用set 来设置
set linesize 140
set pagesize 80
SQL> set lineseze 140
SP2-0158: 未知的 SET 选项 "lineseze"
SQL> set linesize 140
SQL> set pagesize 80
SQL> select * form scott.emp;
select * form scott.emp
*
第 1 行出现错误:
ORA-00923: 未找到要求的 FROM 关键字
SQL> select * from scott.emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 20
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30
7876 ADAMS CLERK 7788 23-5月 -87 1100 20
7900 JAMES CLERK 7698 03-12月-81 950 30
7902 FORD ANALYST 7566 03-12月-81 3000 20
7934 MILLER CLERK 7782 23-1月 -82 1300 10
已选择14行。
缓冲区只放一条sql语句,且只能是sql语句。
运行缓冲区 /
run
----
start 与 @ 是把指定脚本文本的内容装入sql缓冲区并运行
@D:\s.sql
start D:\s.sql
@不用与路径加空格隔开
但是start要
---
使用save命令来sql缓冲区中的内容保存到指定文件中
SQL> save D:\s.sql
SP2-0110: 无法创建保存文件 "D:\s.sql"
SQL> save E:\s.sql
已创建 file E:\s.sql
get命令会将脚本文件装入缓冲区,但是没有执行
SQL> l
1* select ename from scott.emp
SQL> get E:\s.sql
1* select * from scott.emp
SQL>
按edit编辑缓冲区
list 即是 l 列出缓冲区内容
/或run 运行
n text n是哪一行,text 是你要重写的语句,他会覆盖原有的语句
*号代表当前行,默认操作都是对当前行的,所以要改变当前行就是直接输入数字 n
然后按l
append text 当前行后添加text
你要删除哪一行,就用 del n
当然,你只是想把某一行的几个单词改掉,不用重写,首先改变当前行到你要的那行,change命令;
change /old/new
就可
SQL> change /*/ename
1* select ename from scott.emp
-------------
特别注意退出sqlplus:
、
是错误的
结果发现一闪而过
这样才对
如果你不想让人看到,或者想保密
sqlplus /nolog 注意空格的有无
--
还有就是退出的时候使用 exit 或是quit才是安全的退出方式,否则可能会回滚。
---