1、添加字段

create table ORD  
    (  
      table_name   type,  
      UserName VARCHAR2(30),  
      CUST_ID  NUMBER(4)  
    );  

2、删除字段

alter table table_name drop column column_name;

3、修改字段

alter table table_name modify (column_name type);

添加字段非空限制报错

ORA-01758: 要添加必需的 (NOT NULL) 列, 则表必须为空

如上所示, 报上面错误的原因是 表中存在数据, 如果添加非空字段, 肯定是不允许的, 都限制非空了, 其他数据新增的字段没有值, 却限制非空, 肯定是添加不了的

解决方法有两个, 一个是删除表中的数据, 另一个就是给新增的字段设置默认值

  1. 新增字段设置默认值(常用)
    ALTER TABLE ORD ADD price NUMBER(8,2) DEFAULT 0 NOT NULL;  
    
  2. 删除原表中的数据
    -- 删除表中数据
    TRUNCATE TABLE ORD;  
    --删除表之前插入的新增字段
    alter table ORD drop column PRICE;  
    --插入新增字段
    ALTER TABLE ORD ADD price NUMBER(8,2) NOT NULL;  
    

参考文章

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐