数据库 数据库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. 现如今我们已然进入了大数据时代,无论是业内还是业外的 ...
随机推荐
- winPcap_4_获取已安装设备的高级信息
由 pcap_findalldevs_ex() 返回的每一个 pcap_if 结构体,都包含一个 pcap_addr 结构体,这个结构体由如下元素组成: 一个地址列表 一个掩码列表 (each of ...
- Robot Framework学习资料
robot user guide:http://robotframework.org/robotframework/#user-guide robot selenium 详细介绍:http://pan ...
- Something broke! (Error 500)——reviewboard
Something broke! (Error 500) 1.什么时候会出现? 不清楚,出现过几次 2.解决手段及方法: 更改/www_rb/conf/settings_local.py文件,将DEB ...
- 【深入了解cocos2d-x 3.x】定时器(scheduler)的使用和原理探究(3)
上篇文章分析到了定时器的定义.这篇的重点就是定时器是怎样执行起来的. 1.从main中寻找定时器的回调 讲定时器的执行,就不得不触及到cocos2dx的main函数了,由于定时器是主线程上执行的.并非 ...
- Tomcat: IllegalStateException: No output folder --reference
Today, I started to create a couple of JSP pages for the server-side part of my MSc thesis project i ...
- Java Numeric Formatting--reference
I can think of numerous times when I have seen others write unnecessary Java code and I have written ...
- 使用symbolicatecrash分析crash文件
对于我们iOS开发者来说,最心碎的事莫过于苹果审核一个星期后上架app store,而第二天就报出闪退bug.一周前我刚经历过,而且最坑的是由于第一次做个人开发,经验不足,没有集成友盟的分析SDK,还 ...
- XgCalendar日历插件动态添加参数
在使用xgcalendar日历插件的时候,参数数组并非只有类型.显示时间.时区等这些参数,还可以根据extParam自定义参数扩展搜索条件,例如根据用户Id搜索不同用户的日历信息,需要将用户的Id存在 ...
- TreeSet与TreeMap
TreeSet底层使用的存储容器为TreeMap TreeMap使用红黑树(一种自平衡的排序二叉树)实现,检索效率为O(logn) 红黑树的三个基本操作:左旋.右旋.着色 平衡二叉树:空树或左右子树高 ...
- JVM内存回收对象及引用分析
自动垃圾回收是Java相较于C++的一个重要的特点,想了解JVM的垃圾回收机制,首先我们要知道垃圾回收是回收什么地方的垃圾,我在我的上一篇博客<JVM内存区域划分>里面有写到JVM里面的内 ...