操作数据(DML)

当添加、更改或者删除数据库中的数据时需要使用DML语句。DML依据的一个集合构成了一个被称之为事务的逻辑单元;
当完成以下操作是,DML语句被执行:
添加新的行到表中;
修改表中的行;
删除表中的行;


一、添加一个新行到表中


Insert语法(每次只能插入一行)

指定列添加

(以hr用户中的departments表为例)

 向departments 表中添加一条数据。Department_Id=280,Department_name = Teaching,Manager_id=180,Location_id =2000;
Insert into departments(department_id , department_name , manager_id , location_id) values(280,’Teaching’,180,2000);

完全列添加

(以hr用户中的departments表为例)

向 departments 表中添加一条数据。 Department_Id=290,Department_name =     Development,Manager_id=149,Location_id =2000;Insert into departments values(290,’Development’,149,2000);

插入空值的行

1.隐式方法
省略字段列表中的列;
(以hr用户中的departments表为例)

向 departments表中添加一条数据。Department_Id=300,Department_name  = youtuber,其他为空值;
Insert into departments(department_id , department_name)    values(300,’youtuber’);

2.显示方法
在values子句中指定null关键字;
(以hr用户中的departments表为例)

  向 departments表中添加一条数据。Department_Id=310,Department_name      = singer,其他为空值;
Insert into departments(department_id , department_name , manager_id ,  location_id) values(310,’singer’,null,null);

插入日期值

(以hr用户中的departments表为例)

 添加一个新的雇员;
1.入职时间为当前系统时间;
insert into employees values(300,'pang','danfu','qq','187.343.9024',sysdate,'SA_REP',2500.00,null,149,null);
2.入职时间为默认格式时间;
insert into employees values(301,'pang','danfu','yahoo','080.4417.0816','20/12/12','SA_REP',7500.00,null,149,null);
3.入职时间为指定格式时间;
insert into employees values(302,'miwa','tetsu','gmail','070.2218.5391',to_date('2021年5月6日','yyyy"年"mm"月"dd"日"'),'IT_PROG',15000.00,null,102,300);

从另一个表中复制行

1.用一个查询写insert语句;
2.不用values子句;
3.在查询中列的数目要匹配insert子句中列的数目;
(以hr用户中的employees表为例)

建立一个空表emp,并将 employees 表中的 job_id 中含有 REP 的工作岗位的  数据插入到 emp 表中。
insert into emp select e.employee_id,e.last_name,e.salary,e.commission_pct from     employees e where e.job_id like '%REP%' ;

使用默认值

在insert中的default
(以hr用户中的emp表为例)

1.在emp中的salary列中加入默认值1000,添加数据,ID=302,name=hipi;
insert into emp(id,name) values(302,'hipi');
2.在emp中的salary列中加入默认值1000,添加数据,ID=303,name=hibi;
insert into emp values(303,'hibi',default,null);

二、改变表中的数据


Update语法

用update语句修改已存在的行;

(以hr用户中的emp表为例)

更新 emp 表中 ID 为 155 的数据,将名字修改为 tetsuhisa,薪水修改 17500。
Update emp set name = ‘tesuhisa’ , salary = 17500 where id = 155;

用查询更新列

(以hr用户中的emp表为例)

 更新 emp 表中的雇员 165 的薪水,使其和雇员 156 相同。Update emp set salary = (select salary from emp where id = 156) where id = 165;

三、从表中删除行


Delete语句

使用delete语句从表中删除已存在的行;
(以hr用户中的emp表为例)

删除 emp 表中 id 为 301 的雇员。
Delete emp where id = 301;

删除基于另一个表的行

(以hr用户中的emp表为例)

删除 emp 表中薪水与 ST_CLERK 岗位相同的薪水。
Delete emp where salary in(select salary from employees where job_id =     ‘ST_CLERK’);

删除表中全部的数据;

如果再删除语句中没有给定任何条件,那么数据库将会删除该表中的所有数据;
(以hr用户中的emp表为例)

删除表中全部的数据;
Delete emp;

删除行:完整性约束错误

SQL语言之操作数据(Oracle)相关推荐

  1. oracle自带的sql语言环境变量,Oracle技术网—SQL*Plus系统环境变量有哪些?如何修改?...

    实现方法: show和set命令是两条用于维护SQL*Plus系统变量的命令 SQL> show all--查看所有68个系统变量值 SQL> show user--显示当前连接用户 SQ ...

  2. 关于SQL语言的优化(Oracle)

    SQL优化的原则 尽量使用列名 --SQL 优化2: where解析的顺序 : 右--> 左 Select * from zl_yhjbqk   where   dy_dj = '1K以下'   ...

  3. Oracle PL/SQL语言初级教程(自学)

    Oracle PL/SQL语言初级教程 PL/SQL 语言基础 PL/SQL 是一种高性能的基于事务处理的语言,能运行在任何 ORACLE 环境中,支持所有数据处理命令. 通过使用 PL/SQL 程序 ...

  4. oracle数据库sql培训,Oracle数据库SQL语言实战培训教程(全面、详细、案例、精讲)套餐...

    风哥oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 套餐介绍: 风哥Oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 内容: SQL语言基础入 ...

  5. Oracle PL/SQL语言入门

    一.背景介绍 结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语言,属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方 ...

  6. 【ORACLE SQL 语言】SQL语言四大类

    SQL语言共分为四大类 数据查询语言DQL 数据操纵语言DML 数据定义语言DDL 数据控制语言DCL. 数据查询语言DQL 数据查询语言DQL用于检索数据库.其基本结构是由SELECT子句,FROM ...

  7. SQL Fundamentals || Oracle SQL语言

    对于SQL语言,有两个组成部分: DML(data manipulation language) 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据 ...

  8. Oracle和sql语言,SQL语言的四种类型和ORACLE运算符

    数据定义语言(DDL) 数据操作语言(DML) 数据控制语言(DCL) 事务控制语言(TCL) Data Definition Language(DDL) DDL使我们有能力创建或删除表格.也可以定义 ...

  9. oracle中值集限定词为灰色,《Oracle从入门到精通》读书笔记第四章 SQL语言基础之一...

    4.1 SQL语言概述 4.1.1 SQL语言的特点 1.集合性 2.统一性 3.易于移植性 4.1.2 SQL语言的分类 1.数据查询语言(DQL)- select语句,查询数据 2.数据操纵语言( ...

最新文章

  1. 深度好文 — 微服务和API网关限流熔断实现关键逻辑思路
  2. 独家 | Meta的新学习算法可以教AI进行多任务处理
  3. ARP监控工具ARPalert
  4. 博客访问量终于破10000了
  5. 从 DevOps 到 Serverless:通过“不用做”的方式解决“如何更高效做”的问题
  6. idea怎么创建python项目_idea创建django项目
  7. 【Python CheckiO 题解】Three Words
  8. 怎么设置internet才能下载JAVA_如何使用Java从Internet下载和保存文件?
  9. python 表格查询_python单表查询
  10. [GO]无缓冲通道(unbuffered channel)
  11. 如何查看单元测试的结果 以及异常处理
  12. csharp datagridview to a datatable,a dataset
  13. 古老的txt下传和txt上载
  14. wps下一步快捷键_WPS快捷键大全
  15. python2在线编译器_C/C++/Python在线编译器
  16. 如何讲解一个C语言程序,解读第一个C++程序
  17. 【在线研讨会-倒计时】12月12日Softing工业物联网解决方案 助力工业4.0
  18. Excel Sheet页相关操作(21.10现代设计体验)
  19. uniapp ----小程序上下滑动页面,视频自动播放(完整代码)
  20. 麦克风阵列声源定位 SRP-PHAT

热门文章

  1. [C#]关于Distinct与重写IEqualityComparer时得知道的二三事
  2. 洛谷P1220 关路灯(区间dp)
  3. Big-Endian和Little-Endian
  4. Web服务的体系架构
  5. 使用VNC远程连接阿里云ECS实例的Ubuntu系统
  6. 跨链(5)“蚂蚁区块链”之预言机
  7. java元婴期(27)----java进阶(springmvc(1)---springmvc框架入门程序(上)(不基于注解开发))
  8. [architecture]-arm exclusive机制介绍
  9. Device is not certified by Google
  10. [mmu/cache]-ARMV8 MMU内存管理中的Memory attributes和Cache policies