zoukankan      html  css  js  c++  java
  • 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);
     
  • 相关阅读:
    windows下postgreSQL安装与启动
    Map、Set、List区别
    责任链模式实战
    Java的URL类(二)
    linux 之分区和文件系统
    linux 之网络命令
    linux 之用户管理
    linux 权限之acl
    我的hadoop学习之路
    Hadoop 学习之Docker
  • 原文地址:https://www.cnblogs.com/Anthony7/p/9954388.html
Copyright © 2011-2022 走看看