设为首页 收藏本站
查看: 890|回复: 0

[经验分享] Oracle的常见数据库对象

[复制链接]

尚未签到

发表于 2016-7-22 11:36:45 | 显示全部楼层 |阅读模式
  
************************table 表************************
------------------------字段类型------------------------
varchar2 变长字串最长4096个字节,多长占多少,效率低
char 固定长度 char 8 存 'abc'也占8个,效率高
number8,3 8位小数点3位
date 年月日时分秒
long最长2g
blob clob
建立学生表,学号、姓名
create table stu
(
id number(6),
name varchar2(20),
sex number(1),
age number(3),
sdate date,
grade number(2) default 1,
class number(4),
email varchar2(50)
);
----------------------------约束条件---------------------
字段级约束条,加在字段后,不能完成组合唯一,比如name和email组合不能重复(这种用表级约束),
表级约束在最后表的最后一个字段后加入,例如 constaint stu_name_emil_nui unique(email,name)
约束条件也是个对象可以给他起名字 关键字constraint 如 name varchar2(20) constraint stu_name_nn not null。
五个约束条件
1.非空 not nll,
2.唯一 unique 不能往这个字段插入重复值(字段级)如email varchar2(50) unique,
  表级约束在最后表的最后一个字段后加入,例如 constraint stu_name_emil _nui unique(email,name),
3.主键 primary key可以唯一标示整条记录的东西 非空 唯一,例如字段级id number(6) primary key,
     也可以表级,constraint stu_name_emil_pk primary (id),
4.外键 references 可以加在本表的2个字段,也可以加在2个表的字段上,被参考的字段必须是主键
      例如 class number(4) references class(id),
      表级constraint stu_class_fk foreign key class (id) references class(id)
5.check。  
  create table stu
(
id number(6),
name varchar2(20) constraint stu_name_nn not null,
sex number(1),
age number(3),
sdate date,
grade number(2) default 1,
class number(4) ,
email varchar2(50) ,
constraint stu_class_fk foreign key (class) references class(id),
constraint stu_id_pk primary key(id),
constraint stu_name_emil_nui unique(email,name)
);  
  create table class
(
  id number(4) ,
  ------------------------ALTER TABLE更改表结构-----------------------
增加字段
alter table stu add(addr varchar2(100));
修改
alter table stu modify(addr varchar2(50));
删除字段
alter table stu drop(addr);
去掉约束条件
alter table stu drop constraint stu_class_fk;
修改约束条件
先删掉约束,再加进来。
alter table stu add constraint stu_class_fk foreign key (class) references class(id);
  *************************Oracle的数据字典表***********************  
  oracle 中把当前用户有哪些表,视图, 约束放到一个表中。一般称其为数据字典表。
比如user_tables,user_views;user_constraints
select table_name from user_tables;
------------------user_tables---------------
TABLE_NAME
DEPT
EMP
BONUS
SALGRADE
EMP2
DEPT2
SALGRADE2
CLASS
STU  
  数据字典表的信息储存在数据字典表的字典表dictionary;
desc dictionary
名称     是否为空?     类型
TABLE_NAME           VARCHAR2(30)
COMMENTS           VARCHAR2(4000)
  *************************Oracle的索引index***********************
索引的用处,是访问数据时读效率高,修改反而慢了。  
  create index idx_stu_email on stu(email);  
  drop index idx_stu_email;
******************************视图view******************************
视图就是个子查询,以v$开头,用来简化查询,保护数据,但增加了维护代价。视图可以用来更新数据,但很少用到,因为可能同时更新很多表
create view v$_stu as select id,name,age from stu;  
  *****************************序列 sequence**************************
Oracle特有的用于产生唯一的不间断一组数字序列。
create table artile
(
id number,
title varchar2(1024),
cont long
);  
  create sequence seq;
insert into artile values(sql.nextval,'a','b');

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-247856-1-1.html 上篇帖子: Delete Duplicate Rows From an Oracle Table 下篇帖子: Hibernate保存Oracle大对象blob
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表