数据库 数据库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. 现如今我们已然进入了大数据时代,无论是业内还是业外的 ...
随机推荐
- 【最长下降子序列】【动态规划】【二分】XMU 1041 Sequence
题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1041 题目大意: 一个二维平面,上面n(n<=1 000 000)个点.问至少选 ...
- Sqlserver2012 alwayson部署攻略
http://wenku.baidu.com/link?url=3Gl5nwxE6Rq4ZKGaKWpYZ1D4OdwVLcVeMoGTOmFSILDJzanPy9fwMPRwr7CRu4HhDzXr ...
- vim 插件
自动补全插件更换:youcompleteme github:https://github.com/Valloric/YouCompleteMe
- Linux下DVD-R刻录问题
之前CD的刻录一直使用的命令行工具集cdrtools中的mkisofs.cdrecord.然后本来刻录DVD可以使用它的growisofs命令. 现在假设原始文件目录为/src/,目标目录为/dest ...
- 《SDN核心技术剖析和实战指南》2.4 OVS交换机实现分析小结
Open vSwitch(OVS)是一款基于软件实现的开源交换机.它能够支持多种标准的管理接口和协议以及跨多个物理服务器的分布式环境.特别地,OVS提供了对OpenFlow协议的支持,并且能够与众多开 ...
- 最受欢迎linux命令
1. 以 root 帐户执行上一条命令 sudo !! 2. 利用 Python 搭建一个简单的 Web 服务器,可通过 http://$HOSTNAME:8000访问 python -m ...
- 男装电商Bonobos融资5500万美元,计划IPO,全靠体验店战略 - 国外 - 快鲤鱼
男装电商Bonobos融资5500万美元,计划IPO,全靠体验店战略 - 国外 - 快鲤鱼 男装电商Bonobos融资5500万美元,计划IPO,全靠体验店战略
- windows server 2003 64x 读取office数据终极解决办法 The 'Microsoft.Jet.OLEDB.4.0' provider is not registered
微软老子信了你的邪! 试了各种办法没有效果 网友解决办法一: The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the ...
- python:redis简单操作
一,安装redis-py pip install redis easy_install redis 二,简单用法 import redis # 连接redis服务器 def conn_redis(): ...
- DAY TRADER
日内交易是一种交易模式,英文名字是daytrade,主要是指持仓时间短,不留过夜持仓的交易方式.日内交易捕捉入市后能够马上脱离入市成本的交易机会,入市之后如果不能马上获利,就准备迅速离场.因为这种交易 ...