笛卡尔积、数据库连接、索引、创建表、添加约束

笛卡尔积 cross join

数据库连接

等值连接
自然连接 natural join
自动为我们把同名字段|主外键关系字段做等值连接
同名字段不能使用限定词

join…using(制定等值连接字段名)
同名字段不能使用限定词

-等值|非等值连接
表1 join 表2 on 连接条件
select e.deptno from emp e inner join dept d on e.deptno=d.deptno;

内连接 (inner) join
外连接
左连接 left join … on
右链接 right join … on

试图
是一个虚拟表,介于表和结果集之间授权,使用完毕以后回收权限
如果没有权限,登录sys管理员身份进行
create or replace view 视图名 as select语句 [with read only];

索引

是数据库的对象之一,需要维护的
可以帮助我们提高查询效率
到底没有添加索引,对于数据库中的表的使用完全没有影响,索引是透明的
大量的数据的频繁查询是有效,提高查询效率,如果大量做增删改,反而会降低效率
字典的目录
oracle会自动为表的主键添加索引
创建索引
create index 索引名 on表名 (字段列表…)

删除索引
drop index 索引名

创建表

create table 表名(
字段名 类型 (约束),
字段名…
–);
–注意:表中的字段添加校验要求等等 1)直接加在表结构中,约束 2)在java代码中进行校验

create table tb_user(
userid number(5),
username varchar2(15), --可变长字符串 ()默认指字节数 如果想要表示字符数 3 char
userpwd varchar2(5 char), --()中的数字 如果想要表示字符数 3 char->3个字符
age number(3,1), --精确匹配3位数字,其中一位是小数
gender char(3), --定长字符串 ()中的数字 如果想要表示字符数 3 char->3个字符
email varchar2(30),
tegtime date
);

添加约束

学生表 从表|子表 **
添加约束1 字段后直接添加约束 没有约束名字,比较简单,但是不便于后期维护 **
添加约束2 字段后直接添加约束并指定约束名字 便于后期维护,不满足约束条件的时候会提示约束名字
添加约束3 字段后,创建表结构结束前添加约束,制定约束名字
添加约束4 床架表结构结束后追加约束

添加约束3 on delete set null 删除主表数据的同时为从表中引用的那些数据的外键字段值设置为null| on delete cascade 删除主表数据的同时也删除掉从表中引用的那些数据| 不写 默认先删除从表引用了主表要删除数据的那些从表数据,再删除主表数据

追加约束4: add constraint
alter table sxt_student add constraint haha unique(sqq);

–加入注释
comment on table sxt_student is ‘学生表’;
comment on column sxt_student.sid is ‘学生编号’;

拷贝数据

根据已有的表进行拷贝
–只拷贝表结构,不拷贝原表中的数据
–create table 表名 as select 字段列表 from 已有表 where 1!=1;
–拷贝表结构+数据
–create table 表名 as select 字段列表 from 已有表 where 1!=1;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值