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;

数据库的临时表以及对数据的增、删、改相关推荐

  1. mysql并行dml_MySql的回顾九DML表数据的增,删,改,与DDL库表的增删改,约束

    雷霆空霹雳,云雨竟虚无.炎赫衣流汗,低垂气不苏.杜圣人热的时候不知是怎么解暑的???但这边这几天天气好像一直都不是太好哎! 不过无所谓了,都过了这么长时间,也习惯了,我还是继续带各位看官复习MySql ...

  2. datatable更新到mysql_.NET_使用DataTable更新数据库(增,删,改),1、修改数据复制代码 代码如 - phpStudy...

    使用DataTable更新数据库(增,删,改) 1.修改数据 DataRow dr = hRDataSet.Tables["emp"].Rows.Find(textBox3.Tex ...

  3. 表单的增 删 改 查

    django单表操作 增 删 改 查 一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取 ...

  4. properties(map)增.删.改.查.遍历

    import java.util.Map; import java.util.Properties; import java.util.Set;/*** properties(map)增.删.改.查. ...

  5. python学生姓名添加删除_python-函数-实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。...

    实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统. 要求1:使用一个list用于保存学生的姓名. 要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit ...

  6. java stringbuilder 替换字符串_StringBuilder修改字符串内容,增,删,改,插

    package seday01; /** * 字符串不变对象特性只针对字符串重用,并没有考虑修改操作的性能.因此String不适合频繁修改内容. * 若有频繁修改操作,使用StringBuilder来 ...

  7. PySpark︱DataFrame操作指南:增/删/改/查/合并/统计与数据处理

    笔者最近需要使用pyspark进行数据整理,于是乎给自己整理一份使用指南.pyspark.dataframe跟pandas的差别还是挺大的. 文章目录 1.-------- 查 -------- -- ...

  8. 数据结构 严薇敏 顺序表的实现(增 删 改)及其使用方法详解

    时间复杂度 数据结构 时间复杂度和空间复杂度 目录 1.线性表 2.顺序表 2.1概念及结构 2.2 接口实现 SeqList.h SeqList.c 2.2.1初始化链表以及销毁链表的实现 初始化顺 ...

  9. 02、django model 模型的使用 基本引擎配置[ 增 删 改]

    1.DEBUG 和 BASE_DIR参数 --DEBUG = True # 表示调试的错误可以看到,一般项目上线之后要设置为False--BASE_DIR = os.path.dirname(os.p ...

最新文章

  1. mysql之 CentOS系统针对mysql参数优化
  2. uniapp中自定义返回和物理返回
  3. ISE MAP报错: Unsupported programming for BSCAN block and JTAG_CHAIN attribute value 1的解决方法
  4. Spring中RedirectAttributes的用法
  5. JVM 调优参数详解
  6. idea的html表单老提交后显示404,IDEA项目部署顺利后访问一直404
  7. UI干货素材模板|从做好网页头部内容设计开始!
  8. 大咖博闻荟 | 基于NSX-T和AVI实现企业双活中心
  9. Rust 语言本身的问题
  10. vue导出Excel组件
  11. oracle vm virtualbox无网络连接_VirtualBox 安装 Windows 2000/XP 测试
  12. 工业交换机和普通交换机有什么不同,又有哪些作用和优点
  13. 很重要,padding margin百分比按照父元素width作为参照物
  14. selenium Gird
  15. 成都拓嘉启远:造成拼多多异常订单的五种常见原因
  16. 【753. 破解保险箱】
  17. 推特CEO继任者曝光:带着老婆孩子睡公司,钢铁侠20年嫡系,现在掌舵挖洞公司...
  18. 最短路径三大算法——1,弗洛伊德算法floyd(复杂度O(n^3))
  19. 这几个Python数据可视化探索实例,拿走不谢!
  20. 学生博客,教师博客地址,有用博客地址

热门文章

  1. ASP.NET Web应用程序的登录
  2. 网页中的编码方式的查看
  3. 中文巨量模型“源1.0”的模型结构与生成效果解析
  4. 上三角矩阵的乘法C语言,【数据结构】——基于压缩存储的半三角矩阵乘法运算的实现...
  5. 新闻丨智链ChainNova受邀参加TOP100全球软件案例研究峰会
  6. [天龙/汉威]可变信息标志通信协议-向可变信息标志上载文件(JAVA版)
  7. 实验室设计规范与标准(实验室设计原则)
  8. 【职坐标】java集合框架简介
  9. Unity3D —— 实时PVP小地图实现
  10. 水稻样品基因型快速鉴定