一、创建数据表
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);
 

Oracle-数据库增删改查基本操作的更多相关文章

  1. ASP.NET C# 连接 Oracle数据库增删改查,事务

    一.知识介绍 ①ASP.NET 使用的是MVC模式,开发工具Visual studio ,语言C# ②Oracle是比较重型的数据库,这里主要介绍连接数据库,对数据进行具体的使用 ③Visual St ...

  2. C# 连接 Oracle数据库增删改查,事务

    一. 前情提要 一般.NET环境连接Oracle数据库,是通过 TNS/SQL.NET 配置文件,而 TNS 必须要 Oracle 客户端(如果连接的是服务器的数据库,本地还要装一个 client , ...

  3. 转:ios Sqlite数据库增删改查基本操作

    研究了几天的数据库,终于把它给搞出来了.Sqlite是ios上最常用的数据库之一,大家还是有必要了解一下的.这是仿照网上的一个例子做的,有些部分写的不好,我稍作了修改,以讲解为主,主要让大家能够明白如 ...

  4. Python cx_oracle自动化操作oracle数据库增删改查封装,优化返回查询数据

    # coding=utf-8 import cx_Oracle import os import json os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_C ...

  5. 2. MongoDB基本操作 —— 用Mongo.exe操作数据库增删改查

    一.开篇 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(collection).文档对象 ...

  6. (2)MySQL的增删改查基本操作

    数据库增删改查的基本操作(数据文件在data目录下) 数据库的专业术语 1.文件夹:数据库 2.文件:数据表 指令的注意事项 1.用use的时候指令结尾不需要跟一个分号 ‘:’ 2.如果用show或其 ...

  7. Yii2.0高级框架数据库增删改查的一些操作(转)

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

  8. go——beego的数据库增删改查

    一直都不理解使用go语言的时候,为什么还要自己去装beego,以为使用go便可以解决所有的问题,结果在朋友的点拨下,才意识到: go与beego的关系就好比是nodejs与thinkjs的关系,因此也 ...

  9. (转)SQLite数据库增删改查操作

    原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数 ...

  10. Yii2.0高级框架数据库增删改查的一些操作

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

随机推荐

  1. 二十七、详述 IntelliJ IDEA 设置 Sublime 代码颜色的方法

    相信很多同学在使用 Sublime 时,看到那些五颜六色的代码感觉爽的不行,而反过来,再来看 IntelliJ IDEA 默认的代码颜色就感觉有些不爽啦!实际上,我们是可以通过「导入设置」的方式,来设 ...

  2. 淘宝前端框架kissyui

    http://docs.kissyui.com/1.4/docs/html/guideline/why-kissy.html

  3. Vue教程:组件Component详解(六)

    一.什么是组件? 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功 ...

  4. 一招搞定css页面布局

    如何做出漂亮的页面: 1. 多写页面,多改. 2. 多写页面,多改. 3. 多写页面,多改. 大致的思想步骤: 写页面的时候先规划好大致的分块,无论是用定位或者浮动,首先要确定要应用的场景,使用完浮动 ...

  5. js新开窗口避免浏览器拦截解决方案

    Ajax回调函数中,打开新窗口解决方案 var w = window.open(); $.post("GetHomToTestPaper", {homeworkName:homew ...

  6. es6 Reflect对象详解

    Reflect是ES6为操作对象而提供的新API,而这个API设计的目的只要有: 将Object对象的一些属于语言内部的方法放到Reflect对象上,从Reflect上能拿到语言内部的方法.如:Obj ...

  7. linux操作系统的目录以及用户权权限的管理

    linux操作系统的目录以及对目录的操作 一: linux操作系统的目录结构   bin #可执行程序的安装目录 , 命令 boot #系统启动引导目录 dev #设备目录 etc #软件配置文件目录 ...

  8. day 25 模块与包

    一.模块   模块就是一个包含了python定义和申明的文件,文件名就是模块的名字加上.py的后缀/ 模块的分类:     1.使用python编写的py文件     2.已被编译位共享库或者DLL或 ...

  9. Set的源码分析

    Set的内部实现其实是一个Map.即HashSet的内部实现是一个HashMap,TreeSet的内部实现是一个TreeMap,LinkedHashSet的内部实现是一个LinkedHashMap. ...

  10. 面试:Hbase和Hive的区别

    区别: 1. Hive是一个构建在Hadoop基础设施之上的数据仓库,通过HQL查询存放在HDFS上的数据,不能交互查询.HBase是一种Key/Value系统,它运行在HDFS之上,可以交互查询. ...