添加字段的语法: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);
---------------------------------------------------------------------------------------------------------------
转载自http://georgeinfo.blog.163.com/blog/static/163683341201112655637737/
Oracle 增加修改删除字段
标签:写法 表结构 create 命名 删除 one sql语句 stat ble
小编还为您整理了以下内容,可能对您也有帮助:
oracle 增加、删除字段
按照数据库的管理规则,是不会有问题的。
但作为一个上线的重要系统数据库,而且是重要数据表,不建议这样操作。
如果要测试,单独见一个新表,与原有表使用主键关联,然后创建一个视图,应该可以实现你的测试要求。
同时对任何上线的数据量有改动,建议先备份数据。
oracle 增加、删除字段
按照数据库的管理规则,是不会有问题的。
但作为一个上线的重要系统数据库,而且是重要数据表,不建议这样操作。
如果要测试,单独见一个新表,与原有表使用主键关联,然后创建一个视图,应该可以实现你的测试要求。
同时对任何上线的数据量有改动,建议先备份数据。
Oracle中使用altertable来增加,删除,修改列的语法
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 test
(id varchar ( ) not null);
alter table test
add (name varchar ( ) default 无名氏 not null);
alter table test
modify (name varchar ( ) default unknown );
alter table test
drop column name;
以上分别建立一个表 增加 更改 删除一个列 其中需要注意的是如果某一列中已经存在值 如果你要修改的为比这些值还要窄的列宽这样将会出现一个错误
例如前面如果我们插入一个值
insert into test
values ( ′ 我们很爱你 );
然后曾修改列 alter table test
modify (name varchar ( ));
将会得到以下错误
ERROR 位于第 行:
ORA : 无法减小列长度 因为一些值过大
PS:改变已存在的表的列名
lishixin/Article/program/Oracle/201311/18398oracle表怎么增加字段?
oracle在某个表中增加字段的命令是alter table,oracle在某个表中增加字段的操作步骤如下:
1、首先双击oracle可执行文件连接oracle数据库服务。
2、连接成功之后,用鼠标右键点击左侧表选项。
3、在右键菜单里选择新建表选项。
4、然后需要输入表名,勾选主键不能为空。
5、建表成功之后,建字段,点击如下图所示的按钮,增加字段。
6、然后点击加号,出现新的一列增加字段。
7、然后就可以输入相关的字段的属性,输入完毕点击确定即可完成新增字段。
oracle表怎么增加字段?
oracle在某个表中增加字段的命令是alter table,oracle在某个表中增加字段的操作步骤如下:
1、首先双击oracle可执行文件连接oracle数据库服务。
2、连接成功之后,用鼠标右键点击左侧表选项。
3、在右键菜单里选择新建表选项。
4、然后需要输入表名,勾选主键不能为空。
5、建表成功之后,建字段,点击如下图所示的按钮,增加字段。
6、然后点击加号,出现新的一列增加字段。
7、然后就可以输入相关的字段的属性,输入完毕点击确定即可完成新增字段。
oracle数据库表里有数据了,可以直接再添加一个字段吗?
可以直接再添加一个字段,添加方法为:
1、连接oracle数据库服务,如果你的数据库服务器是部署在你的电脑上需要输入用户名和密码,如果连接的是其他的服务器,则不需要。
2、连接成功之后,建表,右键表,选择新建表。
3、输入表名,勾选主键不能为空。
4、建表成功之后,建字段。
5、点击如下图所示的按钮,增加字段。
6、然后点击加号,出现新的一列,然后就可以输入相关的列名的属性。先设置为空,然后增加完,给新字段随便写个值,然后再改为不能为空即可。
如何修改Oracle数据库表中字段顺序
本文主要给大家介绍了关于Oracle数据库表中字段顺序的修改方法,在介绍修改的方法之前先给大家介绍了Oracle数据库表新建字段的方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧,希望能帮助到大家。
前言
前段时间,有人问我, 有一个关于Oracle中表字段顺序调整的问题。问题就是当设计好表结构之后,后期如果需要往表中增加字段,默认会把该字段放到表的最后,并且字段特别多而我们又想把有关联性的字段放在一起,这时就要修改字段顺序。在修改顺序之前,我们先来看看Oracle数据库表中如何增加字段。
新增字段:
添加字段的语法:alter table tablename add (column datatype [default value][null/not null],?.);
实例
创建表结构:
create table test1
(id varchar2(20) not null);增加一个字段:
alter table test1
add (name varchar2(30) default ‘无名氏' not null);使用一个SQL语句同时添加三个字段:
alter table test1
add (name varchar2(30) default ‘无名氏' not null,
age integer default 22 not null,
has_money number(9,2)
);字段顺序的修改
第一种原始方法:
删了重建,这种方法虽然简单粗暴,但不科学
--新建临时表以存储正确的顺序
create table A_2 as select (column1,colum2,??A表中的顺序) from A_1 ;
--删除表A_1
drop table A_1;
--新建A_1并从A_2表中赋予其正确的顺序和值
create table A_1 as select * from A_2;
--删除临时表A_2
drop table A_2;这种方法对字段较少的表来说还不会显得太麻烦,但是对于字段较多的表来说就吃力了。
第二种方法(推荐):
1、首先需要sys或system权限操作
2、查询需要更改表的ID
select object_id
from all_objects
where owner = 'ITHOME'
and object_name = 'TEST';注:ITHOME为用户,TEST是要更改的表,表名要大写
3、通过ID查出该表所有字段的顺序
select obj#, col#, name
from sys.col$
where obj# = '103756' order by col#
4、修改顺序
update sys.col$ set col#=2 where obj#=103756 and name='AGE';
update sys.col$ set col#=3 where obj#=103756 and name='NAME';或直接在第三步的语句后面加 for update 进行修改
最后commit提交 并且重启Oracle服务