您的位置:首页 > 数据库 > Oracle

oracle基础知识四

2012-10-10 22:00 302 查看
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 ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: