-->
DDL数据定义语言:一套定义或删除数库对象(如表、视图)的SQL语句。
基本的DDL子句有:
alter procedure 编辑存储过程。
alter table 增加表列、重定义表列、更改给定表存储区分配。
analyze 收集数据库对象的性能统计资料并送往基本的优化器。
alter table add constraint 在已有的表上增加约束。
create table 创建表。
create index 创建索引。
drop index 删除索引。
drop table 删除表。
grant 将权限和角色授予用户或角色。
revoke 从用户或数据库角色处收回角色。
建表和删除表:
SQL> create table a (cola char(1));
Table created.
SQL> drop table a;
Table dropped.
SQL> create table newhire (
2 lname varchar2(30),
3 state_cd varchar(2),
4 hiredate date,
5 salary number(8,2));
Table created.
SQL> desc newhire
Name Null? Type
----------------------------------------- -------- ----------------------------
LNAME VARCHAR2(30)
STATE_CD VARCHAR2(2)
HIREDATE DATE
SALARY NUMBER(8,2)
在建表的过程中需要指定列的数据类型,普通的oracle数据类型有:
char(size) 存放定字符数据;
varchar(size) 存放变长字符数据;
number(I,d) 存放数值型数据,I代表总位数,d代表小数位数;
blob 二进制大对象;
raw(size) 原始二进制数据;
date 存放日期;
long 存放变长字符数据。
DML数据操纵语句:包括以select、insert、update、delete开始的SQL语句。
下面是插入数据的例子:
SQL> insert into newhire values ('corey','MA','01-Jan-01','20000');
1 row created.
SQL> insert into state (state_cd,state_name) values ('MA','Massachusetts');
1 row created.
select语句用于检索数据:
SQL> select * from newhire;
LNAME ST HIREDATE SALARY
------------------------------ -- --------- ----------
corey MA 01-JAN-01 20000
calisi NJ 10-JUN-01 30000
select语句由五个部分组成:
select(必须) 给出检索的列;
from(必须) 给出数据的出处(一个或多个oracle表的名称);
where(可选) 设定条件;
group by(可选) 汇总数据;
order by(可选) 排序数据。
检索出数据必将涉及到格式化输出,sqlplus使用column语句来对select语句进行格式化输出。column命令由个四个部分组成:
column <列名> 指定要格式化的列;
format <应用的掩码> 指定输入的大小及使用的掩码;
heading '标题' 指定列标题;
wrap/trunc 指定处理溢出的方式:trunc 截断,wrap 溢出。
SQL> column lname format a10 ;
SQL> select * from newhire;
LNAME ST HIREDATE SALARY
---------- -- --------- ----------
corey MA 01-JAN-01 20000
calisi NJ 10-JUN-01 30000
下面示例标题的设定和溢出的处理。
SQL> column hiredate format a5 heading 'DATE' wrap;
SQL> select * from newhire;
LNAME ST DATE SALARY
---------- -- ----- ----------
corey MA 01-JA 20000
N-01
calisi NJ 10-JU 30000
N-01
SQL> column hiredate format a5 heading 'DATE' trunc;
SQL> select * from newhire;
LNAME ST DATE SALARY
---------- -- ----- ----------
corey MA 01-JA 20000
calisi NJ 10-JU 30000
下面是关于普通的格式掩码的定义:
format A10 trunc A右侧数据决定显示的宽度;
--未完待续--
Table created.
SQL> drop table a;
Table dropped.
SQL> create table newhire (
2 lname varchar2(30),
3 state_cd varchar(2),
4 hiredate date,
5 salary number(8,2));
Table created.
SQL> desc newhire
Name Null? Type
----------------------------------------- -------- ----------------------------
LNAME VARCHAR2(30)
STATE_CD VARCHAR2(2)
HIREDATE DATE
SALARY NUMBER(8,2)
在建表的过程中需要指定列的数据类型,普通的oracle数据类型有:
char(size) 存放定字符数据;
varchar(size) 存放变长字符数据;
number(I,d) 存放数值型数据,I代表总位数,d代表小数位数;
blob 二进制大对象;
raw(size) 原始二进制数据;
date 存放日期;
long 存放变长字符数据。
DML数据操纵语句:包括以select、insert、update、delete开始的SQL语句。
下面是插入数据的例子:
SQL> insert into newhire values ('corey','MA','01-Jan-01','20000');
1 row created.
SQL> insert into state (state_cd,state_name) values ('MA','Massachusetts');
1 row created.
select语句用于检索数据:
SQL> select * from newhire;
LNAME ST HIREDATE SALARY
------------------------------ -- --------- ----------
corey MA 01-JAN-01 20000
calisi NJ 10-JUN-01 30000
select语句由五个部分组成:
select(必须) 给出检索的列;
from(必须) 给出数据的出处(一个或多个oracle表的名称);
where(可选) 设定条件;
group by(可选) 汇总数据;
order by(可选) 排序数据。
检索出数据必将涉及到格式化输出,sqlplus使用column语句来对select语句进行格式化输出。column命令由个四个部分组成:
column <列名> 指定要格式化的列;
format <应用的掩码> 指定输入的大小及使用的掩码;
heading '标题' 指定列标题;
wrap/trunc 指定处理溢出的方式:trunc 截断,wrap 溢出。
SQL> column lname format a10 ;
SQL> select * from newhire;
LNAME ST HIREDATE SALARY
---------- -- --------- ----------
corey MA 01-JAN-01 20000
calisi NJ 10-JUN-01 30000
下面示例标题的设定和溢出的处理。
SQL> column hiredate format a5 heading 'DATE' wrap;
SQL> select * from newhire;
LNAME ST DATE SALARY
---------- -- ----- ----------
corey MA 01-JA 20000
N-01
calisi NJ 10-JU 30000
N-01
SQL> column hiredate format a5 heading 'DATE' trunc;
SQL> select * from newhire;
LNAME ST DATE SALARY
---------- -- ----- ----------
corey MA 01-JA 20000
calisi NJ 10-JU 30000
下面是关于普通的格式掩码的定义:
format A10 trunc A右侧数据决定显示的宽度;
--未完待续--

supersun,我也已经做好你的链接了,烦请你把我的链接名称改为:Sino竞博客
做一个链接,交一个朋友:)
不错
很有用
我以前想用oracle编一个小东西
但对它不熟悉,只好用sql了,我要好好研究一下了。
欢迎交换连接,贵站连接已经做好!
和意博客 http://heyi.name
Welcome to link!
Sino竞博客:
不好意思啊,呵呵,链接名称已经替你改过来了!
Heyi:
你的链接我也做好了!
大家多来往,呵呵!
To yang:加油啊,我也刚学不久,呵呵!