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 ;
分页查询
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 ;
相关文章推荐
- oracle基础知识
- oracle基础知识小结
- 【Oracle】Oracle基础知识
- 跟着老白学ORACLE (1) 1月1日 学习一下表的基础知识
- oracle基础知识之rowid学习
- oracle基础知识1
- oracle基础知识2
- oracle lock基础知识(一)
- oracle 存储过程基础知识1
- oracle 物化视图基础知识整理
- ORACLE 有关存储过程的一些基础知识
- Oracle零散基础知识汇总
- oracle备忘录(一)---基础知识
- oracle基础知识-冷备份 热备份
- Oracle优化器的基础知识(一)
- ORACLE字符集基础知识
- oracle 视图基础知识
- Oracle基础知识-Oracle不同的启动关闭方式
- oralce 基础知识 ,oralce 常用简单sql语句,oracle 新手必看之一
- oracle基础知识2----pl/sql基础(基本语法、光标、例外、应用)