首页 / ORACLE / oracle学习总结3
oracle学习总结3
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了oracle学习总结3,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2033字,纯文字阅读大概需要3分钟。
内容图文
![oracle学习总结3](/upload/InfoBanner/zyjiaocheng/1093/9a492dbd445047d69501683e970a8be5.jpg)
1:ddl语句
创建一张学生表
create table stu(
id number(6) not null,
name varchar2(20),
age number(3),
gender char(1) default ‘m‘,
grade number(1),
class varchar2(20) constraint stu_class_fk foreign key references class(id),
email varchar2(50)
);
create table class(
id number(4),
name varchar2(30),
constraint class_id_pk primary key(id)
);
default ‘m‘ 该字段默认是m,如果insert语句没有向该字段插入值,那么默认是m
2:约束类型五种:
not null 非空约束,就是在向表中插入数据时,必须给值。
unique 唯一性约束,插入数据时,该字段的值不能够重复
主键 primary key:非空约束,唯一性约束,逻辑上面有意义。
外键 foreign key:参考另外一张表的某个字段(该字段必须是主键),插入数据时,必须在被参考字段数据范围内。
如果被参考字段数据不存在,则插不进去。
被参考字段所在的表不能别删除,在参考表没有被删除前。
check
注:主键概念:能够唯一表示一行记录的字段
3:表级约束和字段级约束
字段级约束,只能作用于一个字段:
create table stu(
id number(6) constraint stu_id_uni unique, --给id字段唯一性约束
name varchar2(20)
);
表级约束,如果是两个字段组合约束:
create table stu(
id number(6),
name varchar2(20),
email varchar2(50),
constraint stu_uni unique(name,email) --给name和email这两个字段组合加约束
);
4:修改表结构 alter
--向表中添加一个字段
alter table stu add (addr varchar2(20));
--修改表中的字段
alter table stu modify (addr varchar2(50));
--删除表中的字段
alter table stu drop (addr);
5:修改表中的约束 constraint
alter table stu drop constraint stu_class_fk; --删除表中的外键约束
alter table stu add constraint stu_class_fk foreign key(class) references class(id);
6:修改表的名字
rename old_name to new_name;
7:oracle,数据字典表,当前用户下的所有表都在dictionary中
select * from dictionary;
只有两个字段:table_name comments
--用户表user_tables,该用户下所有的表都在这个表中
--用户视图user_view
--用户索引user_indexes
--用户约束user_constraint
8:创建索引index
索引可以提高查询效率,但是插入数据时效率降低,因为在插入数据的同时还要插入索引表
在给字段设置主键或者唯一性约束时,索引会自动创建。
create index idx_stu_id on stu(id); --创建索引
drop index idx_stu_id; --删除索引
缺点:
1:不轻易建索引,建大量索引会占用表空间。
2:降低修改数据的效率,插入数据时还要插入索引表。
9:视图view 虚表
概念:就是一张虚表,一条select语句、
create view v$_stu as select * from stu; --创建一张视图
drop view v$_stu; --删除一张视图
优点:
1:方便查询,简化查询。
2:保护表中相关数据不被查看,保护隐私。
不足:
维护成本升高,如果修改原来的表结构,那么视图中的数据也要做相应的修改。
修改视图中的数据,实际上修改的就是原表中的数据。
10:序列
create sequence seq1;
insert into stu values(seq1.nextval,‘‘,‘‘);--插入索引,一般给主键添加值
create sequence seq2 start with 1 increment by 1; --从1开始,步长为1
mysql:auto increment;
原文:http://www.cnblogs.com/warrior4236/p/5380809.html
内容总结
以上是互联网集市为您收集整理的oracle学习总结3全部内容,希望文章能够帮你解决oracle学习总结3所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。