Oracle-DML- insert & update & delete
说明:语句中说到的“表”,以及表中有哪些“列”自行脑补......重要的是理解概率,能看懂语句代表的含义就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的更多相关文章
- [Hive - LanguageManual] DML: Load, Insert, Update, Delete
LanguageManual DML Hive Data Manipulation Language Hive Data Manipulation Language Loading files int ...
- JDBC基础篇(MYSQL)——使用statement执行DML语句(insert/update/delete)
注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接: package day02_statement; import java.sql.Connection; import java.s ...
- sql中同一个Trigger里同时包含Insert,Update,Delete
sql中同一个Trigger里同时包含Insert,Update,Delete SQLServer是靠Inserted表和Deleted表来处理的,判断一下就可以了,只不过比ORACLE麻烦一点 cr ...
- ORACLE MERGE INTO UPDATE DELETE 用法
ORACLE MERGE INTO UPDATE DELETE 用法 使用该MERGE语句从一个或多个源中选择行以进行更新或插入表或视图.您可以指定条件以确定是更新还是插入目标表或视图. 此语句是组合 ...
- mysql数据恢复 insert\update\delete 工具MyFlash
一.简介MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具.该工具通过解析v4版本的binlog,完成回滚操作.相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易. 该 ...
- 关于MyBatis mapper的insert, update, delete返回值
这里做了比较清晰的解释: http://mybatis.github.io/mybatis-3/java-api.html SqlSession As mentioned above, the Sql ...
- PHP5: mysqli 插入, 查询, 更新和删除 Insert Update Delete Using mysqli (CRUD)
原文: PHP5: mysqli 插入, 查询, 更新和删除 Insert Update Delete Using mysqli (CRUD) PHP 5 及以上版本建议使用以下方式连接 MySQL ...
- mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干
1.mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干 2.一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性).Con ...
- insert update delete 语法 以及用法
insert update delete 被称为 数据定义语句语句 也就是数据的增加 修改 删除 其中不包括查询 譬如: create database -创建数据库 alter database - ...
- mybatis select/insert/update/delete
这里做了比较清晰的解释: http://mybatis.github.io/mybatis-3/java-api.html SqlSession As mentioned above, the Sql ...
随机推荐
- 「HEOI2014」大工程
问题分析 首先不难想到是虚树.建完虚树需要保持节点间原先的距离关系. 然后总距离和最小距离用树形DP求,最大距离用两遍dfs即可.注意统计的时候只对关键点进行统计. 真是麻烦 参考程序 ac的时候是l ...
- struct streaming中的监听器StreamingQueryListener
在struct streaming提供了一个类,用来监听流的启动.停止.状态更新 StreamingQueryListener 实例化:StreamingQueryListener 后需要实现3个函数 ...
- 【知识库】-数据库_MySQL 的七种 join
掘金作者:haifeisi 文章出处: MySQL 的七种 join Learn [已经过测试校验] 一.内连接 二.左外连接 三.右外连接 四.左连接 五.右连接 六.全连接 七.两张表中都没有出现 ...
- python正则表达式-案例
工作中遇到一个小问题,需要在一个日志文件中,删选出包含emrfs sync命令和之后内容的行,格式如下, [2019-10-31 08:20:16,389] {logging_mixin.py:84} ...
- hdu 1166 线段树 奇兵布阵
#include<iostream> using namespace std; ; )*];//n个叶子就有2*n-4*n个节点 ]; int n; void getup(int root ...
- Nginx事件管理之epoll模块
1. epoll 原理 假设有 100 万用户同时与一个进程保持着 TCP 连接,而每一时刻只有几十个或几百个 TCP 连接时活跃的(接收到 TCP 包),也就是说,在每一时刻,进程只需要处理这 10 ...
- CentOS 安装 Mongodb详解 --- 有Linux基础
安装包:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.1.tgz 安装过程 安装pstree小工具,以及其使用 关闭 ...
- php执行方式对比:mod_php&php-fpm
mod_php 1.是apache的附属包,apache死掉后php也会死掉 2.稳定性差,php出错服务器进程也会受影响 php-fpm 1.和nginx是两个独立的个体. 2.php- ...
- 做一个把网页带出来的SpringBoot工程
JDK:1.8.0_212 IDE:STS4(Spring Tool Suit4 Version: 4.3.2.RELEASE) 工程下载:https://files.cnblogs.com/file ...
- 微信小程序之地址联动
这就是我们要实现的效果 <view class="consignee"> <!-- consignee 收件人 --> <text>收件人: & ...