`

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 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)

);

 

修改一个字段

alter table test1
modify (name varchar2(16) default ‘unknown’);

 

另:比较正规的写法是:

-- Add/modify columns 
alter table TABLE_NAME rename column FIELD_NAME to NEW_FIELD_NAME;

 

删除一个字段

alter table test1
drop column name;

 

需要注意的是如果某一列中已经存在值,如果你要修改的为比这些值还要小的列宽这样将会出现一个错误。

例如前面如果我们插入一个值
insert into test1
values (’1′,’我们很爱你’);

然后曾修改列: alter table test1
modify (name varchar2(8));
将会得到以下错误:
ERROR 位于第 2 行:
ORA-01441: 无法减小列长度, 因为一些值过大

---------------------------------------------------------------------------------------------------------------

高级用法:

重命名表
ALTER TABLE table_name RENAME TO new_table_name;

 

修改列的名称

语法:
ALTER TABLE table_name RENAME COLUMN 新名称 to 旧名称 ;

范例:
alter table s_dept rename column 新名称 to 旧名称 ;

 

附:创建带主键的表>>

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_C002715
alter table student drop constraint SYS_C002715;
(2)有命名
alter table students drop constraint yy;


3、向表中添加主键约束
alter table student add constraint pk_student primary key(studentid);

分享到:
评论

相关推荐

    oracle中对blob字段的处理方法

    oracle中对blob字段的处理方法,包括增加,删除,修改,更新等操作。

    Oracle数据库表中字段顺序的修改方法

    然而,当你需要调整已有字段的顺序时,Oracle并没有直接提供修改字段顺序的内置功能。这里介绍两种常见的解决方法: **第一种方法**,虽然原始但并不推荐,特别是对于字段数量多的表。该方法涉及删除原有表,然后...

    数据库建表增加或删除字段

    通过对上述两个示例的详细分析,我们可以看到,在Oracle数据库中,使用`ALTER TABLE`语句能够非常方便地完成表结构的修改,无论是添加还是删除字段都变得简单快捷。不过,在实际操作过程中,为了保证数据的安全性和...

    Oracle数据库表建立字段唯一性的方法

    - 可以使用`ALTER TABLE`语句删除或修改唯一约束,或者使用`DROP INDEX`删除唯一索引。 - 若要检查表是否有重复值,可以使用`DISTINCT`关键字查询,或使用`GROUP BY`结合`HAVING`来查找。 8. **源码和工具** - ...

    oracle删除表字段和oracle表增加字段

    添加字段的语法:alter ...删除字段的语法:alter table tablename drop (column); 添加、修改、删除多列的话,用逗号隔开。 使用alter table 来增加、删除和修改一个列的例子。 创建表结构:create table test1(id

    更改Oracle表中字段的顺序的终极方法

    由于Oracle并不支持直接调整字段顺序的功能,因此大多数情况下,人们会选择备份数据、删除原表然后根据新需求重建表的方式。这种方式虽然能够解决问题,但操作过程复杂且耗时较长,特别是在处理大型数据库时,这种...

    oracle 增加,删除,修改和分页存储过程

    在这个“Oracle增加、删除、修改和分页存储过程”项目中,我们将深入探讨这四个核心的数据库管理功能,并了解如何在PL/SQL环境中实现它们。 1. **增加(Insertion)**: 在Oracle中,创建一个用于插入数据的存储...

    oracle数据库中的对表中字段的增删改查

    但要注意,删除字段可能会导致与该字段关联的数据丢失,并可能影响到依赖于这个字段的其他对象,如索引、触发器或约束。删除字段的命令如下: ```sql ALTER TABLE users DROP COLUMN email; ``` 请注意,Oracle...

    详解Oracle修改字段类型方法总结

    本文主要针对Oracle修改字段类型的方法进行详细讲解,特别是在面对不同情况时如何有效地进行操作。 首先,我们来看一个具体的例子,假设有一个名为`tb`的表,其中包含一个名为`name`的字段,其数据类型为`nchar(20)...

    Oracle删除表、字段之前判断表、字段是否存在

    接下来,我们来看看如何在删除字段之前判断字段是否存在。Oracle的`USER_TAB_COLUMNS`数据字典视图包含了关于模式中每个表的所有列的信息。下面是一个示例,它将检查并删除`tableName`表上的`columnName`字段,如果...

    oracle_修改表结构

    本篇文章将详细介绍如何利用Oracle中的`ALTER TABLE`命令来修改表结构,包括添加字段、修改字段、删除字段、重命名表以及添加注释等功能。 #### 二、添加字段 添加字段是最常见的需求之一,通常用于扩展已有表的...

    oracle使用sql语句增加字段示例(sql删除字段语句)

    Oracle 中使用 SQL 语句增加、修改、删除字段的示例 Oracle 数据库管理系统提供了多种方式来管理数据库表结构,包括增加、修改和删除字段。在本文中,我们将介绍如何使用 SQL 语句来实现这些操作。 增加字段 在 ...

    ORACLE 多表查询与数据修改

    ### ORACLE 多表查询与数据修改 #### 学习目标 - **熟悉三个或四个表的连接查询**:在实际应用中,我们往往需要从多个表中获取数据以完成复杂的业务逻辑。通过本节的学习,您将能够掌握如何利用Oracle数据库进行多...

    oracle修改表结构

    在Oracle数据库管理中,对表结构进行修改是一项常见的任务,涉及到添加字段、修改字段属性、删除字段、重命名表或字段、以及注释等操作。以下是对这些操作的详细解析: ### 添加字段 使用`ALTER TABLE`语句可以向...

    常用的sql语句。新建表、删除表、插入数据、删除数据、更新数据、新增字段、删除字段、修改字段、新建约束、删除约束,等等常用语句

    #### 七、删除字段 (Alter Table Drop Column) `ALTER TABLE DROP COLUMN`命令用于从表中删除指定的字段。 **语法示例:** ```sql ALTER TABLE 表名 DROP COLUMN 字段名; ``` #### 八、修改字段 (Alter Column) ...

    oracle变更数据表字段类型

    - 解决方案是先创建一个新的字段,然后将旧字段的数据迁移到新字段中,最后删除旧字段并重命名新字段。 2. **ORA-01451: column to be modified to NULL cannot be modified to NULL** - 当尝试将一个不允许为空...

    Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍

    Oracle 创建自增字段方法-ORACLE SEQUENCE 的简单介绍 Oracle SEQUENCE 是一种特殊的数据库对象,用于生成一系列唯一的数值,通常用于主键或其他需要唯一标识的字段。下面将详细介绍 Oracle 创建自增字段方法-...

Global site tag (gtag.js) - Google Analytics