oracle基础知识四

Oracle
 
 分页查询
 alter
 DML  事务

 index
 sequence
 view

 mysql使用

sql
 基本查询

 限定查询

 关联查询

  内连接
  外连接
   left outer join  ... on ...
   right outer join .... on ...
  自连接
 子查询
  select....(单行结果)
  from.....(将子查询看做一张临时表)
  where ...(作为判定条件, in   =)

 函数:
  单行函数
  组函数(多行函数)
数据建模的流程(5)

数据库建表 3大范式
 1NF 
 2NF 
 3NF


分页查询:
select rownum,a.*
from (
 select first_name,salary
  from s_emp
  order by salary
)a
where rownum>=1

rownum:伪列,oracle数据库会为每一条查询结果分配一个序列号
 永远都是从1开始  依次递增,没有间隔, 
 不允许直接使用  伪列大于某个值操作
-------------分页查询
select *
from (
 select rownum rn,first_name,salary
  from s_emp
) a
where a.rn between 5 and 10

动态绑定参数
 在参数前  加以个&符号,编译sql时就会将 这个参数看成一个占位符,等待用户输入

select first_name,dept_id from s_emp where dept_id = &did;

-----------sql  分支控制语句----------

select avg(salary),dept_id
 from s_emp
 group by dept_id
 order by avg(salary);


将33 部门工资消减2成,43工资提高3成,44部门工资提高2成,其他工资不做调整


select first_name,dept_id,salary "调整前",
 case
  when dept_id=33 then salary * (1-0.2)
  when dept_id=43 then salary*(1+0.3)
  when dept_id=44 then salary*1.2
  else salary
 end "调整后"
from s_emp;

 


-------------DML----------------

增加
insert into tableName[(cols....)]
 values(......)

insert into h_student
 values(2,'abc');

insert into h_student(name,id)
 values('abc',3);


删除,修改


事务:一个数据库操作流程中的不同操作,一起完成,一起失败

set savepoint


使用子查询进行输入 insert
create table h_st(
 id number,
 name varchar2(20)
)

insert into h_st
select *
 from h_student;

update h_st
 set name ='891'
 where id = 2;


事务的同步操作:
oracle数据库中 在同一时间内只允许一个事务对同一张表或者同一条记录进行操作


读未提交

不可重复读

脏读

幻影读

 

delete 删除数据
delete from tableName     删除表的所有记录

delete from tableName where  ...按指定条件删除数据表中记录


delete from h_st;

rollback;  事务回滚操作,将未提交的事务回滚到  修改之前的状态
-------------------------------------------
insert into h_st values(1,'abc');
insert into h_st values(1,'abc');
savepoint a;
insert into h_st values(1,'abc');
insert into h_st values(1,'abc');
insert into h_st values(1,'abc');
insert into h_st values(1,'abc');
savepoint b;
insert into h_st values(1,'abc');
insert into h_st values(1,'abc');
rollback to a;-----回滚到指定事务保存点


修改表结构

为一张表添加新的列进去
alter table h_st
 add (addrs varchar2(200) default 'KunSanAnmBow',.....
 );

删除列:
alter table h_st
 drop (addrs,....);
修改列:
alter table h_st
 modify (id varchar2(5) not null );

desc user_constraints;--数据库字典表

select constraint_name,table_name
 from user_constraints
 where table_name = 'H_ST';

SYS_CXXXX

添加约束:
alter table h_st
 add constraint hstpk primary key (id);
 
删除约束:  当删除主键约束时,如果有其他表的外键关联,就不允许删除
alter table h_st
 drop constraint hstpk ;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值