精华内容
下载资源
问答
  • Oracle修改表结构

    2021-04-05 21:22:28
    文章目录我的Oracle数据库学习笔记创建学生表查看表中数据删除表设置字段是否为空,保证数据必埴或可选修改表结构1.修改表中的列添加新列删除表中的列给表或列添加注释给表或列改名 创建学生表 create table ...

    我的Oracle数据库学习笔记

    Day 2 修改表结构



    创建学生表

    create table student
    (
     studentId int ,
     studentName nvarchar2(10),
     sex nchar(1),
     age int,
     phone char(11),
     address nvarchar2(50)
    );
    

    查看表中数据

    select * from student;
    

    删除表

     drop table 表名;
    

    例:drop table student;

    设置字段是否为空,保证数据必埴或可选

    当创建表时,如果没有设置字段是否为空,则默认为可空的
    指定列为必填项时,在创建表时设置为非空项 :not null

    create table student
    (
     studentId int not null ,
     studentName nvarchar2(10) not null,
     sex nchar(1) not null,
     age int not null,
     phone char(11),
     address nvarchar2(50)
    );
    

    修改表结构

    1.修改表中的列

    给student表中sex列添加一个默认值(男)

    1. 创建表时指定默认值 (必须写在not null前面)
     sex nchar(1) default('男') not null,
    
    1. 修改现有表中列的属性
    alter table 表名 modify(列名 数据类型(长度) 是否可空);
    

    例:

    alter table student modify(sex default('男'));
    

    添加新列

    给Student表中添加一个新列,email

    1. 把表删除掉,重新创建
    2. 给现有表添加新列
     alter table 表名 add(列名 数据类型(长度) 是否可空);
    

    例:

    alter table student add(email varchar2(100) default('oracle@126.com') not null);
    --给Student表中添加新列学生描述 (可空)
    alter table student add(studentInfo varchar2(100));
    

    注意事项:
    1)如果现有表中已有数据,则添加新列时不能指定为非空列
    2)如果现有表中已有数据,新列为非空列则需要指定一个默认值

    删除表中的列

    把student表中 studentInfo列删除掉
    1 把表中列删除

    alter table 表名 drop(列名);
     alter table 表名 drop column 列名;
    

    例:

    alter table student drop (studentInfo);
    alter table student drop column studentInfo;
    

    注意:列中有无数据都可以删除。

    给表或列添加注释

    comment on table 表名 is 'text' -- 给表添加注释
    comment on column 表名.列名 is 'text' --给表中的列添加注释
    

    例:
    给student表添加注释 :学生信息表

    comment on table student is '学生信息表';
    

    student表中的studentId(学生编号) ,studentName(学生注释)

    comment on column student.studentId is '学生编号';
    comment on column student.studentName is'学生姓名';
    

    给表或列改名

    给表改名:

     rename 原表名 to 新表名;`
    

    给列改名:

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

    例:
    修改Student表名为:studentInfo

    rename student to studentInfo;
    

    修改studentInfo表中的studentName 改为stuName;

    alter table studentInfo rename column studentName to stuName;
    
    展开全文
  • oracle修改表结构

    2012-06-18 16:10:51
    使用oracle数据库时修改表结构,创建表空间等等
  • oracle 修改表结构

    千次阅读 2018-11-29 17:30:03
    ALTER TABLE 语句用于在已有的中添加、修改或删除列。 在中添加列: ALTER TABLE table_name ADD column_name datatype 还可以设置默认值 例如: ALTER TABLE user_info add(log_time TIMESTAMP(6) default ...
    1. ALTER TABLE 语句用于在已有的表中添加、修改或删除列。
      在表中添加列:alter table
      ALTER TABLE table_name
      ADD column_name datatype
      还可以设置默认值
      例如:
      ALTER TABLE user_info add(log_time TIMESTAMP(6) default sysdate not null);
      添加多个字段:
      alter table table_name add (col_1 varchar2(8) default ‘00000000’ not null, col_2 NUMBER default 3 not null);

    2. 添加字段前应先判断表中是否已经存在这个字段
      可以用下面SQL语句,查询是否已存在字段LOG_TIME
      select count(*) from USER_TAB_COLUMNS where TABLE_NAME = ‘USER_INFO’ AND COLUMN_NAME = ‘LOG_TIME’? 注意这里表名与列名必须是大写的。。。。。

    也可以查询ALL_TAB_COLUMNS
    select count(*) from USER_TAB_COLUMNS where TABLE_NAME = ‘USER_INFO’ AND COLUMN_NAME = ‘LOG_TIME’;
    返回值为1—存在此字段
    返回值为0—不存在此字段。

    1. 删除字段:
      ALTER TABLE user_info
      DROP COLUMN log_time;
      删除多个字段:
      ALTER TABLE table_name drop (col_1,col_2) ;

    2. 更新时间戳为系统时间+1小时。
      update USER_INFO set LOG_TIME = sysdate +INTERVAL ‘1’ hour where USER_ID=‘2’;

    3. oracle TIMESTAMP 由 System.Data.OracleClient存入数据库时,保存精度到秒,所以可以直接将从数据库读到的TIMESTAMP类型数据mapping为 System.DateTime 类型。不用考虑精度掉失问题。

    4. OracleCommand.ExecuteNonQuery方法:
      对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。
      对于 ALTER TABLE,CREATE TABLE 和 DROP TABLE 语句,返回值为 0。 对于其他所有类型的语句,返回值为 -1。 如果发生回滚,则返回值也为-1。

    5. 修改表中字段的长度
      alter table 表名称 modify 字段名 varchar2(100 byte);
      例如: 将表epc_info 中的epc字段长度改为100。
      alter table epc_info modify epc varchar2(100 byte);

    8.主键约束 (Constraints)

    aa.主键约束:
    要对一个列加主键约束的话,这列就必须要满足的条件就是分空
    因为主键约束:就是对一个列进行了约束,约束为(非空、不重复)
    语法为:
    alter table 表格名称 add constraint 约束名称 增加的约束类型 (列名)

    展开全文
  • Oracle 修改表结构

    2016-04-22 09:02:21
    1.添加新字段: ALTER TABLE tablename ADD (column1 VARCHAR2(30),column2 VARCHAR2(30),...2.修改字段长度: ALTER TABLE tablename MODIFY (column1 VARCHAR2(60)) 3.修改字段名称: ALTER TABLE tablename

    1.添加新字段:

    ALTER TABLE tablename ADD (column1 VARCHAR2(30),column2 VARCHAR2(30),column3 DATE)

    2.修改字段长度:

    ALTER TABLE tablename MODIFY (column1 VARCHAR2(60))

    3.修改字段名称:

    ALTER TABLE tablename RENAME COLUMN USER_ENAME TO USER_NAME

    4.删除字段:

    ALTER TABLE tablename DROP COLUMN columnName

    5.向字段添加注释:

    COMMENT on COLUMN tablename.column1 is '注释内容'


    展开全文
  • 主要介绍了ORACLE 修改表结构 之ALTER CONSTAINTS的使用,需要的朋友可以参考下
  • ORACLE修改表结构

    2010-08-13 18:08:00
    1,增加新字段:alter table table_name add (name varchar(20) default 'unkown'); 如:SQL> run;...2,修改表字段:alter table table_name modify (name varchar2(30) default 'hebei');<b

    1,增加新字段:alter table table_name add (name varchar(20) default 'unkown');
    如:SQL> run;
    1 alter table test3
    2* add(address varchar(100))
    表已更改。
    2,修改表字段:alter table table_name modify (name varchar2(30) default 'hebei');
    如:
    SQL> alter table test3
    2 modify (address varchar(20) default 'unkown');
    表已更改。
    SQL> select * from test3;
            ID NAME                 ADDRESS
    ---------- -------------------- --------------------
             1 unknow
    但是在修改default值时,只有在新增加数据时,才会体现出来;
    如:SQL> insert into test3
    2 (id,name)
    3 values(2,'hh');
    已创建 1 行。
    SQL> select * from test3;
            ID NAME                 ADDRESS
    ---------- -------------------- --------------------
             1 unknow
             2 hh                   unkown
    3,删除表字段:alter table table_name drop column column_name;
    通常在系统不忙的时候删除不使用的字段,可以先设置字段为 unused;
    如:SQL> run
    1 alter table test3
    2* set unused column address
    表已更改。
    SQL> desc test3;
    名称                                      是否为空? 类型
    ----------------------------------------- -------- ----------------------------
    ID                                                 NUMBER(38)
    NAME                                               VARCHAR2(20)
    再执行删除:
    SQL> alter table test3
    2 drop unused column;
    表已更改。
    SQL> desc test3;
    名称                                      是否为空? 类型
    ----------------------------------------- -------- ----------------------------
    ID                                                 NUMBER(38)
    NAME                                               VARCHAR2(20)
    4,表重命名:rename table_name1 to table_name2;
    如:SQL> rename test3 to test2;
    表已重命名。
    SQL> desc test2;
    名称                                      是否为空? 类型
    ----------------------------------------- -------- -------------------------
    ID                                                 NUMBER(38)
    NAME                                               VARCHAR2(20)
    5,清空表中的数据:TRUNCATE TABLE table_name;
    如:SQL> truncate table test2;
    表被截断。
    SQL> select * from test2;
    未选定行
    6,给表增加注释:COMMENT ON TABLE table_name;
    如:SQL> comment on table test2
    2 is 'This is a test table';
    注释已创建。
    7,删除表结构:DROP TABLE table_name;
    此操作属DDL,会自动提交且不可回滚;

    展开全文
  • 修改表结构 添加列 修改列类型 修改列名称 删除列 创建表 create table goods ( id number(10), goodsName varchar2(20), price number(6,2) ); 修改表结构 添加列 alter table goods add ( desc1...
  • oracle修改表结构(alter table) alter table aaf_role modify (code VARCHAR2(36 CHAR)) https://blog.csdn.net/u014711094/article/details/78737794

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,856
精华内容 742
关键字:

oracle修改表结构