您的当前位置:首页Oracle 增加修改删除字段

Oracle 增加修改删除字段

2023-11-11 来源:六九美食网

添加字段的语法: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/18398

oracle表怎么增加字段?

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服务

显示全文