iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle系列:(19)增删改数据
  • 267
分享到

Oracle系列:(19)增删改数据

2024-04-02 19:04:59 267人浏览 泡泡鱼
摘要

准备col empno for 9999; col ename for a10; col job for a10;


准备
col empno for 9999;
col ename for a10;
col job for a10;
col mgr for 9999;
col hiredate for a12;
col sal for 9999;
col comm for 9999;
col deptno for 99;
col tname for a40;
set pagesize 80;


--创建新表xxx_emp,复制emp表中的结构,同时复制emp表的所有数据
create table xxx_emp
as 
select * from emp;




回顾sql92/99标准的四大类

(1)DML(数据操纵语言):select,insert,update,delete

(2)DDL(数据定义语言):create table,alter table,drop table,truncate table

(3)DCL(数据控制语言):grant select any table to scott/revoke select any table from scott

(4)TCL(事务控制语言):commit,rollback,savepoint to 回滚点


向emp表中插入一条记录(方式一:按表默认结构顺序)insert into 表名 values ...语法

insert into emp values(1111,'JACK','IT',7788,sysdate,1000,100,40);


向emp表中插入一条记录(方式二:按自定义顺序)insert into 表名(列名) values ...语法

insert into emp(ENAME,EMPNO,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) 
values('MARRY',2222,'IT',7788,sysdate,1000,100,40);


向emp表中插入NULL值(方式一:采用显示插入NULL值)

insert into emp values(3333,'SISI','IT',7788,sysdate,1000,NULL,40);


向emp表中插入NULL值 (方式二:采用隐式插入NULL值),前提是所插入的字段允许插入NULL值

insert into emp(ENAME,EMPNO,JOB,MGR,HIREDATE,SAL,DEPTNO) 
values('SOSO',4444,'IT',7788,sysdate,1000,40);


&占位符应用于insert】使用&占位符,动态输入值,&可以运用在任何一个DML语句中,在values子句中使用,例如:'&ename'和&sal

insert into emp values(&empno,'&ename','&job',&mgr,&hiredate,&sal,&comm,&xxxxxxxx);

注意:&是sqlplus工具提供的占位符,如果是字符串或日期型要加''符,数值型无需加''符


&占位符应用于select的表名】使用&占位符,动态输入值,&可以运用在任何一个DML语句中,在from子句中使用

select * from &table;

Oracle系列:(19)增删改数据


&占位符应用于select的列名】使用&占位符,动态输入值,&可以运用在任何一个DML语句中,在select子句中使用

select empno,ename,&colname from emp;

Oracle系列:(19)增删改数据


&占位符应用于where】使用&占位符,动态输入值,&可以运用在任何一个DML语句中,在where子句中使用

select * from emp where sal > &money;


&占位符应用于group by和having】使用&占位符,动态输入值,&可以运用在任何一个DML语句中,在group by 和 having子句中使用

select deptno,avg(sal)
from emp
group by &deptno
having avg(sal) > &money;


删除emp表中的所有记录

delete from emp;


将xxx_emp表中所有20号部门的员工,复制到emp表中,批量插入,insert into 表名 select ...语法

insert into emp
select * 
from xxx_emp
where deptno=20;

Oracle系列:(19)增删改数据


将'SMITH'的工资增加20%

update emp set sal=sal*1.2 where ename = upper('smith');

Oracle系列:(19)增删改数据


将'SMITH'的工资设置为20号部门的平均工资,这是一个条件未知的事物,优先考虑子查询

第一:20号部门的平均工资

     

select avg(sal) from emp where deptno=20;

第二:将'SMITH'的工资设置为2207

     

update emp set sal=2207 where ename = 'SMITH';

 

子查询:

update emp 
set sal = (
    select avg(sal) 
    from emp 
    where deptno=20
    ) 
where ename = 'SMITH';

 


删除工资比所有部门平均工资都低的员工,这是一个条件未知的事物,优先考虑子查询

第一:查询所有部门的平均工资

select avg(sal) from emp group by deptno;

第二:删除工资比(*,*,*)都低的员工

delete from emp where sal<all(*,*,*);

子查询:

delete 
from emp 
where sal < all(
    select avg(sal) 
    from emp 
    group by deptno
);


删除无佣金的员工

delete from emp where comm is null;


将emp表丢入回收站,drop table 表名

drop table emp;


从回收站将emp表闪回,flashback table 表名 to before drop

flashback table emp to before drop;


查询回收站,show recyclebin

show recyclebin;


清空回收站,purge recyclebin

purge recyclebin;


使用关键字purge,彻底删除emp表,即不会将emp表丢入回收站,永久删除emp表,drop table 表名 purge

drop table emp purge;


依据xxx_emp表结构,创建emp表的结构,但不会插入数据

create table emp
as
select * from xxx_emp where 1<>1;
create table emp(empno,ename)
as
select empno,ename from xxx_emp where 1=2;


Oracle系列:(19)增删改数据


创建emp表,复制xxx_emp表中的结构,同时复制xxx_emp表的所有数据

create table emp
as
select * from xxx_emp where 1=1;

注意:where不写的话,默认为true


将emp截断,再自动创建emp表,truncate table 表名

truncate table emp;


向emp表,批量插入来自xxx_emp表中部门号为20的员工信息,只包括empno,ename,job,sal字段

insert into emp(empno,ename,job,sal)
select empno,ename,job,sal 
from xxx_emp 
where deptno=20;

Oracle系列:(19)增删改数据



向emp表(只含有empno和ename字段),批量插入xxx_emp表中部门号为20的员工信息

insert into emp(empno,ename)
select empno,ename from xxx_emp where deptno=20;



drop table 和 truncate table 和 delete from 区别

drop table

1)属于DDL

2)不可回滚

3)不可带where

4)表内容和结构删除

5)删除速度快

truncate table

1)属于DDL

2)不可回滚

3)不可带where

4)表内容删除

5)删除速度快

delete from

1)属于DML

2)可回滚

3)可带where

4)表结构在,表内容要看where执行的情况

5)删除速度慢,需要逐行删除


您可能感兴趣的文档:

--结束END--

本文标题: Oracle系列:(19)增删改数据

本文链接: https://www.lsjlt.com/news/41192.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python基础数据类型:列表【增删改查
    1 知识大纲 列表的初识 列表的索引切片 列表的增删改查 列表的嵌套 元组的初识(了解) 元组的简单应用(了解) range 2 主要内容 1.列表的初识 why: 字符串: 存储少量的数据。字符串只能存储少量的数据,对于大量...
    99+
    2023-01-31
    数据类型 基础 列表
  • MySQL数据库列的增删改实现方法
    本文实例讲述了MySQL数据库列的增删改实现方法。分享给大家供大家参考,具体如下: 新建表user_info: CREATE TABLE user_info( id INT NOT NULL PRIMA...
    99+
    2024-04-02
  • mysql-数据的增删改
    插入数据: insert更新数据: update删除数据: delete一、 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括1.使用INSERT实现数据的插入2.UPDATE实现数 据的更新3.使用...
    99+
    2023-01-30
    数据 mysql
  • MySQL——数据的增删改
    2023.9.12         本章开始学习DML (数据操纵语言) 语言。相关学习笔记如下: #DML语言#一、插入语句#方式一:经典的插入SELECT * FROM beauty;#1.插入的值的类型要与列的类型一致或兼容I...
    99+
    2023-09-29
    mysql 数据库
  • python 列表(增删改查)
            列表 :(列表可以嵌套,列表的中的元素可以为任意) 列表的创建:1.   a = [1, 2, 3]        2.   a = list([1, 2, 3]) 1.查: 索引(下标),都是从0开始 切片 .coun...
    99+
    2023-01-30
    列表 python
  • MySQL:数据的增删改查
    数据的增删改查 前言一、插入数据1、实际问题2、方式1:VALUES的方式添加3、方式2:将查询结果插入到表中 二、删除数据三、更新数据四、查询数据五、MySQL8新特性:计算列 前言 本博主将用CSDN记录软件开发求学...
    99+
    2023-08-17
    mysql android adb
  • Mysql 数据库增删改查
    MySQL是目前最流行的关系型数据库。以下是MySQL数据库的增删改查操作。 1.数据库连接 在进行增删改查操作之前,需要先连接MySQL数据库。使用以下命令进行连接: import mysql.connectormydb = mysql....
    99+
    2023-08-31
    数据库 mysql oracle
  • MySQL系列(二)之CRUD(增删改查)操作
    文章目录 一. 什么是CRUD二. Create创建三. Retrieve(检索)四. Update(更新)五. Delete(删除) 一. 什么是CRUD CRUD 是计算机编程中常用的...
    99+
    2023-10-02
    mysql 数据库
  • 【MySQL系列】MySQL表的增删改查(基础)
    ☕目录☕   🍔前言           🧇一、CRUD           🍚二、新增(create)                       🍤🍤2.1...
    99+
    2023-09-06
    MySQL数据库
  • pyhon 列表的增删改查
      li = ['alex', 'wusir', 'egon', '女神', 'taibai'] l1 = li[2] print(l1) #增加 append() 增加到最后 insert(index, name)插入到哪里...
    99+
    2023-01-31
    列表 pyhon
  • list 列表的增删改查
     基本数据类型有数字、字符,布尔。然后数据类型还有其他的,比如集合类型中的list类型,集合,集合顾名思义,不是放一个东东,里面能放很多个东东,所以叫集合嘛。比如:n = [1,2,3,4,5,6]  变量n就是一个list类型,这个类型...
    99+
    2023-01-30
    列表 list
  • python3 列表的增删改查
    list 增、删、改、查回顾  索引、切片、步长li = ['alex', 123, True, (1, 2, 3, 'wusir'), [1, 2, 3, '小明',], {'name':'alex'}] #li中元素索引号为li = [...
    99+
    2023-01-31
    列表
  • PandasDataFrame操作数据增删查改
    目录一、DataFrame数据准备二、增删改查操作1,增2,查3,改4,删一、DataFrame数据准备 增、删、改、查的方法有很多很多种,这里只展示出常用的几种。 参数inplac...
    99+
    2024-04-02
  • Oracle和mysql数据库增、删、改的方法是什么
    这篇文章主要讲解了“Oracle和mysql数据库增、删、改的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle和mysql数据库增、删、...
    99+
    2024-04-02
  • MySQL增删查改数据表详解
    目录前言一、新增数据二、查询数据全列查询指定列查询表达式查询指定别名查询去重查询排序查询条件查询分页查询三、修改数据四、删除数据前言 CRUD代表: 增加(create) ,查询(retrieve) ,更新(updat&...
    99+
    2022-11-19
    MySQL增删查改 MySQL数据库操作
  • 数据库的增删改查命令
    本篇内容介绍了“数据库的增删改查命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!表中数据简单管理(增 删...
    99+
    2024-04-02
  • django_数据库操作—增、删、改、查
    增加 增加数据有两种方法 1> sava >>> from datetime import date >>> book = BookInfo( btitle='西游记', bpub...
    99+
    2023-01-31
    操作 数据库
  • 【MySql】数据库的CRUD(增删查改)
    写在最前面的话         哈喽,宝子们,今天给大家带来的是MySql数据库的CRUD(增删改查),CRUD是数据库非常基础的部分,也是后端开发日常工作中最主要的一项工作,接下来让我们一起进入学习吧,感谢大家的支持!喜欢的话可以三连...
    99+
    2023-09-08
    数据库 mysql sql
  • oracle怎么增加一列自增长数据
    在Oracle中,可以通过以下步骤来增加一列自增长数据: 首先,创建一个序列对象(sequence)来生成自增长的值。序列对象可以...
    99+
    2024-04-15
    oracle
  • Oracle+mybatis如何实现对数据的增删改查功能
    这篇文章主要介绍了Oracle+mybatis如何实现对数据的增删改查功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是 MyBati...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作