ORACLE中通过SQL语句(alter table)来增加、删除、修改字段
添加字段的语法: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 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_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);
分享到:
相关推荐
在MySQL数据库管理系统中,`ALTER TABLE`语句是用于修改已存在的表结构的关键命令。本文将详细阐述如何使用`ALTER TABLE`来执行各种操作,包括添加字段、删除字段、修改字段、改变字段数据类型、更改表引擎、重命名...
### MySQL ALTER TABLE 语法与应用详解 #### 一、概述 在MySQL中,`ALTER TABLE`语句是一种非常实用的工具,它允许用户修改现有表的结构,包括但不限于添加、删除或修改列、更改表名以及调整表的存储引擎等。这种...
SQL Server 中 Alter Table 的一些用法 SQL Server 中 Alter Table 语句的主要作用是对已经创建的表进行修改、添加、删除约束、修改表结构等操作。下面是 Alter Table 语句的一些用法: 添加约束 Alter Table ...
- **知识点**:在数据库管理系统(DBMS)中,`ALTER TABLE` 是一种用于修改已存在表结构的 SQL 语句。这包括添加、删除或修改列、约束等。 #### 描述:“一个字段: ALTER TABLE table_name MODIFY (字段类型 数据...
### SQL中的ALTER TABLE语句详解 #### 一、概述 在数据库管理中,经常会遇到需要对已有的表结构进行修改的情况。例如,可能需要添加新的字段、修改字段的数据类型、删除不再使用的字段或者更改索引等。这时就需要...
在SQL语言中,`ALTER`命令是一个非常重要的工具,它允许用户在数据库中对已有的表进行各种修改操作,如增加、删除或更改列(字段)等。通过使用`ALTER`命令,数据库管理员或开发人员可以灵活地调整数据库表结构以...
### IQ 16 SQL 语句应用:ALTER TABLE 基本语法 在数据库管理中,经常需要对现有的表结构进行修改以适应业务需求的变化。SQL 提供了 `ALTER TABLE` 语句来实现这一功能。本文将详细介绍 `ALTER TABLE` 语句的基本...
在这个SQL入门教程中,我们将重点讨论`ALTER TABLE`语句,它允许我们在数据库中对已存在的表格进行修改。 `ALTER TABLE`是SQL中的一个关键命令,它允许我们在不删除整个表的情况下对表格结构进行调整。这些调整包括...
`ALTER`语句是SQL语言中的一个重要组成部分,用于在数据库中对已有对象进行修改,如表、视图、索引等。在SQL Server中,`ALTER`语句尤其常用,以下将详细介绍在修改表结构时涉及到的一些关键操作。 1. **添加字段**...
ALTER TABLE test ADD (city CHAR(20)); ``` 这条命令向`test`表中添加了一个名为`city`的新列,其数据类型为`CHAR(20)`,表示它可以存储最多20个字符。 #### 插入新记录 插入新记录有两种常见的方式: 1. **插入...
在SQL中,可以通过`ALTER TABLE`命令来实现这一操作。 **语法示例**: ```sql ALTER TABLE table_name ADD column_name data_type; ``` 例如,假设我们有一个名为`Employees`的表,并且想要在这个表中新增一个...
ALTER TABLE Student ADD CONSTRAINT FK_CLASSID FOREIGN KEY (ClassId) REFERENCES Class (ClassId); ``` 删除外键约束 删除外键约束是删除一个表的外键约束,基本语法为: ```sql ALTER TABLE 表名 DROP FOREIGN ...
ALTER TABLE table_name ALTER column_name SET DEFAULT expression; ``` **示例:** 为 `staff` 表中的 `contact_email` 列设置默认值为 `"unknown@company.com"`: ```sql ALTER TABLE staff ALTER contact_email...
- 使用`ALTER TABLE`和`ALTER TABLE ALTER COLUMN`可以修改表结构。 - `DROP COLUMN`用于删除列。 - `ADD`关键字后可直接跟列名或约束,如`CONSTRAINT`关键字用于定义约束。 - 增加或删除主键、唯一性、检查和默认...
ALTER TABLE test ADD mail VARCHAR(128); ``` ### 删除列 删除列的操作在Oracle和MySQL中也是一致的,但DB2不直接支持。若需删除`mail`列,你可以这样操作: - Oracle & MySQL: ```sql ALTER TABLE test DROP ...
ALTER TABLE table_name ADD column_name datatype [NOT NULL] [DEFAULT 'value']; ``` - **示例**: - 向表中添加一个名为`new_field_name`的新字段,并设置默认值为0且不允许为空: ```sql ALTER TABLE table...
- **SQL Server:** `ALTER TABLE table_name ALTER COLUMN column_name new_data_type [NULL | NOT NULL];` - **Oracle:** `ALTER TABLE table_name MODIFY (column_name new_data_type [NULL | NOT NULL]);` **...
SQL语言提供了强大的工具来修改数据库表结构,包括增加字段、删除字段、增加约束、删除约束、修改缺省值、修改字段数据类型、重命名字段以及重命名表等操作,所有这些均通过`ALTER TABLE`命令实现。 #### 1. 增加...
在数据库管理中,`ALTER TABLE` 和 `CREATE TABLE` 是两个非常重要的SQL语句,用于对已有表格结构进行修改和创建新的表格结构。在Access和VB6(Visual Basic 6)环境中,这些功能同样得到支持,尽管它们可能具有与...
ALTER TABLE schema.tableName ALTER COLUMN columnName SET DATA TYPE 字段类型; ``` 例如,若要将`columnName`的类型从`VARCHAR(10)`改为`VARCHAR(20)`,则应输入: ```sql ALTER TABLE schema.tableName ...