zoukankan      html  css  js  c++  java
  • 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;

     (以上内容来自王硕老师)

  • 相关阅读:
    SQL学习
    FOR XML PATH
    IOS学习网址
    weak nonatomic strong等介绍(ios)
    UVALive3045 POJ2000 ZOJ2345 Gold Coins
    UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers
    UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers
    UVA439 POJ2243 HDU1372 ZOJ1091 Knight Moves【BFS】
    UVA439 POJ2243 HDU1372 ZOJ1091 Knight Moves【BFS】
    UVA10905 Children's Game
  • 原文地址:https://www.cnblogs.com/liu-chao-feng/p/5890306.html
Copyright © 2011-2022 走看看