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

mac2022-06-30  14

一、创建数据表 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) asbeginopen cur for select * from emp;end mypro;/客户端:var cur refcursor;exec mypro(:cur);  

转载于:https://www.cnblogs.com/Anthony7/p/9954388.html

最新回复(0)