• 数据库——修改表


    二、修改表

    1、修改表字段:

    a、添加字段

    alter table student

    add (sex char(2) default '1' constraint student_sex_type check(sex='1' or sex='2'))

    注意:新添加的字段在表的最后一列,不能指定字段的位置,这与MySQL数据库不同(MySQL数据库可以通过after设定添加字段的先后顺序)

    b、修改字段

    alter table student

    modify(name varchar2(12))

    注意:字段的修改包括修改数据类型(只有对应列为空指才可以修改)、大小和默认值,其中默认值的修改只会影响后来插入表的数据,对之前的数据不会产生影响。

    c、删除字段

    alter table student

    drop(sex)

    注意:

    ①、一次只能删除一个字段;

    ②、一个表至少要保留一个字段;

    ③、如果所删除列(publisher表中id)是另一个表的外键(bookpublisher_id)则该列(publisher表中id列)无法删除,如下图所示:

     

    2、修改表字段约束:

    a、添加约束

    alter table student

    add constraint student_id_pk primary key(id);--studentid列设为主键

    注意:

      1、可以一次添加多个约束,如下:

     

      2、不能通过添加约束为某个字段添加not null约束,只能通过修改字段为其指定not null,如下:

     

    b、删除约束

    alter table student

    drop constraint student_sex_type;--依据约束名删除约束

    alter table student

    drop primary key--依据约束类型删除约束

    alter table student

    drop unique(id) --依据约束类型删除约束

    注意:drop子句后面可以使用cascade,意为删除约束的同时与其相依赖的约束也一同删除,例如:

     

    c、启用或禁用约束

       禁用约束:

             alter table student

        disable constraint student_sex_type;--禁用约束

             注意:disable子句后面可以使用cascade,意为禁用约束的同时与其相依赖的约束也一同禁用,例如:

     

     

       启用约束:

        alter table student

        enable constraint student_sex_type;--启用约束,注意:enable后面不能使用cascade关键字

    注意:约束无法修改,只能通过先删除再创建的方式间接修改字段约束。

    三、表重命名

    rename 旧名字 to 新名字

    四、截断表

    truncate table 表名——不用执行commit就可以将表数据删除

    delete from 表名——必须执行commit才可以将表数据删除

        delete、drop、truncate的区别

    五、删除表

    drop table 表名

    六、注释

    表注释

    comment on table 表名 is '注释内容';

    字段注释

    comment on column 表名.字段名 is '注释内容';

  • 相关阅读:
    AngularJS 1.x系列:AngularJS过滤器(4)
    AngularJS 1.x系列:AngularJS控制器(3)
    AngularJS 1.x系列:AngularJS简介及第一个应用(2)
    AngularJS 1.x系列:Node.js安装及npm常用命令(1)
    MySQL系列:索引基本操作(4)
    基于 Mathematica 的机器人仿真环境(机械臂篇)[转]
    使用耳切法将多边形三角化【转】
    asp.net调用非托管dll,无法加载 DLL,找不到指定模块解决方法。【转】
    ASP.NET与非托管DLL的那些事儿【转+增】
    cesium常用设置【转】
  • 原文地址:https://www.cnblogs.com/lyxcode/p/9400365.html
Copyright © 2020-2023  润新知