数据库 数据库SQL语句五

集合运算

union 并集(两个集合如果有重复部分,那么只显示一次重复部分)
union all 并集(两个集合如果有重复部分,那么重复部分显示两次)
intersect 交集
minus 差集

--查询部门号是10和20号的员工信息
select * from emp where deptno=10
union
select * from emp where deptno=20

集合运算注意事项:
1.参与运算的各个集合必须列数相同,并且类型一致
2.采用第一个集合的表头作为结果集的表头
DML数据操作

insert语句语法
使用insert语句向表中插入数据
insert into 表名 (列名1,列名2,...)
values (value1,value2,...)

--插入一条完整的数据(不需要加列名)
insert into emp values(7288,‘JACk‘,‘CLERK‘,7902,‘17-12月-80‘,1600,null,20)

--插入一条不完整的数据(需要加列名)
insert into emp (EMPNO ,ENAME,JOB,MGR,SAL,DEPTNO) values(7289,‘JHON‘,‘CLERK‘,7902,1780,20)

--插入空值的两种方式
1.隐式插入(不完整插入就是隐式插入)
2.显式插入(null就是显式插入)

--插入日期的指定值
insert into emp values(7293,‘BLACKH‘,‘CLERK‘,7902,to_date(‘1990-2-4 9:30:28‘,‘yyyy-mm-dd hh12:mi:ss‘),3400,null,20)

--插入中的&操作符(需要用户输入empno和deptno的值)
insert into emp (EMPNO,ENAME,JOB,MGR,SAL,DEPTNO) values(&empno,‘JHON‘,‘CLERK‘,7902,1780,&deptno)

--回退事务
SQL> rollback;--oracle默认开启事务

--新创建一个表(拷贝emp的表结构)
create table t1
    as
    select * from emp where 1=2

--从emp表中把10号部门的员工数据插入到t1表中
 insert into t1 ( select * from emp where deptno=10 );
--子查询不光在select中使用,而且可以在insert子句中使用
--不必书写values子句
--子查询中的值列表应与insert子句中的列名对应
update语句语法
--更新数据
--可以一次更新多条数据
update 表名
set colnum1=value1,colnum2=value2,...
where condition

eg:SQL> update t1 set ename=‘JOKE‘,sal=3000 where empno=7782;
delete语句
--从表中删除数据(表是一直存在的)
delete from 表名
where condition

eg: delete from t1 where empno=7782;
truncate语句
truncate:清空表
truncate table t1;--删除表中的所有数据
delete和truncate的区别
1.delete逐条删除 truncate先摧毁再重建
2.delete语言是DML语言 truncate是DDL语言
DML语言可以闪回,做错了并且提交了,可通过闪回撤销操作
DDL语言不可以闪回
3.delete是逐条删除,会产生碎片,truncate不会产生碎片
4.delete不会释放空间,truncate会
5.delete可以回滚,,truncate不可以
6.oracle delete快 mysql truncate快
sql语句优化⑤:oracle中删除表数据,delete快;mysql中删除表数据,truncate快。
常用oracle命令
--set timing off;--关闭sql执行时间显示
--set feedback off;--关闭数据反馈
[email protected]:\sql.sql--从c盘导入sql文件
--set timing on;--打开sql执行时间显示
数据库事务
概念:一个或多个DML语句组成
特点:要么都成功,要么都失败
特性:原子性 一致性 隔离性 持久性
事务的隔离性:多个客户端同时操作数据库时,会隔离他们的操作,
              因为oracle实例并不会直接将操作提交到数据库,所以多个事务之间的操作互不影响
事务的开始和结束
1.事务起始的标志:DHL语言(oracle默认事务是打开的)
2.事务结束的标志
    提交:显式提交commit
          隐式提交(1)执行DDL语言,DDL语言能隐式的提交数据
            eg:create table语言
            (2)正常退出
    回滚:显式:rollback
          隐式 断电,非正常退出,系统出错
回滚到保存点
1.使用savepoint语句在当前事务中创建保存点
eg:savepoint al;--创建保存点a1
2.使用rollback to savepoint 语句回滚到创建的保存点
eg:rollback to savepoint a1;回滚到a1保存点
时间: 2024-10-08 08:20:47

数据库 数据库SQL语句五的相关文章

在线数据库表(sql语句)生成java实体类工具

相信每个做java开发的读者,都接触过SQL建表语句,尤其是在项目开发初期,因为数据库是项目的基石. 在现代项目开发中,出现了许多ORM框架,通过简单的实体映射,即可实现与数据库的交互,然而我们最初设计的一定是数据库表结构,而不是实体类.实体类仅仅是对底层数据结构的有损压缩,它仅仅是数据载体,不具备数据归档能力. 因此,很多时候,我们需要将原始的SQL建表语句转换成java实体类,这项工作看似简单,但若人工完成,工作量也是相当可观的,而且难免会出现差错. 到目前为止,笔者还没有发现比较靠谱的此类

SQL Server 【附】创建"商品管理数据库"、"学生选课数据库"的SQL语句

附:(创建“商品管理数据库”的SQL语句) --建立"商品管理数据库"数据库-- create database 商品管理数据库 on(name='商品管理数据库_m', filename='D:\商品管理系统\商品管理数据库_m.mdf', size=6mb,filegrowth=1mb,maxsize=unlimited) log on(name='商品管理数据库_l', filename='D:\商品管理系统\商品管理数据库_l.ldf', size=1,filegrowth=1

清理数据库事务——SQL语句

清除流程内部的所有相关数据 eg1: declare @procedureTemp table ( [ProcedureCode] varchar(10) ) declare @ProcedureCode varchar(10) INSERT into @procedureTemp SELECT ProcedureCode FROM WorkFlowProcedure WHILE EXISTS(select [ProcedureCode] from @procedureTemp) begin -

[数据库]简单SQL语句总结

1.在查询结果中显示列名:a.用as关键字:select name as '姓名'   from students order by ageb.直接表示:select name '姓名'   from students order by age 2.精确查找:a.用in限定范围:select * from students where native in ('湖南', '四川') b.between...and:select * from students where age between 2

在线数据库表(sql语句)生成java实体类工具 - 参考手册

SQL建表语句 说明 格式良好的SQL建表语句,可以是直接从PowerDesigner.Navicat等工具中导出SQL建表语句.所谓格式良好,是指建表指令与表名必须在一行,字段名称.类型.注释必须在一行,因为这个工具是用正则实现的,并不是语法解析器,当然,以后有时间的话,会改进成解析器. 举例 -- ---------------------------- -- Table structure for t_activity -- ---------------------------- DRO

Oracle数据库常用Sql语句大全

一,数据控制语句 (DML) 部分 1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); INSERT INTO 表名(字段名1, 字段名2, --)  SELECT (字段名1, 字段名2, --) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: 'GOOD DAY' 如果字段值里包含单引号' 需要进行字符串转换, 我们把它替换成两个单引号''. 字符串类型的字段值超过

Oracle 数据库常用sql语句及知识

<Oracle 数据库> 一.常用sql语句: 1.连接系统管理员账号:conn system/system(安装时口令); 2.创建新账号:create user Leo(账号名) identified by Leo(密码): 3.给新账号授权:grant connect,resource to Leo; 4.从某个账户收权:revoke resource from Leo; 5.连接新账号:conn Leo/Leo; 6.显示当前客户:show user; 7.查看表结构:desc s_e

数据库基本----SQL语句大全

学会数据库是很实用D~~记录一些常用的sql语句...有入门有提高有见都没见过的...好全...收藏下...其实一般用的就是查询,插入,删除等语句而已....但学学存储过程是好事...以后数据方面的东西就不用在程序里搞喽..而且程序与数据库只要一个来回通讯就可以搞定所有数据的操作.... 一.基础 1.说明:创建数据库Create DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 d

数据库之sql语句汇总20180616

/*******************************************************************************************/ 一.SQL简介 SQL:结构化查询语言 SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统. SQL 语句用于取回和更新数据库中的数据.SQL 可与数据库程序协同工作,比如 MS Access.DB2.Informix.MS SQL Server.Oracle.Sybase 以及其他数据库系统