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 ...
随机推荐
- 2019icpc南京网络赛 A 主席树
题意 给一个\(n\times n\)的螺旋矩阵,给出其中的\(m\)个点的值分别为各个点上数字的数位之和,给出\(q\)个询问,每次询问从\((x1,y1)\)到\((x2,y2)\)的子矩阵的和. ...
- C库函数-fgets()
函数声明:char *fgets(char *str,int n,FILE *stream) 函数介绍:从指定的stream流中读取一行,并把它存储在str所指向的字符串中.当读取到(n-1)个字符时 ...
- Python基础之Python解释器
当我们在编写Python代码时,我们得到的是一个包含Python代码的,以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件. 由于整个Python语言从规范到解释器都是开 ...
- 也谈Tcp/Ip协议
一. 计算机网络体系结构分层 一图看完本文 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别.OSI 参考模型注重“通信协议必要的功能是什么”, ...
- Codeforces 979 D. Kuro and GCD and XOR and SUM(异或和,01字典树)
Codeforces 979 D. Kuro and GCD and XOR and SUM 题目大意:有两种操作:①给一个数v,加入数组a中②给出三个数x,k,s:从当前数组a中找出一个数u满足 u ...
- Centos 7 下安装LDAP 双主同步
Centos 7 下安装LDAP 双主同步 标签(空格分隔): LDAP 安装说明: 从OpenLDAP2.4.23版本开始所有配置数据都保存在slapd.d目录下的cn=config文件夹中,不再使 ...
- tp5 多条件查询
$where['rc_category_id'] = array('eq',$cid); $where['rc_territory_ids'] = ['like', '%'.$tid.'%']; $l ...
- Oracle 表空间扩容
1 系统表空间扩容 注:表空间监测或扩容方式很多,这里只提供一种方便使用的方法 1)查询SQL 注:需要输入百分比,如:90,就可查出使用率超过90%的表空间, with t as (select b ...
- [Tool]截屏利器FSCapture7.6下载
下载地址:https://pan.baidu.com/s/1XQ1P5hHwZd0NE7bdz_znQQ 或是:https://files.cnblogs.com/files/xiandedanten ...
- python 面对对象 类(继承, 多态)
继承,继承其它实例化样本的属性和方法,需要在声明里重新定义和使用 class School(object): def __init__(self, name, addr): self.name = n ...