ORACLE学习笔记3

表及完整性定义
1. 创建表
语法: create table scott.temp(
empon number(5) primary key, --主键
ename varchar2(15) nou null, --非空
job varchar2(20),
mrg number(5),
hireDate date default sysdate, --缺省命令
Sal number(7,2) check(sal>100), --约束条件
Comm number(3) default 0.0,
dept number constraint , --列约束
dept_fkey references scott.yrmp --外键关联
)
Tablespace users --指定其表空间 如果不指定,那么就使用缺省的表空间 SYSTEM
PCTFREE 10 --用与数据块更新的百分比,在1-99之间 假设为0,那么需要在该数据库满了之后才使用新的数据块。
PCTUSED 70 --表示数据块保留空间的最小百分比,在1-99之间。默认是40 PCTFREE && PCTUSED决定了在添加数据时,是放入新数据块,还是旧数据块。
INITRANS 1 --指定一个数据块中分配的数据库事务的入口 缺省情况是1
MAXTRANS 255 --表数据块最大的事务并发数,一般不修改
STORAGE(
INITIAL 50k --表的初始化大小
NEXT 50k --下一次扩展的大小
MINEXTENTS 1 --最小分配次数
MAXEXTENTS 10 --最大分配次数 这里我们可以设置为unlimited
PCTINCREASE 10 --增长百分比
);

comment on table scott.temp is '测试表' --为表添加注释
comment on column scott.job is '工作' --为列添加注释

2. 修改表结构
alter table ep_message
ADD pp number(3); --添加列
DROP COLUMN pp --删除列
MODIFY
DROP CONSTRAINT constraint
3. 创建一个不需要修复的表
create table test as select * from ep_message unrecoverables;
create table test as select * from ep_message nologging; --建议使用一下两种
create table test as select * from ep_message logging;
4.删除表
drop table table_name cascade constraint
加上cascade constraint 表示所有指向本表的主键,外键被删除。
5. 主键与唯一索引的区别
唯一索引用create unique index 建立,在数据字典中建立唯一的索引名字,用于表示表中某一行的关键字
主键使用primary key 来创建,在数据字典中建立唯一的索引名字,用与表示表中某一行的关键字
6. 修改ORACLE用户的密码
在10g以后用默认用户名密码scott/tiger/orcl登陆创建新用户:

create user test1 identified by test1;
grant connect,resource to test1;

主键外键等的建立和删除:
alter table con_productinfohead
drop constraint PK_PROD
alter table con_productinfohead
add constraint PK_PROD_CONTENTID_STATUS primary key(contentid,STATUS)

用test1登陆:

sqlplus test1/test1

首先用管理员的帐户登录(要有修改用户的权限)system

alter user ccp identified by outletccp; (sys是用户名,123是密码)

如果用sys登录:

connect sys/oralce as sysdba;

用system登录:

connect system/oracle;

7.表的权限设置
建立表空间 create tablespace srs datafile '/data/ora_data/ivas/ivas_data/srs_01.dbf' size 3000m autoextend on next 128m maxsize 30000m ;
临时表空间 create tablespace srs_idx datafile '/data/ora_data/ivas/ivas_data/srs_idx_01.dbf' size 512m autoextend on next 128m maxsize 5120m ;
建立用户 create user srs identified by srs default tablespace srs Temporary tablespace temp_ivas ;
给用户赋权限 grant select any sequence, connect, resource, select any table to srs; 给srs用户访问sequencce 等权限
把表的访问权限赋给其他用户 grant select,delete,update,insert on srs.USER_COUNT_TEMP to sp;
给用户赋存储过程的权限 GRANT EXECUTE ANY PROCEDURE TO SSO
给视图赋权限和表相同;


存在 xzm_test m表 xzy_test y表 两表
右连接就是 对M和Y两表进行匹配,但是对于M表不能匹配上的数据也列出来
也就是说列出M表的所有数据,不能匹配上的就是空NULL表示

select m.name,m.age,y.name,y.age from xzm_test m,xzy_test y where m.age=y.age(+);


NAME AGE NAME AGE
---------- ---------- ---------- ----------
xzy 23
xzm1 25 xzm2 25
xzm2 26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值