1、连接 在unix中启动SQL*PLUS的命令如下: $sqlplus 启动后系统会出现提示输入用户名,密码的提示符,按要求输入即可进入,如 enter user-name:username@service_name enter password:password 注意:输入username时要输入username和数据数据库的servicename,其格式如下: username@service_name 可采取如下方法进行一次输入: $sqlplus username/password@service_name 如果是在服务端操作, 则后面的service_name可不用输入。如下: $sqlplus username/password 成功连接后:系统会显示: SQL*Plus: Release 8.1.6.0.0 - Production on Mon Aug 20 16:53:48 2001 (c) Copyright 1999 Oracle Corporation. Connected to: Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production With the Partitioning option JServer Release 8.1.6.0.0 – Production SQL> 然后在SQL>提示符下就可以进行你要进行的操作了。 2、基本操作 SQL*PLUS中的SQL语句执行方式如下: 以分号”;”或反斜杠”/”结束,回车即可运行。 Oracle的SQL语句是不分大小写的,但是习惯上把系统已有的字段大写,把用户输入或定义的,如表名,字段名等小写。 下面是一些常用的查询语句。 查看表的结构 SQL>describe table_name; 可以简写为 SQL>desc table_name; 显示当前用户所拥有的表名 SQL>select table_name from user_tables; 显示当前用户所拥有的视图 SQL>select view_name from user_views; 显示当前用户所拥有的对象名以及类型 SQL>select object_name, object_type from user_objects; 显示当前的系统日期 SQL>select sysdate from dual; 将上一个SQL语句存入文件中 SQL>save path/file_name 将一个文件中的SQL语句(只能有一句)读入缓冲 SQL>get path/file_name; 3、报表 将当前输出的内容写到一个文件中, SQL>spool path/file_name SQL>select table_name from user_tables; SQL>select object_name, object_type from user_objects; SQL>spool off 则以上粗体的三条语句所输出的内容都会输出到文件file_name.lst中,SQL*PLUS还可以输出报表标题,页眉,页脚,规定格式,增加主题等,加上上面写入文件的操作,就可以用SQL*PLUS快速生成报表。下面对这些命令做简要介绍。如果想看详细的用法,请在SQL*PLUS中用 help+主题进行查看。 COLUMN 用COLUMN命令可以改变标标题,设置列宽,设置列的显示格式,添加页码等。 用TITLE命令可以为报表设置页眉,添加页码等。 用BTITLE命令可以为报表设置页脚。 以上命令配合灵活的查询,可以做出灵活多变的报表格式。如果再加上下面讲的写脚本和替代变量,可以完全用SQL*PLUS写出各种可以满足用户多变要求的报表来。 4、数据库管理 SQL*PLUS除基本用户数据操作之外,还可能进行数据库的管理操作,8i版本以后的SQL*PLUS可以完全替代Server Manager。 连接方法和一般用户的连接方法略有不同,方法如下。 $sqlplus /nolog SQL>connect internal 之后就可以进行数据库维护等操作了。其操作命令和Server Manager中的一样。如 SQL>startup SQL>shutdown immediate 5、脚本 SQL>@home/demo/test.sql 另一种是不进入sqlplus中进行的,如 $sqlplus username/password[@service] @script_file 6、替代变量 替代变量能帮助用户写出容易使用和更加灵活的查询。例如,用户可以写出一个脚本生成一个报表,并且这个脚本提示用户每一次去年它时应该选择的标准。 Oracle用”&”号定义一个替代变量,跟在它后面的单词就是一个替代变量名,当有包含&号的SQL语句执行后,系统会提示用户输入变量名,如下: SQL> select * from test001 where name='&name'; Enter value for name: conqueror.liu old new NAME --------------------- -------------------- ----- conqueror.liu 用替代变量可以编写出有交互功能的脚本程序和查询语句。 |
|