Oracle 增加修改删除字段与添加注释
添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….);
修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….);
删除字段的语法:alter table tablename drop (column);
添加、修改、删除多列的话,用逗号隔开。
使用alter table 来增加、删除和修改一个列的例子。
创建表结构:create table test1(id varchar2(20) not null);
增加一个字段:
alter table test1add (name varchar2(30) default ‘无名氏’ not null);
使用一个SQL语句同时添加三个字段:
alter table test1add (name varchar2(30) default ‘无名氏’ not null,
age integer default 22 not null,
has_money number(9,2)
);
修改一个字段
alter table test1modify (name varchar2(16) default ‘unknown’);
另:比较正规的写法是:
-- Add/modify columns alter table TABLE_NAME rename column FIELD_NAME to NEW_FIELD_NAME;
删除一个字段
alter table test1drop column name;
需要注意的是如果某一列中已经存在值,如果你要修改的为比这些值还要小的列宽这样将会出现一个错误。
例如前面如果我们插入一个值insert into test1values (’1′,’我们很爱你’);
然后曾修改列: alter table test1modify (name varchar2(8));将会得到以下错误:ERROR 位于第 2 行:ORA-01441: 无法减小列长度, 因为一些值过大
---------------------------------------------------------------------------------------------------------------
高级用法:
重命名表ALTER TABLE table_name RENAME TO new_table_name;
修改列的名称
语法:ALTER TABLE table_name RENAME COLUMN supplier_name to sname;
范例:alter table s_dept rename column age to age1;
附:创建带主键的表>>
create table student (studentid int primary key not null,studentname varchar(8),age int);
1、创建表的同时创建主键约束(1)无命名create table student (studentid int primary key not null,studentname varchar(8),age int);(2)有命名create table students (studentid int ,studentname varchar(8),age int,constraint yy primary key(studentid));
2、删除表中已有的主键约束(1)无命名可用 SELECT * from user_cons_columns;查找表中主键名称得student表中的主键名为SYS_C002715alter table student drop constraint SYS_C002715;(2)有命名alter table students drop constraint yy;
3、向表中添加主键约束alter table student add constraint pk_student primary key(studentid);
CREATE TABLE test1(id varchar2(32) primary key,name VARCHAR2(8) NOT NULL,age number,)添加表注释:COMMENT ON table test1 IS ‘个人信息‘;添加字段注释:comment on column test1.id is ‘id‘;comment on column test1.nameis ‘姓名‘;comment on column test1.age is ‘年龄‘;
Oracle 增加修改删除字段与添加注释
标签:
小编还为您整理了以下内容,可能对您也有帮助:
oracle 增加、删除字段
按照数据库的管理规则,是不会有问题的。
但作为一个上线的重要系统数据库,而且是重要数据表,不建议这样操作。
如果要测试,单独见一个新表,与原有表使用主键关联,然后创建一个视图,应该可以实现你的测试要求。
同时对任何上线的数据量有改动,建议先备份数据。
oracle 增加、删除字段
按照数据库的管理规则,是不会有问题的。
但作为一个上线的重要系统数据库,而且是重要数据表,不建议这样操作。
如果要测试,单独见一个新表,与原有表使用主键关联,然后创建一个视图,应该可以实现你的测试要求。
同时对任何上线的数据量有改动,建议先备份数据。
oracle怎么给表的列加注释
Oracle添加注释的语法为:
comment on column 字段名 is '注释名';举例:
创建表:
CREATE TABLE t1(id varchar2(32) primary key,
name VARCHAR2(8) NOT NULL,
age number,
);
添加表注释:COMMENT ON table t1 IS '个人信息';
添加字段注释:comment on column t1.id is 'id';
comment on column t1.name is '姓名';
comment on column t1.age is '年龄';
Oracle建表的时候如何添加注释信息
表创建完成后使用下列命令添加列的注释:
comment on column 表名.字段名 is '注释';表的注释:yang@rac1desc user_col_comments
Name Null? Type
-------------------------- -------- ------------
TABLE_NAME NOT NULL VARCHAR2(30)
COLUMN_NAME NOT NULL VARCHAR2(30)
COMMENTS VARCHAR2(4000)
yang@rac1comment on table tchar is ' 这是一个测试表';
Comment created.
yang@rac1select table_name ,comments from user_tab_comments;
TABLE_NAME COMMENTS
------------------------------ -----------------------
TCHAR 这是一个测试表
表中字段的注释:
yang@rac1desc user_col_comments
Name Null? Type
------------------------ -------- ----------------------------
TABLE_NAME NOT NULL VARCHAR2(30)
COLUMN_NAME NOT NULL VARCHAR2(30)
COMMENTS VARCHAR2(4000)
yang@rac1comment on column tchar.val is ' 测试 来自客户 ';
Comment created.
yang@rac1col comments for a45
yang@rac1select comments from user_col_comments where table_name='TCHAR' and column_name='VAL';COMMENTS
测试 来自客户