精华内容
下载资源
问答
  • Oracle删除表、修改表(添加字段、修改字段删除字段语句总结 1、删除表: delete from 表名; delete删除数据是一条一条的删除数据,后面可以添加where条件,不删除表结构。注意:如果表中有identity产生的自增...

    Oracle删除表、修改表(添加字段、修改字段、删除字段)语句总结


    1、删除表:

    delete from 表名;
    

    delete删除数据是一条一条的删除数据,后面可以添加where条件,不删除表结构。注意:如果表中有identity产生的自增id列,delete from后仍然从上次的数开始增加。

    truncate table 表名
    

    truncate是一次性删掉所有数据,不删除表结构。注意:如果表中有identity产生的自增id列,truncate后,会恢复初始值。

    drop table 表名
    

    drop删除所有数据,会删除表结构。
    2、修改表:
    (1)添加新字段:

    alter table 表名 add(字段名 字段类型 默认值 是否为空);
    alter table user add (course varchar2(30) default '空' not null);
    

    (2)添加/修改注释:

    comment on table 表名  is  '注释内容';
    comment on table operator_info is  '操作员信息表';
    
    comment  on  column  表名.字段名   is  '注释内容';
    comment on column operator_info.main_oper_id is '归属操作员';
    

    (3)修改字段:

    alter table 表名 modify (字段名 字段类型 默认值 是否为空);
    alter table user modify((age number(8));
    

    (4)修改字段名:

    alter table 表名 rename  column  列名 to 新列名;
    alter table user rename column course to newcourse;
    

    (5)删除字段:

    alter table 表名 drop column 字段名;
    alter table user drop column course;
    
    展开全文
  • oracle使用sql语句增加修改删除字段示例
  •  字段名1 字段类型 默认值 是否为空 ,  字段名2 字段类型 默认值 是否为空,  字段名3 字段类型 默认值 是否为空,  ......  );  创建一个user表:  create table user (  id number(6) primary key...

    创建表:

      create table 表名 (

        字段名1 字段类型 默认值 是否为空 ,

        字段名2 字段类型 默认值 是否为空,

        字段名3 字段类型 默认值 是否为空,

        ......

      );

      创建一个user表:

      create table user (

        id number(6) primary key,   ---主键

        name varchar(50) not null,   ---姓名 不为null

        sex varchar2(6) default '男' check ( sex in ('男','女'))   ---性别 默认'男'

      );

    修改表名:

      rename 旧表名 to 新表名;

      rename user to newuser;

    删除表:

      delete from 表名;

      delete删除数据是一条一条的删除数据,后面可以添加where条件,不删除表结构。注意:如果表中有identity产生的自增id列,delete from后仍然从上次的数开始增加。

      truncate table 表名;

      truncate是一次性删掉所有数据,不删除表结构。注意:如果表中有identity产生的自增id列,truncate后,会恢复初始值。

      drop table 表名;

      drop删除所有数据,会删除表结构。

    修改表:

      添加新字段:

      alter table 表名 add(字段名 字段类型 默认值 是否为空);

      alter table user add(age number(6));

      alter table user add (course varchar2(30) default '空' not null);

      修改字段:

      alter table 表名 modify (字段名 字段类型 默认值 是否为空);

      alter table user modify((age number(8));

      修改字段名:

      alter table 表名 rename  column  列名 to 新列名;

      alter table user rename column course to newcourse;

      删除字段:

      alter table 表名 drop column 字段名;

      alter table user drop column course;

     

    增加字段的语句很简单,以用户身份连接oracle服务:

    alter table tablename add(colname coltype);  # 填上表名、字段名、字段类型

    修改字段顺序前,查看表中各字段的顺序:

      首先,查看表对应的id:

    select object_id from all_objects where owner = 'user' and object_name = 'tablename'; # 填上表的所有者、表名

      然后,查看表中各字段的顺序:

    select obj#,col#,name from sys.col$ where obj#=objectid # 填上刚刚查到的表id

      再以sysdba身份连接oracle服务,修改字段顺序,否则可能会报权限不够:

    update sys.col$ set col#=new where name='colname' and obj#=objectid # 填上字段新的顺序、字段名、表id

      值得注意的一点是,更新完字段顺序后,若直接插入数据,还是按旧的字段顺序插入的,需要指定插入的字段或者重启oracle。

     

    在oracle表中增加字段,并调整字段的顺序

    增加字段的语句很简单,以用户身份连接oracle服务:

    alter table tablename add(colname coltype);  # 填上表名、字段名、字段类型

    修改字段顺序前,查看表中各字段的顺序:

      首先,查看表对应的id:

    select object_id from all_objects where owner = 'user' and object_name = 'tablename'; # 填上表的所有者、表名

      然后,查看表中各字段的顺序:

    select obj#,col#,name from sys.col$ where obj#=objectid # 填上刚刚查到的表id

      再以sysdba身份连接oracle服务,修改字段顺序,否则可能会报权限不够:

    update sys.col$ set col#=new where name='colname' and obj#=objectid # 填上字段新的顺序、字段名、表id

      值得注意的一点是,更新完字段顺序后,若直接插入数据,还是按旧的字段顺序插入的,需要指定插入的字段或者重启oracle。

     

    oracle 大表添加字段方法
    近期,考虑到生产一线大表需要进行表结构更改,自身测试了一把,如下:

    操作系统版本:centos 6.5
    数据库版本:oracle 11.2.0.4
    数据表:中小型堆表,千万级

    先分享一个创建测试表、序列、数据的小脚本
    创建测试表

    create table insert_test(
        id number,
        address varchar2(20),
        QRcode varchar2(20),
        password varchar2(30)
    );
    创建一个自用序列

    create sequence wyl_seq
    start with 1
    increment by 1
    nomaxvalue
    nominvalue
    nocycle
    nocache;
    插入12,000,000行数据,47分钟。。。。。

    begin
        for i in 1 .. 12000000 loop
            insert into insert_test values(WYL_SEQ.NEXTVAL,'www.baidu.com',dbms_random.string('x', 20),dbms_random.string('p',30));
        end loop;
        commit;
    end;
    /
    现在进行加字段并设置默认值测试,主要有两种方法(一是直接添加并设置默认值,二是先添加,然后modify默认值)
    我们先测试一下第二种方法

    alter table insert_test add str_te varchar2(10);
    alter table insert_test modify str_te default '0';

    发现很快就完成了,时间可以忽略不计,下面测试一下第一种方法

    alter table insert_test add str_te varchar2(10) default '0';

    竟然达到了21分钟。。。。

    结论:alter table add
    语句加上defalut时会刷新存量数据并产生表级锁,需慎用。特别是大表,生产环境,业务产生期间就应该禁止此操作。 改为add table
    add不带缺省值,接着来个alter table aa modify column_1 varchar2(2) default
    ‘Y’;更新存量数据可放到业务较少的凌晨跑。
     

    展开全文
  • oracle数据库删除表字段的SQL语句

    万次阅读 2019-09-05 14:37:33
    数据库删除字段的SQL语句 : alter table 表名drop (column) 例如: alter table tableName drop (name)

    数据库删除字段的SQL语句 :
    alter table 表名 
    drop (column)

    例如:

    alter table tableName drop (name)

     

     

     

    展开全文
  • 1、添加字段 create table ORD ( ...2、删除字段 alter table table_name drop column column_name; 3、修改字段 alter table table_name modify (column_name type); 添加字段非空限制报错 O

    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;  
      

    参考文章

    展开全文
  • Oracle添加字段的完整语句oracle 添加字段时判断字段是否已经存在,sqlserver判断字段是否存在并添加
  • Oracle中若删除表中一个不存在的字段,如 “alter table test drop column xxx”,则会提示:ORA-00904:”xxx”:标识符无效若在程序中执行该语句则会报异常,这就需要我们在删除字段前先判断该字段是否存在,若存在则...
  • 若在程序中执行该语句则会报异常,这就需要我们在删除表前先判断该表是否存在,若存在则删除. DECLARE num NUMBER; BEGIN SELECT COUNT(1) INTO num FROM USER_TABLES WHERE TABLE_NAME = UPPER('tableName'); IF num...
  • oracle删除一个表中的字段语句

    千次阅读 2011-07-03 23:12:02
    alter table table1 drop column column1; 仅在oracle8i以上版本中可用
  • Oracle sql语句 待新增(新增字段

    千次阅读 2020-10-16 08:48:47
    建表语句 create table test1 (id varchar2(20) not null); 语句中都需要注意表名的大小写 新增表字段语句 alter table 表名 add 新增字段名(类型+长度); alter table test1 add (name varchar2(30) default ‘无名...
  • 删除一个字段(未验证在有数据,并且互有主外键时,是否可用)语法:alter table 表名 drop column 字段名(即列名);例:alter table T_Student2 drop column sex;
  • oracle中update语句更新字段

    千次阅读 2019-09-27 09:02:58
    如需要修改下列数据:表名为student 一般会这样写: update student set sname = '李四', sage = 20, sbirthday = to_date('2010-01-01', 'yyyy-mm-dd'), ...如果字段非常多,这样写就稍微麻烦...
  • Oracle添加字段

    万次阅读 2018-09-27 20:19:33
    -- 一起执行,同时添加三个字段 alter table PROJ_BID_EVAL add procurement_office_opinion varchar2(2000) add procurement_decision varchar2(20) add procurement_decision_desc varchar2(200) -- 逐条...
  • 4.删除字段: 1.添加字段: alter table 表名 add (字段 字段类型) [ default '输入默认值'] [null/not null] ;   2.添加备注: comment on column 库名.表名.字段名 is '输入的备注'; 如: 我要在ers_data...
  • Oracle使用SQL语句修改字段类型

    千次阅读 2020-10-19 16:55:10
    1 alter table 表名 modify (字段名1 类型,字段名2 类型,字段名3 类型.....) 2 alter table student modify(id number(4));---将student表中id字段改为number,长度4 3 alter table student modify(id number(4)...
  • Oracle删除表中的字段

    万次阅读 2017-10-11 16:17:05
    alter table 表名 drop column 列名称; 删除表中的一列:alter table bl_yhsz drop column zcmc;
  • 新增、修改、删除字段sql语句

    千次阅读 2019-12-25 18:06:01
    -- 在test_table 表的 valid_status 字段之后,新增一个字段,设置对应的类型,长度,是否为null,默认值,注释 ALTER TABLE test_table ADD COLUMN `is_staff` tinyint(2) NOT NULL DEFAULT '0' COMMENT '是否是...
  • 添加字段的语法: alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法: alter table tablename modify (column datatype [default...删除字段的语法: alter table ...
  • 比如一个字段'11,22,22,33,44',一个查询语句显示成4行,就可以这样来实现。 11 22 22 33 44
  • 添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter table tablename modify (column datatype [default ...删除字段的语法:alter tabl...
  • 如需要修改下列数据:表名为student 一般会这样写: update student set sname = '李四', sage = 20, ...sbirthday = to_date('2010-01-01', 'yyyy-mm-dd'), ...如果字段非常多,这样写...
  • Oracle增加修改删除字段/主键

    万次阅读 2016-11-04 23:20:35
    修改字段名称alter table xgj rename column old_name to new_name;修改字段类型alter table tablename modify (column datatype [default value][null/not null],….);栗子假设表xgj,有一个字段为name,数据类型...
  • 本节主要介绍了Oracle 查询表信息获取表字段及字段注释,需要的朋友可以参考下
  • 现在有个需求是把oracle数据库一张表里的字段(序号)把01-09改为1-9 因为字段是varchar类型,不便修改字段类型后,便通过update语句来批量修改 UPDATE 表名 t1 SET 字段1=(select (case when 字段1 like '0%'...
  • 1.修改一个列 alter table 表名 modify name varchar2(60); 2.修改多个列 alter table 表名 modify (name varchar(60),name1 varchar2(60));
  • 最全的oracle数据库语句大全总结

    千次阅读 2019-07-07 11:21:29
    最全的oracle数据库语句大全总结 包含你见到的所有常见语句; 包含表的创建,删除,修改字段名,修改属性; 包含记录的增删改查; 包含所有记录的各种查询及内连接外连接; 以下所有例子都用person表和student表为例...
  • 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 group by Id having count(Id) > 1) 2、...
  • Oracle修改字段长度

    万次阅读 2018-09-27 20:24:01
    alter table purchase_plan modify(SINGLE_SOURCE_REASONS varchar2(4000));

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 178,219
精华内容 71,287
关键字:

oracle删除字段语句