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操作的更多相关文章

  1. 3.数据库操作相关术语,Oracle认证,insert into,批量插入,update tablename set,delete和truncate的差别,sql文件导入

     1相关术语 语句 含义 操作 DML语句 (Data Manipulation Language) 数据库操作语言 insert update delete select DDL语言 (Date ...

  2. Oracle delete和truncate实践操作之一

    实践说明 本文章主要记录在Oracle中,delete和truncate进行数据删除之后,如何进行数据恢复.由于网上对delete和truncate的区别说明较多,此处不过多介绍两者区别. 注:由于环 ...

  3. 详解Oracle DELETE和TRUNCATE 的区别(摘)

    语法delete from aa truncate table aa 区别 1.delete from后面可以写条件,truncate不可以. 2.delete from记录是一条条删的,所删除的每行 ...

  4. MySql的Delete、Truncate、Drop分析

    MySql的Delete.Truncate.Drop分析 相同点: truncate 和不带 where 子句的 delete,以及 drop 都会删除表内的数据 不同点 1. truncate 和 ...

  5. SQL Server delete、truncate、drop

    在T-SQL中这三个命令符,相信很多朋友都不会陌生的,我自己在工作也会常常使用到它们,虽然我们清除的知道用这三个命令符可以达到怎样的预期效果. 但是却很少深入的去了解它们,知道它们有什么区别,又各有什 ...

  6. Delete和Truncate的区别

    原文:Delete和Truncate的区别 一般对于没有用的数据,都会经行删除,而删除通常使用的是DELETE和TRUNCATE命令.对于有条件地删除,基本上就会使用DELETE,当然还是没有绝对,用 ...

  7. Oracle中的delete和truncate的关系

    转自:http://chenxy.blog.51cto.com/729966/168459 1.相同点       a.都可以删除数据,其中truncate用于全表清空数据,而delete可以选择的删 ...

  8. 数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较

    数据库删除语句的分别介绍: Delete:用于删除表中的行(注:可以删除某一行:也可以在不删除表的情况下(即意味着表的结构.属性.索引完整)删除所有行) 语法:删除某一行:Delete From 表名 ...

  9. oracle中delete、truncate、drop的区别

    oracle中delete.truncate.drop的区别 标签: deleteoracletable存储 2012-05-23 15:12 7674人阅读 评论(0) 收藏 举报  分类: ora ...

随机推荐

  1. session.资料

    1. HttpSessionListener https://www.cnblogs.com/diewufeixian/p/4221747.html 2. 3. 4. 5.

  2. Java并发之synchronized深入

    一句话总结synchronized: JVM会自动通过使用monitor来加锁和解锁,保证了同时只有一个线程可以执行指定代码,从而保证了线程安全,同时具有可重入和不可中断的性质. 一.synchron ...

  3. js三种对话框

    <html> <head> <script> function tip1(){ //这个基本没有什么说的,就是弹出一个提醒的对话框 alert("这个第一 ...

  4. 【转】Scikit-learn技巧(拓展)总结

    最近看了<Python数据挖掘入门与实战>,网上有说翻译地不好的,但是说实话,我觉得这本书还是相当不错的.作者Robert Layton是sklearn的开发者之一,书中介绍了很多skle ...

  5. CSS3:边框属性

    前言 学习这些CSS属性并不是要自己要设计多好看的样式,而是看到网上的代码能看得懂. 效果 本章将围绕如下效果进行解释: border border-width: 边框宽度. border-style ...

  6. 手动建立Mysql表实体类技巧

    首先执行一条sql语句,也可以在开发中插入数据.修改数据或者查询数据的某个属性时使用. select sc.COLUMN_NAME from information_schema.COLUMNS as ...

  7. 【原创】移动端获取用户公网ip,获取用户ip

    有时候某些api需要获取用户的ip , 特此分享一下获取用户公网ip的方法 纯js <script src="http://pv.sohu.com/cityjson?ie=utf-8& ...

  8. SPOJ 694 && SPOJ 705 (不重复子串个数:后缀数组)

    题意 给定一个字符串,求它的所有不重复子串的个数 思路 一个字符串的子串都必然是它的某个后缀的前缀.对于每一个sa[i]后缀,它的起始位置sa[i],那么它最多能得到该后缀长度个子串(n-sa[i]个 ...

  9. json与api- 天气api 博客词频分析

    一.json基础 1.1 json的介绍 json现在成为各种程序与语言之间交互的一种数据格式,本质是文本,字符串. json有两种格式: 1.  类似字典  {k:v,k,v} 2.  类似列表 { ...

  10. 十七、dbms_tts(检查表空间集合是否是自包含)

    1.概述 作用:用于检查表空间集合是否是自包含的,并在执行了检查之后,将违反自包含规则的信息写入到临时表TRANSPORT_SET_VIOLATIONS中. 2.包的组成 1).transport_s ...