Oracle数据库系列- SQL Plus SQL操作命令
Oracle数据库的连接方式有很多中,你可以采用PL/SQL,Oracle SQL Developer 这样的工具进行数据库连接。
但是如果你更倾向于命令行的话,也可以用sqlplus(Oracle数据库自带的命令行工具)进行数据库SQL操作, sql plus
本身就十分强大,几乎可以完成数据库操作的所有功能。
连接数据库
执行 “开始” –> “程序” –>” Oracle - OracleDb11_home1” –> “SQL Plus 命令”, 输入用户名和密码进行登录
在命令行中执行sqlplus命令进行连接
语法: sqlplus [user_name [ /password] [ @connect_identifier ] ] [AS { SYSOPER | SYSDBA | SYSASM } / NOLOG ];
//以scott用户登录orcl数据库
sqlplus scott/tiger @orcl;
- CONNECT连接数据库
语法:CONN[ECT] [{user_name [/password] [ @connect_identifier ] } AS {SYSOPER | SYSDBA | SYSOPERASM } ] ]
//以scott用户登录orcl数据库;
CONNECT scott/tiger @orcl;
-
DISCONNECT
退出数据库
DISCONNECT;
- 退出sqlplus
//退出sqlplus
EXIT;
//或者
QUIT;
SAVE 命令
SQL plus命令用于将缓存区内容保存到文件
命令语法如下:
SAV[E] [FILE] file_name [CRE[ATE] | REP[LACE] | APP[END]]将当前缓存区中的SQL命令保存到文件scott_emp_query.sql文件中
SAVE scott_emp_query.sql
文件保存在当前系统路径下
将当前缓存区中的SQL命令追加到文件scott_emp_query.sql文件中,如果该文件不存在,就创建该文件。
SAVE scott_emp_query.sql APPEND;
将当前缓存区中的SQL命令替换文件scott_emp_query.sql文件中的内容,如果该文件不存在,就创建该文件。
SAVE scott_emp_query.sql REPLACE;
SAVE scott_emp_query.sql CREATE; //创建一个scott_emp_query.sql文件并将当前缓存区中的SQL命令保存到该文件中
GET 命令
GET命令将文件中的SQL命令读取到缓存区内
语法:
GET [ FILE ] file_name [LIST | NOLIST]将scott_emp_query.sql文件中的命令读取到缓存中并且输出显示这些内容,默认读取当前系统路径下的文件。
GET scott_emp_query.sql List;
GET scott_emp_query.sql NOLIST; //读取文件中的内容到缓存区内但是不显示输出这些内容
START 命令
START 命令可以读取文件中的内容到缓存区内,并运行着这些内容
语法: STA[RT] (url | file_name)
将scott_emp_query.sql文件中的内容读取到缓存区中并运行。(默认读取当前系统路径下的文件)
START scott_emp_query.sql;
或者
@scott_emp_query.sql
读取url文件并运行
START http://host.domain/script.sql
或者
@http://host.domain/script.sql
EDIT 命令
EDIT 命令可以将缓存区的内容复制到一个名为afiedt.buf的文件中,然后启动操作系统中默认的编辑器打开这个文件,并且对这个文件进行编辑。
语法: ED[IT] (file_name)
打开一个记事本文件afiedt.buf,在该文件中显示缓存区中的内容,文件内容以斜杠(/)结束。
EDIT;
对上述记事本中的内容可以进行编辑,在退出记事本时,所编辑的文件将被复制到缓存区内。
SPOOL 命令
SPOOL 命令将命令行中的输出结果复制到一个指定的文件中。
语法: SPO[OL] [file_name [ CRE[ATE] | REP[LACE] | APP[END] | OFF | OUT ]
指定文件scott_emp_outcome.txt 为结果输出文件,如果指定文件已经存在,则向该文件追加输出结果内容
SPOOL scott_emp_coutcome.txt APPEND;
指定文件scott_emp_outcome.txt 为结果输出文件,如果指定文件已经存在,则替换该文件中的内容。
SPOOL scott_emp_outcome.txt REPLACE;
创建文件scott_emp_outcome.txt 为结果输出文件,
SPOOL scott_emp_outcome.txt CREATE;
停止将输出结果复制到scott_emp_outcome.txt 文件中,并关闭该文件;
SPOOL OFF;
SPOOL OUT 则是启动该功能,将输出结果复制到scott_emp_out.txt文件中去;
指定scott_emp_outcome.txt 为结果输出文件,并将当前的缓存区中的执行结果存入scott_emp_outcome.txt文件中。
SELECT empno, job, mgr , sal
FROM scott.emp
where empno > 7800
and empno < 7900;
SPOOL scott_emp_outcome.txt;
/;
SPOOL OFF;