数据库 数据库SQL语句五
集合运算 union 并集(两个集合如果有重复部分,那么只显示一次重复部分)
union all 并集(两个集合如果有重复部分,那么重复部分显示两次)
intersect 交集
minus 差集 --查询部门号是10和20号的员工信息
select * from emp where deptno=
union
select * from emp where deptno= 集合运算注意事项:
.参与运算的各个集合必须列数相同,并且类型一致
.采用第一个集合的表头作为结果集的表头
DML数据操作 insert语句语法
使用insert语句向表中插入数据
insert into 表名 (列名1,列名2,...)
values (value1,value2,...) --插入一条完整的数据(不需要加列名)
insert into emp values(,'JACk','CLERK',,'17-12月-80',,null,) --插入一条不完整的数据(需要加列名)
insert into emp (EMPNO ,ENAME,JOB,MGR,SAL,DEPTNO) values(,'JHON','CLERK',,,) --插入空值的两种方式
.隐式插入(不完整插入就是隐式插入)
.显式插入(null就是显式插入) --插入日期的指定值
insert into emp values(,'BLACKH','CLERK',,to_date('1990-2-4 9:30:28','yyyy-mm-dd hh12:mi:ss'),,null,) --插入中的&操作符(需要用户输入empno和deptno的值)
insert into emp (EMPNO,ENAME,JOB,MGR,SAL,DEPTNO) values(&empno,'JHON','CLERK',,,&deptno) --回退事务
SQL> rollback;--oracle默认开启事务 --新创建一个表(拷贝emp的表结构)
create table t1
as
select * from emp where = --从emp表中把10号部门的员工数据插入到t1表中
insert into t1 ( select * from emp where deptno= );
--子查询不光在select中使用,而且可以在insert子句中使用
--不必书写values子句
--子查询中的值列表应与insert子句中的列名对应
update语句语法
--更新数据
--可以一次更新多条数据
update 表名
set colnum1=value1,colnum2=value2,...
where condition eg:SQL> update t1 set ename='JOKE',sal= where empno=;
delete语句
--从表中删除数据(表是一直存在的)
delete from 表名
where condition eg: delete from t1 where empno=;
truncate语句
truncate:清空表
truncate table t1;--删除表中的所有数据
delete和truncate的区别
.delete逐条删除 truncate先摧毁再重建
.delete语言是DML语言 truncate是DDL语言
DML语言可以闪回,做错了并且提交了,可通过闪回撤销操作
DDL语言不可以闪回
.delete是逐条删除,会产生碎片,truncate不会产生碎片
.delete不会释放空间,truncate会
.delete可以回滚,,truncate不可以
.oracle delete快 mysql truncate快
sql语句优化⑤:oracle中删除表数据,delete快;mysql中删除表数据,truncate快。
常用oracle命令
--set timing off;--关闭sql执行时间显示
--set feedback off;--关闭数据反馈
--@c:\sql.sql--从c盘导入sql文件
--set timing on;--打开sql执行时间显示
数据库事务
概念:一个或多个DML语句组成
特点:要么都成功,要么都失败
特性:原子性 一致性 隔离性 持久性
事务的隔离性:多个客户端同时操作数据库时,会隔离他们的操作,
因为oracle实例并不会直接将操作提交到数据库,所以多个事务之间的操作互不影响
事务的开始和结束
.事务起始的标志:DHL语言(oracle默认事务是打开的)
.事务结束的标志
提交:显式提交commit
隐式提交()执行DDL语言,DDL语言能隐式的提交数据
eg:create table语言
()正常退出
回滚:显式:rollback
隐式 断电,非正常退出,系统出错
回滚到保存点
.使用savepoint语句在当前事务中创建保存点
eg:savepoint al;--创建保存点a1
.使用rollback to savepoint 语句回滚到创建的保存点
eg:rollback to savepoint a1;回滚到a1保存点
数据库 数据库SQL语句五的更多相关文章
- Oracle数据库 基础SQL语句练习
一.说明 第一次使用Oracle,想做一些练习,熟悉一些oracle. 表:使用的是scott用户,默认的表 具体表讲解,可以参考该文档:https://www.cnblogs.com/xjcheng ...
- mysql(数据库,sql语句,普通查询)
第1章 数据库 1.1 数据库概述 l 什么是数据库 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作. l 什 ...
- 总结一些关于操作数据库是sql语句还是存储过程问题
总结一些关于操作数据库是sql语句还是存储过程问题 程序中,你跟数据的交互,需要向数据库拿数据.更改数据库的数据等,这些操作,本身不是程序完成的,而是程序发命令给数据库去做的,不管是通过sql语句方式 ...
- SQL Server 【附】创建"商品管理数据库"、"学生选课数据库"的SQL语句
附:(创建“商品管理数据库”的SQL语句) --建立"商品管理数据库"数据库-- create database 商品管理数据库 on(name='商品管理数据库_m', file ...
- 在线数据库表(sql语句)生成java实体类工具
相信每个做java开发的读者,都接触过SQL建表语句,尤其是在项目开发初期,因为数据库是项目的基石. 在现代项目开发中,出现了许多ORM框架,通过简单的实体映射,即可实现与数据库的交互,然而我们最初设 ...
- GP数据库 常用SQL语句
GP数据库 常用SQL语句 --1,查看列名以及类型 select upper(column_name) ,data_type from information_schema.columns wher ...
- Oracle,SQL Server 数据库较MySql数据库,Sql语句差异
原文:Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 1.关系型数据库 百度百科 关系数据库 ...
- [数据库]简单SQL语句总结
1.在查询结果中显示列名:a.用as关键字:select name as '姓名' from students order by ageb.直接表示:select name '姓名' from ...
- 《大话数据库》-SQL语句执行时,底层究竟做了什么小动作?
<大话数据库>-SQL语句执行时,底层究竟做了什么小动作? 前言 大家好,我是Taoye,试图用玩世不恭过的态度对待生活的Coder. 现如今我们已然进入了大数据时代,无论是业内还是业外的 ...
随机推荐
- yum nfs
linux下3大文件共享方法 1.NFS NFS服务器配置 编辑/etc/exports,在文件中列出,要共享的目录.书写规则是:共享目录主机(参数).并且每条规则占据一行.例如: /mnt/mp3 ...
- Selenium IDE整理
安装 Step1: 下载Firefox浏览器 http://www.firefox.com.cn/ Step2: 安装Selenium IDE插件 http://seleniumhq.org/down ...
- 如何编写一个JSON解析器
编写一个JSON解析器实际上就是一个函数,它的输入是一个表示JSON的字符串,输出是结构化的对应到语言本身的数据结构. 和XML相比,JSON本身结构非常简单,并且仅有几种数据类型,以Java为例,对 ...
- 机器学习实战__KNN1
KNN的算法工作原理: 存在一个训练样本集合,样本集中每个数据都有确定的标签(分类),即我们知道样本集中每一数据与所属分类的对应关系.输人没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征 ...
- STL 常用的一些容器总结
数据结构 描述 实现头文件 向量(vector) 连续存储的元素 <vector> 列表(list) 由节点组成的双向链表 <list> 双队列(deque) 连续存储的指向不 ...
- ViewPager的setOnPageChangeListener方法详解
http://www.eoeandroid.com/forum.php?mod=viewthread&tid=548173 ViewPage使用时,最关键的代码就是setOnPageChang ...
- Java基础知识强化20:面向对象和面向过程的思想对比
面向对象与面向过程的区别 1. 与面向对象编程思想相比较的,往往是面向过程的编程思想,其实在我来理解,两者并不冲突,原因是面向对象的编程也必须使用面向过程的思维来实现具体的功能,所以我认为,两者的区 ...
- 大数据笔记01:大数据之Hadoop简介
1. 背景 随着大数据时代来临,人们发现数据越来越多.但是如何对大数据进行存储与分析呢? 单机PC存储和分析数据存在很多瓶颈,包括存储容量.读写速率.计算效率等等,这些单机PC无法满足要求. 2. ...
- java集合框架01
List 接口存储一组不唯一(可以重复),有序(插入顺序)的对象 01. ArrayList实现了长度可变的数组,在内存中分配连续的空间.遍历元素和随机访问元素的效率比较高 通过看ArrayList的 ...
- Cannot modify header information - headers already sent by
有时候你在使用 header("Location: http://localhost/myblog/index.php/manager/listview");的时候会出现这个问题, ...