日期:2014-05-16  浏览次数:20601 次

《Oracle Database 11g SQL 开发指南》学习笔记——第三章_使用SQL*PLUS

1、在unix下使用sqlplus启动Oracle数据库:sqlplus /nolog——>connection /as sysdba——>  start up ——> lsnrctl start(开启监听器)  ——>  tnsping [oradb](看是否ping的通)
2、从命令行启动:sqlplus [user_name[/password[@ host_string]]]
3、连接数据库: connect 用户/口令@连接字
 查询当前用户, 例:SQL>show user     查询当前用户的表, 例: SQL>SELECT * FROM tab;     查询最近一条SQL语句并重新执行, 例:SQL>L SQL>/      修改最后一条SQL语句, 例:SQL>edit       设置行的宽度,  例:SQL>SET LINESIZE 200  退出用EXIT
3.1、查看表结构:DESC[RIBE];[]内为可选部分
3.2、编辑SQL语句:A[PPEND] text:将text附加到当前行之后;   C[HANGE] /old/new:将当前行的old替换为new;   CL[EAR] BUFF[ER]:清除缓冲区中所有行;   DEL:删除当前行;   DEL x:删除第x行;   L[IST]:列出缓冲区中所有行;   L[IST] x; R[UN]或/:运行当前行;    x:将第x行作为当前行。
3.3、保存、检索并运行文件:  SAV[E] filename [{REPLACE|APPEND}]:REPLACE表示覆盖原文件;   GET filename:将指定文件读入缓冲区;   STA[RT] filename或者@ filename:将filename指定文件读入缓冲区然后执行;   ED[IT]:编辑缓冲区;ED[IT] filename:可以指定要编辑的文件;    SPO[OL] filename:将输出结果复制到filename指定的文件中;  SPO[OL] OFF:停止复制并关闭文件。
3.4、格式化列:COL[UMN] { column | alias} [options];alias是指要格式化的列的别名。
   FOR[MAT] format;其中format包含字符可用Ax指定字符串宽度为x;  HEA[DING] heading:将列或者别名中的标题文本设置为heading字符串指定格式;JUS[TIFY] [{LEFT |CENTER |RIGHT}]:设置输出格式为左对齐、居中、右对齐;WRA[PPED]:在输出结果中将一个字符串的末尾换行显示,可能导致单个单词跨越多行;WOR[D_WRAPPED]:与前类似,但是单词不会跨行。CLE[AR]:清除格式;如:COLUMN id CLEAR。
3.5、设置页面大小:SET PAGESIZE 100;最大50000.设置行大小:SET LINESIZE 50;最大32767.
3.6、使用变量:可以使用&定义临时变量;SET VERIFY OFF :禁止显示原行和新行;修改变量定义符:SET DIFINE '#';可以使用变量替换表名和列名;使用&&可以避免重复输入一个变量。
3.7、已定义变量: 使用DEFINE命令定义并查看变量 例:DEFINE X_VAR = 7; 查看:DEFINE X_VAR;  单独使用DEFINE可以查看当前会话的所有变量。已定义变量可以指定一个元素,比如说SQL语句中的一个列值。
3.8、使用ACCEPT命令:ACCEPT命令用于等待用户为变量输入一个值。它既可以将现有变量设置为一个新值,也可以定义新变量并初始化,还允许为变量指定数据类型。语法为: ACCEPT variable_name [type] [FORMAT format] [POMPT prompt] [ HIDE]其中prompt是指定SQLPLUS所显示的提示文本,提示用户输入变量的值。--------使用UNDEFINE 删除变量。
3.9、创建简单报表:SET ECHO OFF:禁止显示脚本中的SQL语句和命令。SET VERIFY OFF :禁止显示验证消息。执行脚本可以传递变量:如:@ c:\sql_book\SQL\report.sql  3  4;传递了两个参数。如果保存脚本的目录中有空格需要用双引号引起来。
3.10、添加页眉页脚:TTITLE 和BTITLE可以向报表中添加页眉和页脚
 TTITLE LEFT 'Run date' _DATE CENTER 'Run by the ' SQL.UDER 'user RIGHT 'page: ' FORMAT 999 SQL.PNO SKIP 2
3.11、计算小计:BREAK ON 和COMPUTER命令可以结合使用,为列添加小计。如:BREAK ON product_id COMPUTER SUM OF price ON product_id
3.12、从SQLPLUS获取帮助:用HELP命令 ;HELP INDEX ;
3.13、自动生成SQL语句:例如:select 'DROP TABLE' || table_name || '; ' from user_tables;会生成很多drop table命令。
3.14、DISCONNECT断开数据库连接并保持SQLPLUS运行, CONNECT重新连接, EXIT退出。
更多关于SQL*PLUS信息,参阅Oracle出版的SQL*PLUS User's Guide and Referenc