说明:语句中说到的“表”,以及表中有哪些“列”自行脑补......重要的是理解概率,能看懂语句代表的含义就OK~

DML-数据操作语句:

1. insert 新增

/*
insert into 表名
values (value1,value2,...valueN);
按照表的原有结构放入数据

insert into 表名(列名1,列名2,……列名n)
values (value1,value2,...valueN);
自定义列放入数据
*/

INSERT INTO dept
VALUES (60,'TEACHING','CHONGQING');

SELECT * FROM dept;

-- dml 语句执行过后生成一个新的事务,事务需要提交才能永久生效,可以回滚撤销操作

COMMIT; -- 提交
ROLLBACK; -- 回滚

-- 未定义的列默认为空值
INSERT INTO emp(empno,ename,job,sal,deptno)
VALUES(8000,'jodie','BOSS',5000,20);

SELECT * FROM emp;

-- null 空值
INSERT INTO dept
VALUES (60,'HR',NULL);

-- 通过函数放入日期格式的数据
INSERT INTO emp(empno,ename,job,hiredate)
VALUES (8000,'jodie',NULL,SYSDATE);

INSERT INTO emp(empno,ename,job,hiredate)
VALUES (8000,'jodie',NULL,TO_DATE('1999-02-23','YYYY-MM-DD'));

-- insert into 表名 select …… 将一张表中的数据拷贝到另一张表
SELECT * FROM bonus;

INSERT INTO bonus
SELECT ename,job,sal,comm FROM emp
WHERE comm IS NOT NULL;

2. update 修改
/*
update 表名
set 列名 = value
【where ……】;
*/
-- 如果不写where子句,该列数据都被修改
UPDATE emp
SET sal = 2000;

SELECT * FROM emp;

UPDATE emp
SET sal = 2000
WHERE ename = 'ALLEN';

-- 可以基于当前表中已有数据进行修改
-- 给20部门的所有员工涨500工资
UPDATE emp
SET sal = sal+500
WHERE deptno = 20;

-- set 后面的value和where子句中都可以使用子查询
-- 将Jodie的工资改成和allen一样
UPDATE emp
SET sal =
(SELECT sal FROM emp WHERE ename = 'ALLEN')
WHERE ename = 'JODIE';

3. delete 删除
/*
delete 【from】 表名
【where ……】;
*/
-- 如果不写where子句会删除所有数据
DELETE emp;

SELECT * FROM emp;

DELETE emp
WHERE ename = 'ALLEN';

4. truncate 快速删除表中所有数据
-- truncate 属于ddl语句,操作之后直接提交,不能回滚
-- 站在表的层面快速删除所有数据,不能指定范围

-- truncate table 表名;

TRUNCATE TABLE emp;

ROLLBACK;

SELECT * FROM emp;

【练习】
1.在EMP表中,增加一名员工,员工信息参照现有员工构造.
INSERT INTO emp
VALUES(8000,'jodie','CLERK',7566,SYSDATE,1000,NULL,20);

2.员工SMITH调动到SALES部门,请编写SQL语句更新员工信息.
UPDATE emp
SET deptno = (SELECT deptno FROM dept WHERE dname = 'SALES')
WHERE ename = 'SMITH';

3.员工JAMES已经离职,请编写SQL语句更新数据库
DELETE emp
WHERE ename = 'JAMES';

Oracle-DML- insert & update & delete的更多相关文章

  1. [Hive - LanguageManual] DML: Load, Insert, Update, Delete

    LanguageManual DML Hive Data Manipulation Language Hive Data Manipulation Language Loading files int ...

  2. JDBC基础篇(MYSQL)——使用statement执行DML语句(insert/update/delete)

    注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接: package day02_statement; import java.sql.Connection; import java.s ...

  3. sql中同一个Trigger里同时包含Insert,Update,Delete

    sql中同一个Trigger里同时包含Insert,Update,Delete SQLServer是靠Inserted表和Deleted表来处理的,判断一下就可以了,只不过比ORACLE麻烦一点 cr ...

  4. ORACLE MERGE INTO UPDATE DELETE 用法

    ORACLE MERGE INTO UPDATE DELETE 用法 使用该MERGE语句从一个或多个源中选择行以进行更新或插入表或视图.您可以指定条件以确定是更新还是插入目标表或视图. 此语句是组合 ...

  5. mysql数据恢复 insert\update\delete 工具MyFlash

    一.简介MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具.该工具通过解析v4版本的binlog,完成回滚操作.相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易. 该 ...

  6. 关于MyBatis mapper的insert, update, delete返回值

    这里做了比较清晰的解释: http://mybatis.github.io/mybatis-3/java-api.html SqlSession As mentioned above, the Sql ...

  7. PHP5: mysqli 插入, 查询, 更新和删除 Insert Update Delete Using mysqli (CRUD)

    原文: PHP5: mysqli 插入, 查询, 更新和删除  Insert Update Delete Using mysqli (CRUD) PHP 5 及以上版本建议使用以下方式连接 MySQL ...

  8. mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干

    1.mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干 2.一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性).Con ...

  9. insert update delete 语法 以及用法

    insert update delete 被称为 数据定义语句语句 也就是数据的增加 修改 删除 其中不包括查询 譬如: create database -创建数据库 alter database - ...

  10. mybatis select/insert/update/delete

    这里做了比较清晰的解释: http://mybatis.github.io/mybatis-3/java-api.html SqlSession As mentioned above, the Sql ...

随机推荐

  1. puppet自动化部署

    puppet自动化部署 puppet  实现运维自动化管理的软件. 官方网站: http://puppetlabs.com/    pupptet下载链接:http://downloads.puppe ...

  2. Idea关于Lombok的一些问题( java: 找不到符号 符号)

    22:15 Lombok Requires Annotation Processing Annotation processing seems to be disabled for the proje ...

  3. Java 注解方式校验请求参数

    1. 参数校验常用注解          注解 验证的数据类型 备注                              Null   任意类型  参数值必须是 Null  NotNull   ...

  4. Springdata-Jpa学习笔记

    Respository接口 Respository是Springdata JPA中的顶层接口,提供了两种查询方法: 1)基于方法名称命名规则 2)基于@Qeury注解查询 1. 方法名称命名规则查询 ...

  5. VLC和Qt结合编写流媒体rtsp播放器

            VLC播放器是一款功能强大且小巧的播放器,它支持多种多样的音视频格式,比如MPEG1,2以及mp3等等.并且通过Qt和VLC的结合能让每个开发者写出自己的视频流媒体播放器.     Q ...

  6. Java-JVM 类加载机制

    类的生命周期中的第一步,就是要被 JVM 加载进内存,类加载器就是来干这件事. 一.类加载器种类 系统提供了 3 种类加载器: 1.启动类加载器(Bootstrap ClassLoader) 由 C ...

  7. php 获取域名

    echo 'SERVER_NAME:'.$_SERVER['SERVER_NAME'];  //获取当前域名(不含端口号) echo '<p>';   echo 'HTTP_HOST:'. ...

  8. Nginx配置文件详细说明 (转)

    Nginx配置文件详细说明 原文链接:http://www.cnblogs.com/Joans/p/4386556.html 在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收 ...

  9. ubuntu关于ssh协议登录问题

    说明 初始化系统默认不安装ssh如果你想要通过crt等工具连接,你需要手动安装ssh 1.安装ssh工具 使用ubuntu安装的命令sudo apt-get install openssh-serve ...

  10. 升级日志sdfsdfsdfsdfsdfdsf

    升级日志sdfsdfsdfsdfsdfdsf 升级日志小书匠 版本号 新功能 修改