-->
5.2 数据定义语言
DDL Data Definition Language基本的DDL子句
alter procedure
alter table
analyze
alter table add constraint
create table
create index
drop index
drop table
grant
revoke
5.2.2 数据类型
char(size) 定长字符
varchar2(size) 变长字符
number(I,d) 数值型 I为总位数据 d为小数位数
blob 二进制大对象
raw(size) 原始二进制数据
date 日期
long 变长字符数据
5.3 describe命令
SQL> desc a
Name Null? Type
----------------------------------------- -------- ----------------------------
COL CHAR(1)
5.4.2 select语句
格式化select语句的输出
coumn <列名>
format <应用的掩码> 指定输入的大小以及使用的掩码
heading '任何字符串' 列标题其中"|"为新行
wrap/trnc 截断/溢出
例:
SQL> column tname format a10 head '表名' wrap
SQL> select * from tab;
表名 TABTYPE CLUSTERID
---------- ------- ----------
A TABLE
NEW_PETS TABLE
PETS TABLE
PETS2 TABLE
TEST TABLE
TEST1 TABLE
TOTAL TABLE
7 rows selected.
下面是溢出的例子
表名 TABTYPE CLUSTERID
----- ------- ----------
A TABLE
NEW_P TABLE
ETS
PETS TABLE
PETS2 TABLE
TEST TABLE
TEST1 TABLE
TOTAL TABLE
7 rows selected.
order by 子句
排序方法
1. 通过使用已标号的位置
2. 使用列名
SQL> select * from tab order by 1 desc,2;
表名 TABTYPE CLUSTERID
------------------------------ ------- ----------
TOTAL TABLE
TEST1 TABLE
TEST TABLE
PETS2 TABLE
PETS TABLE
NEW_PETS TABLE
A TABLE
7 rows selected.
SQL> select * from tab order by tname;
表名 TABTYPE CLUSTERID
------------------------------ ------- ----------
A TABLE
NEW_PETS TABLE
PETS TABLE
PETS2 TABLE
TEST TABLE
TEST1 TABLE
TOTAL TABLE
7 rows selected.
5.4.3 设置sqlplus的环境
Set Pagesize 55
Set Linesize 80
spool 将内容写到文件
SQL> spool tables.txt;
SQL> select * from tab;
表名 TABTYPE CLUSTERID
------------------------------ ------- ----------
A TABLE
NEW_PETS TABLE
PETS TABLE
PETS2 TABLE
TEST TABLE
TEST1 TABLE
TOTAL TABLE
7 rows selected.
SQL> spool off;
如果将命令写到sql文件可以使用
set termout off 关闭终端输出
set termout on 恢得终端输出
show all 显示环境参数
设置页眉和页脚
SQL> btitle "这是页眉";
SQL> ttitle "这是页脚";
SQL> select * from tab;
Mon Feb 05 page 1
这是页脚
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
A TABLE
NEW_PETS TABLE
PETS TABLE
PETS2 TABLE
TEST TABLE
TEST1 TABLE
TOTAL TABLE
这是页眉
7 rows selected.
SQL>
如果设置页眉和页脚的格式可使用repheader repfooter
5.5 表的连接
主键与外键
主键 保证数据惟一性的列
外键 存储在另一个表中的表的主键
使用别名、
select y.state_name, x.lname, x.hiredate, x.salary from newhire x, state y使用子句的断点
where x.xtate_cd = y.state_cd;
break on state_name并以state_name列进行排序则结果中该列重复时使用空白代替
使用选项skip
break on stat_cd skip 1跳一行
5.6.2 在断点处计算列值
compute sum of column_name on table_name对报表进行总计
break on table_name skip 1
compute sum of salary on state_name
compute sum of salary on report
break on report skip 1 on state_name skip 1
[root@supersun oracle初学者指南]#

发表评论