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);
     
  • 相关阅读:
    【Android Developers Training】 73. 布局变化的动画
    【Android Developers Training】 72. 缩放一个视图
    【Android Developers Training】 71. 显示翻牌动画
    svn更改地址怎么办
    python学习手册
    failed to bind pixmap to texture
    Ubuntu 12.04安装Google Chrome
    svn update 时总是提示 Password for '默认密钥' GNOME keyring: 输入密码
    重设SVN 的GNOME keyring [(null)] 的密码
    Nginx + uWSGI + web.py 搭建示例
  • 原文地址:https://www.cnblogs.com/Anthony7/p/9954388.html
Copyright © 2011-2022 走看看