delete和truncate操作
SQL> --查询表的结构
SQL> desc student;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
SNO NOT NULL NUMBER(4)
TNO NOT NULL NUMBER(4)
SQL> insert into student values(1,1);
insert into student values(1,1)
*
第 1 行出现错误:
ORA-02291: 违反完整约束条件 (T09.FK_TEACHER_STUDENT) - 未找到父项关键字
SQL> --因为teacher表中都没有id为1的,所有会报错
SQL> desc teacher;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
TNO NOT NULL NUMBER(4)
TNAME NOT NULL VARCHAR2(20)
TID VARCHAR2(20)
BIRTHDAY DATE
SAL NUMBER(7,2)
SEX CHAR(2)
SQL> --给teacher表新增数据
SQL> insert into teacher(tno,tname) values(1,'黑黑');
已创建 1 行。
SQL> --查询teacher
SQL> select tno,tname from teacher t;
TNO TNAME
---------- ----------------------------------------
1 黑黑
SQL> select t.tno,t.tname from teacher t;
TNO TNAME
---------- ----------------------------------------
1 黑黑
SQL> --提交事务
SQL> commit;
提交完成。
SQL> --删除teacher 表中的数据
SQL> delete * from teacher;
delete * from teacher
*
第 1 行出现错误:
ORA-00903: 表名无效
SQL> delete from teacher;
已删除 1 行。
SQL> select * from teacher;
未选定行
SQL> --回滚事务
SQL> rollback;
回退已完成。
SQL> select * from teacher;
TNO TNAME
---------- ----------------------------------------
TID BIRTHDAY SAL SEX
---------------------------------------- -------------- ---------- ----
1 黑黑
SQL> --truncate的删除
SQL> select * from teacher;
TNO TNAME
---------- ----------------------------------------
TID BIRTHDAY SAL SEX
---------------------------------------- -------------- ---------- ----
1 黑黑
SQL> truncate table teacher;
truncate table teacher
*
第 1 行出现错误:
ORA-02266: 表中的唯一/主键被启用的外键引用
SQL> --这个错误是因为student表中有外键关联teacher表
SQL> truncate table teacher;
表被截断。
SQL> --回滚事务
SQL> rollback;
回退已完成。
SQL> select * from teacher;
未选定行
SQL> --delete可以有条件
SQL> --首先新增两条数据
SQL> insert into teacher(tno,tname) values(1,'a');
已创建 1 行。
SQL> insert into teacher(tno,tname) values(2,'b');
已创建 1 行。
SQL> select * from teacher;
TNO TNAME
---------- ----------------------------------------
TID BIRTHDAY SAL SEX
---------------------------------------- -------------- ---------- ----
1 a
2 b
SQL> delete from teacher where tno=1;
已删除 1 行。
SQL> select * from teacher;
TNO TNAME
---------- ----------------------------------------
TID BIRTHDAY SAL SEX
---------------------------------------- -------------- ---------- ----
2 b
SQL> --delete 删除可以有条件限制! truncate 无条件截断表!表中的数据全部丢失! 但是表结构还在!
SQL> spool off;
(以上内容来自王硕老师)
delete和truncate操作的更多相关文章
- 3.数据库操作相关术语,Oracle认证,insert into,批量插入,update tablename set,delete和truncate的差别,sql文件导入
1相关术语 语句 含义 操作 DML语句 (Data Manipulation Language) 数据库操作语言 insert update delete select DDL语言 (Date ...
- Oracle delete和truncate实践操作之一
实践说明 本文章主要记录在Oracle中,delete和truncate进行数据删除之后,如何进行数据恢复.由于网上对delete和truncate的区别说明较多,此处不过多介绍两者区别. 注:由于环 ...
- 详解Oracle DELETE和TRUNCATE 的区别(摘)
语法delete from aa truncate table aa 区别 1.delete from后面可以写条件,truncate不可以. 2.delete from记录是一条条删的,所删除的每行 ...
- MySql的Delete、Truncate、Drop分析
MySql的Delete.Truncate.Drop分析 相同点: truncate 和不带 where 子句的 delete,以及 drop 都会删除表内的数据 不同点 1. truncate 和 ...
- SQL Server delete、truncate、drop
在T-SQL中这三个命令符,相信很多朋友都不会陌生的,我自己在工作也会常常使用到它们,虽然我们清除的知道用这三个命令符可以达到怎样的预期效果. 但是却很少深入的去了解它们,知道它们有什么区别,又各有什 ...
- Delete和Truncate的区别
原文:Delete和Truncate的区别 一般对于没有用的数据,都会经行删除,而删除通常使用的是DELETE和TRUNCATE命令.对于有条件地删除,基本上就会使用DELETE,当然还是没有绝对,用 ...
- Oracle中的delete和truncate的关系
转自:http://chenxy.blog.51cto.com/729966/168459 1.相同点 a.都可以删除数据,其中truncate用于全表清空数据,而delete可以选择的删 ...
- 数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较
数据库删除语句的分别介绍: Delete:用于删除表中的行(注:可以删除某一行:也可以在不删除表的情况下(即意味着表的结构.属性.索引完整)删除所有行) 语法:删除某一行:Delete From 表名 ...
- oracle中delete、truncate、drop的区别
oracle中delete.truncate.drop的区别 标签: deleteoracletable存储 2012-05-23 15:12 7674人阅读 评论(0) 收藏 举报 分类: ora ...
随机推荐
- mysql数据库优化课程---16、mysql慢查询和优化表空间
mysql数据库优化课程---16.mysql慢查询和优化表空间 一.总结 一句话总结: a.慢查询的话找到存储慢查询的那个日志文件 b.优化表空间的话可以用optimize table sales; ...
- python脚本7_打印九九乘法表
#打印九九乘法表 for i in range(1,10): s = "" for j in range(1,i+1): s += str(j) + '*' + str(i) + ...
- 引发事件代码封装成OnEventName
引发事件的代码,通常可以封装成“On+事件名称”的方法(On:表示当“什么什么”的时候),如下所示: 1:引发事件代码: if (PropertyChanged != null)//为了实现将数据源的 ...
- JS返回一个数据的千分位格式
/** * 价钱转换-从右往左每3位数字加一个逗号 * @param price 需要转换的价格 */ formatPrice(price){ var newPrice = price.split(' ...
- VirtualBox安装Ubuntu搭建js环境的注意事项
1.使用CPU-Z工具检查主板是否支持虚拟技术,因为VirtulBox虚拟机需要主板支持虚拟技术 2.Ubuntu安装之后重启会出现:please remove this install medium ...
- MyCAT 命令行监控
MyCAT 命令行监控 9066端口 ,用mysql命令行连接 Mysql –utest –ptest –P9066 show @@help 可显示所有相关管理命令
- 基于C#在Mongodb的Skip-Limit和Where-Limit的分页对比 并且含mongodb帮助类的源码
最近在设计的日志服务中需要用到Mongodb这个Nosql数据库(不知道Mongodb的点我),由于是用于纯存日志,而且日志量巨大,百万千万级的,所以需要用到它的分页查询. 不过LZ也是刚刚接触这个数 ...
- ios 不兼容 报错NaN
function GetDateDiff(DiffTime) { //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 Time = DiffTime.replace(/\-/g, ...
- Appium Remote webdriver调用
remote webdriver的模板 默认开启4723端口接受webdriver请求 默认开启4724用于和android通讯 #coding:utf-8 #Import the common pa ...
- ubuntu安装搜狗输入法的相关问题
最近换了一次电脑,要重新装系统,就选择了ubuntu14.04 LTS版本的,这个版本官方支持到2019年了,所以相对来说比较稳定,也不用担心软件源的问题.不像14.10那样,现在官方已经没有软件源的 ...