oracle基础增删查改,Oracle-数据库增删改查基本操作

一、创建数据表

1).创建不存在的新表:

create table tname(

Data_Name Date_Type [default][默认值]

);

2).创建已存在表的副本

create table emp1 as select * from emp;

二、插入数据

1).为部分字段批量插入数据

insert into emp1(empno,ename,job) select empno,ename,job from emp;

2).为部分字段插入单行数据

insert into emp1(ename,empno) values('QY','1610676710');

3.数据操作

增:insert into table_name(属性名) values(对应的值);

insert into table_name as select * from emp;

删:drop--->针对表级,表框架结构的删除

drop table table_name;

delete--->删除数据

delete table_name where condition;

改:alter   ---->更改表框架结构

alter table table_name rename column sal to person_sal;

alter table table_name rename new_table_name;

alter table table_name modify sal varchar(10);----修改属性的数据类型(注意更改该属性时)

alter table

update  --->更新表中数据

update table_name set ename='yuyu' where empno=7900;

查:select

select * from emp;

三、约束

约束:primary key,foreign key,not null,unique,check;

1).主键Primary key和Unique区别:

主键(在表中只有一个)和唯一性约束(表中允许存在多个)

主键(不允许有空值)和唯一性约束(表中允许存在多个空值)

2).带有约束名的约束条件

A.创建主键约束(四种方式)

---1----

create table table_name(

ename varchar2(20) primary key

);

---2----

create table table_name(

ename varchar2(20),

primary key(ename)

);

---3----

create table table_name(

ename varchar2(20) constraint ename_cons primary key

);

---4----

create table table_name(

ename varchar2(20) ,

constraint ename_cons primary key(ename)

);

B.添加约束名

alter table emp add constraint  ename_cons primary key(ename);

C.删除约束名

alter table emp drop constraint  ename_cons;

D.查看约束名(根据user_constraints这个表)、

select constraint_name,table_name,constraint_type|column_name|column_type from user_constraints where table_name=一定要大写;

四、游标补充

1).ref cursor

当需要将游标与不同的查询语句建立关联时,类似于指针,输入动态游标,即只有运行时才知道这条查询;

--格式:

type cursor_name is ref cursor [return return_type];--创建游标

cursor_variable cursor_name;--声明游标

open cursor_variable for select_statement;--打开游标

close cursor_variable;--关闭游标

注:1).游标类型本身可以在包中定义,但是游标变量不能在包中定义

2).游标变量可以在客户端与服务器之间传递,但不能在两个服务器之间传递

3).不能通过动态sql使用游标变量

4).PL/SQL的index-by表,嵌套表和可变数组不能存储游标变量,表和视图不能存储ref cursor引用类型的列

5).能用静态游标,不用动态

2).sys_refcursor

主要用于在过程中返回结果集

举例、

create ir replace procedure mypro(cur out sys_refcursor) as

begin

open cur for select * from emp;

end mypro;

/

客户端:

var cur refcursor;

exec mypro(:cur);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值