Oracle创建数据表空间,用户,授权,表,索引,簇

// 创建临时表空间(日志文件)
create temporary tablespace test_temp
tempfile 'E:/oracle/test_temp01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
// 创建数据表空间
create tablespace test_data
logging
datafile 'E:/oracle/test_data01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
// 创建用户并指定表空间
create user
用户名 identified by 密码
default tablespace test_data
temporary tablespace test_temp;
// 给用户授予权限
grant connect,resource to 用户名
————————————————————————————————————
create cluster s_t_cluster(tid number(8));-- 创建索引簇
----------------------------------------------------1
--
建立簇表stu
create table stu(
       tid number(8),
       sname varchar2(50),
       sinfo varchar2(50),
       constraint pk_tid primary key(tid)
)cluster s_t_cluster(tid)
--
建立簇表sc
create table sc(
       tid number(8),
       score number(8),
       constraint fk_tid foreign key(tid) references stu(tid)
)cluster s_t_cluster(tid)
------------------------------------------------------2
--
建立簇索引
create index s_t_idx on cluster s_t_cluster;
------------------------------------------------------3
--
插入数据
insert into stu(tid,sname,sinfo)values(1,'haha','usa');
insert into stu(tid,sname,sinfo)values(2,'gaga','Japan');
insert into sc values(1,90);
insert into sc values(2,85);
--
查询
select s.sname,s.sinfo,i.score from stu s,sc i where s.tid=i.tid
--
建立序列
create sequence stu_SEQ
minvalue 1
maxvalue 99999999
start with 3
increment by 1
cache 20;
-- 用命令插入N条数据往表stu
declare
x number;
begin
  for x in 1..100000 loop
    insert into stu values(stu_seq.nextval,'
名字'||x,'地址'||x);
  end loop;
end;
---------------------------------------------
--
用命令插入N条数据往表sc
declare
x number;
begin
  for x in 1..10000 loop
    insert into sc values(sc_seq.nextval,x+50);
  end loop;
end;
---------------------------------------------
--
查询
select s.sname,s.sinfo,i.score from stu s,sc i where s.tid=i.tid--
未加索引时的普通查询太慢了
--
使用索引簇查询
select s.sname,s.sinfo,i.score from stu s,sc i where s.tid=i.tid
————————————————————————————————————————
// 创建表,序列号(sequence)

create table test1(
       tid number(8),
       tname varchar2(50),
       tbd date,
       constraint pk_tid primary key(tid)
)
select * from test1
==============================================================
create sequence test1Seq --
自定义的序列名
increment by 1           --
每次加几个,即递增的间隔
start with 1             --
1开始计数
nomaxvalue               --
不设置最大值
nocycle                  --
一直累加,不循环
cache 10;
==============================================================
insert into test1(tid,tname,tbd)values(test1Seq.Nextval,'ccc',sysdate);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值