Oracle数据库进阶部分

**

Oracle的增删改查

**

Oracle中的事物需要手动commit提交

为person表新增一条数据
insert into person value(1,“cgx”)

修改person表里的一条数据
update person set pname = ‘zbz’ where pid =1;
commit;

删除person表中的一条数据
delete from person where pid = 1;
commit;

**

修改表列的属性

**
给person表增加性别列,类型为number(1)
alter table person add sex number(1);

修改person表sex类型为char(1)
alter table person modify sex char(1)

修改person表sex列为gender
alter table person rename column sex to gender;

删除person标的gender列
alter table person drop column gender;

删除person表中的数据
delete from person where 1=1;
commit;

摧毁person表(truncate table 表名)
truncate table person;

**

表约束

**
创建person表,pid为主键,pname,gender (主键约束primary key)
–primary key方式
create table person(
pid number primary key,
pname varchar(255),
gender number
)
insert into person values(1,‘hhh’,1);
commit;

–constraint 主键名 primary key(字段),方式
create table person (
pin number;
pname varchar(255),
gender number
constraint PK_PID primary key(pid)
)

创建person表,pname非空,gender(非空约束not null)
create table person(
pid number,
pname varchar(255) not null,
gender number
)

创建person表,pid,pname是唯一,gender(唯一约束unique)
create table person(
pin number,
pname varchar(255) nuique,
gender number
)

**

Oracle视图

**
视图就是一张虚拟表,本身不存放数据,数据来源于原始表创建 create [or replace] view 视图名 as sql 查询语句

创建视图
create or replace view emp_view as select * from emp;

查询视图
select * from emp_view

修改视图中7369的名字为‘simth’
update emp_view set ename = ‘simth’ where empno = 7369;
commit;

删除视图
drop view emp_view;

创建只读视图(关键字 with read only)
create or replace view emp_view as select * from emp with read only;

**

Oracle序列

**

创建序列
create sequence emp_seq

如何查询序列(currval,nextval)
select emp_seq.nextval from dual;

删除序列
drop sequence emp_seq;

为person表插入数据,用序列为id赋值
insert into emp (empno) values (emp_seq.nextval);
commit

**

索引

**

Oracle里的索引对象,与表关联的可选对象,提高SQL查询语句的速度,索引直接指向包含锁查询值的行的位置,减少磁盘I/O

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值