数据库的临时表以及对数据的增、删、改
0.临时表
create global temporary table my_temp(
tempid number(9) primary key,
tempName varchar2(20)
)
on commit delete rows; //表示提交数据,就消除临时表中的数据
insert into my_temp values(1,'a');
select * from my_temp;
commit; //将缓存中的数据存到硬盘中(即提交数据)
create global temporary table my_temp(
tempid number(9) primary key,
tempName varchar2(20)
)
on commit preserve rows; //表示会话结束,就消除临时表中的数据
insert into my_temp values(1,'a');
commit; //将缓存中的数据存到硬盘中(即提交数据)
select * from my_temp;
exit; //断开数据库连接(即会话结束)
补充:schema(表示数据库对象的统称)
//给别的用户创建表必须拥有 create any table 权限
system: create table scott.my(id number(9));
--DML (数据操作语言,只能操作数据,不能改变表结构)
--insert update delete select
1.插入数据(insert into )
语法:insert into table_name(column_nam[.,.,.] ) values(column_value[.,.,.])
注意:column_name与column_name个数,类型一致
当插入所有字段时,可以省略column_name,但column_value一定要与表结构一致
当使用默认值的字段使用关键字default
A.表中一次插入多条数据
a.表不存在 =>数据已提交
1).与原表一样
create table myperson as select * from person;
2).取原表中的部分字段
create table myperson01 as select name,age from person;
3).取原表中的部分字段和其他数据
create table myperson02 as select name,age, 'oracle' "company" from person;
b.表存在 =>数据未提交,需要commit;提交数据
1).与原表一样
insert into table myperson select * from person;
commit;
2).取原表中的部分字段
insert into table myperson01 select name,age from person;
commit;
3).取原表中的部分字段和其他数据
insert into table myperson02 select name,age, 'sun' from person;
commit;
B.一次插入多条数据,不借助有数据的表
dual:这是系统提供的一张临时表
union:把多个查询结果整合到一起
insert into myperson01
select 'ee',19,5 from dual union
select 'ff',20,6 from dual;
2.更新数据(update)
A.更新所有记录
a.更新一个字段
update myperson02 set "Company"='yc';
b.更新多个字段
update myperson02 set "Company"='yc',age=19;
B.更新部分记录 => where条件,用来筛选数据(条件为true就更新,条件为false不更新)
a.更新一个字段
update myperson02 set "Company"='alibaba' where id=3;
b.更新多个字段
update myperson02 set "Company"='baidu',age=19 where id=1;
C.当有主外键关系时,更新外键值,外键值必须在主表内有
update person set phoneid=2 where id=5;//在主表中没有,更新失败
update person set phoneid=3 where id=4;//在主表中有,更新成功
小结:
insert update delete select => DML(数据操作语言,只能操作数据,不能改变表结构) 数据会存在回滚段中
create alter drop truncate => DDL(数据定义语言,可以改变表结构)
grant revoke => DCL(数据控制语言)
commit rollback => TCL(事物控制语言,针对DML语言)
3.删除数据(delete)
A.没带条件,删除表中所有的数据
1).
delete from mye;
rollback; //数据回滚
2).彻底删除
delete from mye;
commit; //把回滚空间的数据刷掉了
rollback; //数据回不来了
B.带条件删除表中的数据
delete from myperson01 where id=2;
C.截断 truncate (不会把删除的数据放入undo(回滚)空间,所以rollback找不回数据)
truncate table myperson01; == delete from myperson01;commit;
数据库的临时表以及对数据的增、删、改相关推荐
- mysql并行dml_MySql的回顾九DML表数据的增,删,改,与DDL库表的增删改,约束
雷霆空霹雳,云雨竟虚无.炎赫衣流汗,低垂气不苏.杜圣人热的时候不知是怎么解暑的???但这边这几天天气好像一直都不是太好哎! 不过无所谓了,都过了这么长时间,也习惯了,我还是继续带各位看官复习MySql ...
- datatable更新到mysql_.NET_使用DataTable更新数据库(增,删,改),1、修改数据复制代码 代码如 - phpStudy...
使用DataTable更新数据库(增,删,改) 1.修改数据 DataRow dr = hRDataSet.Tables["emp"].Rows.Find(textBox3.Tex ...
- 表单的增 删 改 查
django单表操作 增 删 改 查 一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取 ...
- properties(map)增.删.改.查.遍历
import java.util.Map; import java.util.Properties; import java.util.Set;/*** properties(map)增.删.改.查. ...
- python学生姓名添加删除_python-函数-实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。...
实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统. 要求1:使用一个list用于保存学生的姓名. 要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit ...
- java stringbuilder 替换字符串_StringBuilder修改字符串内容,增,删,改,插
package seday01; /** * 字符串不变对象特性只针对字符串重用,并没有考虑修改操作的性能.因此String不适合频繁修改内容. * 若有频繁修改操作,使用StringBuilder来 ...
- PySpark︱DataFrame操作指南:增/删/改/查/合并/统计与数据处理
笔者最近需要使用pyspark进行数据整理,于是乎给自己整理一份使用指南.pyspark.dataframe跟pandas的差别还是挺大的. 文章目录 1.-------- 查 -------- -- ...
- 数据结构 严薇敏 顺序表的实现(增 删 改)及其使用方法详解
时间复杂度 数据结构 时间复杂度和空间复杂度 目录 1.线性表 2.顺序表 2.1概念及结构 2.2 接口实现 SeqList.h SeqList.c 2.2.1初始化链表以及销毁链表的实现 初始化顺 ...
- 02、django model 模型的使用 基本引擎配置[ 增 删 改]
1.DEBUG 和 BASE_DIR参数 --DEBUG = True # 表示调试的错误可以看到,一般项目上线之后要设置为False--BASE_DIR = os.path.dirname(os.p ...
最新文章
- mysql之 CentOS系统针对mysql参数优化
- uniapp中自定义返回和物理返回
- ISE MAP报错: Unsupported programming for BSCAN block and JTAG_CHAIN attribute value 1的解决方法
- Spring中RedirectAttributes的用法
- JVM 调优参数详解
- idea的html表单老提交后显示404,IDEA项目部署顺利后访问一直404
- UI干货素材模板|从做好网页头部内容设计开始!
- 大咖博闻荟 | 基于NSX-T和AVI实现企业双活中心
- Rust 语言本身的问题
- vue导出Excel组件
- oracle vm virtualbox无网络连接_VirtualBox 安装 Windows 2000/XP 测试
- 工业交换机和普通交换机有什么不同,又有哪些作用和优点
- 很重要,padding margin百分比按照父元素width作为参照物
- selenium Gird
- 成都拓嘉启远:造成拼多多异常订单的五种常见原因
- 【753. 破解保险箱】
- 推特CEO继任者曝光:带着老婆孩子睡公司,钢铁侠20年嫡系,现在掌舵挖洞公司...
- 最短路径三大算法——1,弗洛伊德算法floyd(复杂度O(n^3))
- 这几个Python数据可视化探索实例,拿走不谢!
- 学生博客,教师博客地址,有用博客地址
热门文章
- ASP.NET Web应用程序的登录
- 网页中的编码方式的查看
- 中文巨量模型“源1.0”的模型结构与生成效果解析
- 上三角矩阵的乘法C语言,【数据结构】——基于压缩存储的半三角矩阵乘法运算的实现...
- 新闻丨智链ChainNova受邀参加TOP100全球软件案例研究峰会
- [天龙/汉威]可变信息标志通信协议-向可变信息标志上载文件(JAVA版)
- 实验室设计规范与标准(实验室设计原则)
- 【职坐标】java集合框架简介
- Unity3D —— 实时PVP小地图实现
- 水稻样品基因型快速鉴定