oracle学习笔记(四) DML数据控制语言和TCL 事务控制语言
DML 数据管理语言 Data manage language
insert, update, delete以及select语句,不过,有人也把select单独出来,作为DQL 数据查询语言 data query language
insert,update和delete都需要执行commit才能将数据真正写入到数据库中
select 查询
select语法:
select 字段列表:empno,ename,job....
from 表名1 [,table2]
where [条件:列名=值]
[group by 列名,列名2..] 分组统计查询
[order by 列名1 asc/desc] [,列名2 asc/desc]:
/*
where子名: 限定(筛选)查询结果,多个条件可使用and | or 连接多个查询条件
order by子名:对结果排序;asc升序,desc降序,默认升序
distinct: 消除重复列
*/
补充:
--下面两个语句等同
select s.* from student s;
select * from student s;
--查询的结果多出一列address
select s.*,address from student s
--需要知道某公司的员工的所有工作有哪些,就是使用distinct清除掉重复的
select distinct job from employee;
--取个别名 my job 别名如果有空格的就得用双引号,否则语法会有错误
select distinct job as "my job" from employee;
select distinct job as my_job from employee;
--求总记录数,使用count函数
select count(*) from employee;
高级查询之后补充联合查询..
insert 插入
insert语法1:
INSERT INTO <table_name>[(column...list)]
VALUES(value...list)
insert语法2:
INSERT INTO <table_name> [(cloumn_list)]
SELECT column_names FROM <other_table_name>;
--插入一套数据,该数据只有列名1和列名2有值,得对应
insert into $tablename$(列名1,列名2) values(列名1 值1,列名2 值2)
--默认不写,得写完,得对应
insert into $tablename$ values(列名1 值1,列名2 值2...)
insert into $tablename$.emp (几个列名) values(与列名保持一致) --字符串是单引号
commit; --不提交的话,放在数据缓存区中,只能在当前会话可以查询得到,其他会话Sention是查询不到的
roolback; --回滚
--把查询的结果插入到表中,列的顺序一一对应
insert into tablename
select * from table2name;
update 修改(更新)
语法:
UPDATE <table_name> SET <字段名1>=值1, <字段名2>=值2,…….
WHERE <条件1> AND[OR] <条件2>.......
update student set age=10
where num = 10; --如果可以用主键作条件那最好就是用主键去更新,and or 多重条件
update student set age = age+1
where num = 10;
delete 删除
语法:
DELETE [FROM] <table_name> WHERE <条件>
delete student where num = 10;
事务控制语言:TCL (commit, rollback, savepoint)
事务控制语言:TCL: Transaction Controll Language
- 事务是最小的工作单元,它作为一个整体进行操作, 此工作单元中的语句要么全部成功,要么全部失败不充许部分成功和部分失败
- 保证事务的整体成功或失败,称为事务控制
- 事务的四大特性ACID :
原子性(Atomicity )、一致性(Consistency )、隔离性(Isolation)、持久性(Durability ) - 用于事务控制的语句有:
- COMMIT - 提交并结束事务处理
- ROLLBACK - 撤销事务中已完成的工作
- SAVEPOINT – 标记事务中可以回滚的点
update student where num=10;
savepoint s1;
insert into student where num=11;
rollback s1; --回退到了s1,也就是之后的插入数据操作撤销了
commit;
oracle学习笔记(四) DML数据控制语言和TCL 事务控制语言的更多相关文章
- oracle学习笔记(四) DQL数据查询语言和TCL 事务控制语言
DML 数据管理语言 Data manage language insert, update, delete以及select语句,不过,有人也把select单独出来,作为DQL 数据查询语言 data ...
- Oracle学习笔记四 SQL命令(二):SQL操作语言类别
SQL分为下列语言类别 1.数据定义语言(DDL) Create.Alter.Drop 2.数据操纵语言(DML) Insert.Select.Delete.Update 3.事务控制语言(TCL) ...
- oracle 学习笔记(四)
1. SQL(高级查询) 1.1. 子查询 1.1.1. 子查询在WHERE子句中 在SELECT查询中,在WHERE查询条件中的限制条件不是一个确定的值,而是来自于另外一个查询的结果.为了给查询提供 ...
- Oracle学习笔记四
一.PL/SQL编程 游标(光标Cursor) 为什么使用游标 在写java程序中有集合的概念,那么在pl/sq中也会用到多条记录,这时候我们就要用到游标,游标可以存储查询返回的多条数据. 语法: C ...
- Oracle学习笔记(四)
六.约束 1.约束的作用 定义规则:什么数据可以输入,什么不可以 确保完整性:数据的精确性和可靠性 2.Oracle五个重要的约束: 非空约束.主键约束.外键约束.检查约束.唯一约束. (1)非空约束 ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- Oracle学习笔记之四,SQL语言入门
1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...
- MySql学习笔记四
MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类 ...
- C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻
前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...
随机推荐
- SQL server 统计分组经计
SUM(A.AREA) OVER ( PARTITION BY A.ItemNo, A.PARTS ,A.WIDTH,A.HEIGHT) allotQty, SUM(A.SL) OVER ( PART ...
- docker for windows 中 镜像 microsoft/donet 的文件结构
一共有3个文件夹和1个文件: [Program Files] [Users] [Windows] License.txt 使用vs默认生成的dockerfile文件生成后,会新增app文件夹.
- 一本通&&洛谷——P1120 小木棍 [数据加强版]——题解
题目传送 一道特别毒瘤能提醒人不要忘记剪枝的题. 首先不要忘了管理员的话.忘把长度大于50的木棍过滤掉真的坑了不少人(包括我). 显然是一道DFS题 .考虑剪枝. 找找搜索要面临的维度.状态:原始木棍 ...
- PHP快速教程
1.本文主要针对有C语言(或其他编程语言)基础的人快速学习PHP的,所以不会对一些基础知识作过多解释,比如“=”是赋值不是等于. 2.本文适合已学过一门编程语言,想要快速入门PHP的人. 3.基本上看 ...
- Android CPU使用率:top和dump cpuinfo的不同
CPU是系统非常重要的资源,在Android中,查看CPU使用情况,可以使用top命令和dump cpuinfo.我记得很久以前,就发现这两者存在不同,初步猜测应该是算法上存在差异.最近需要采集应用C ...
- Oracle Where子句
Oracle Where子句 作者:初生不惑 Oracle基础 评论:0 条 Oracle技术QQ群:175248146 在本教程中,将学习如何使用Oracle WHERE子句来指定过滤的条件返回符合 ...
- 关于VMware 15搭建MacOS 10.14后无法播放在线视频和客户端视频的问题
最近在自己的电脑上搭建了MacOS10.14系统,搭建是成功了,但是发现一个很坑的事,看视频发现黑屏.就是那种只有声音,没有视频的问题,在多个浏览器上和客户端都是一样的.百度了下,总结有2种可能,一是 ...
- VMware 15 搭建win 10 实操步骤+共享文件+激活操作
写于:2018.12.22 一.简介: VMware 15 里搭建win 10是件很坑的事.我尝试了3种方法,最后才搭建成功.为了不让网友们不在走我走过的坑,特写了本文. 坑一:用老毛桃.大白菜搭 ...
- mac 电脑设置密码可以直接使用 passwd 这个命令
mac 电脑设置密码可以直接使用 passwd 这个命令 说明:这个命令行级别的设置会直接影响到我们登录.
- idea中svn代码冲突
1.鼠标右键点击项目根目录 --> 2.选择 subversion --> 3.resolve Text Confict --> 4.merge 手动编辑冲突部分,解决后就能正常提交 ...