`

sql alter table

阅读更多
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);
分享到:
评论

相关推荐

    修改表 1、添加字段: alter table 表名add column 字段名 数据类型 位置 ; 2、删除字段: a

    在MySQL数据库管理系统中,`ALTER TABLE`语句是用于修改已存在的表结构的关键命令。本文将详细阐述如何使用`ALTER TABLE`来执行各种操作,包括添加字段、删除字段、修改字段、改变字段数据类型、更改表引擎、重命名...

    alter table test rename test1; --修改表名alter table test add colum

    ### MySQL ALTER TABLE 语法与应用详解 #### 一、概述 在MySQL中,`ALTER TABLE`语句是一种非常实用的工具,它允许用户修改现有表的结构,包括但不限于添加、删除或修改列、更改表名以及调整表的存储引擎等。这种...

    SQL Server中alter table一些用法.doc

    SQL Server 中 Alter Table 的一些用法 SQL Server 中 Alter Table 语句的主要作用是对已经创建的表进行修改、添加、删除约束、修改表结构等操作。下面是 Alter Table 语句的一些用法: 添加约束 Alter Table ...

    ALTER TABLE table_name

    - **知识点**:在数据库管理系统(DBMS)中,`ALTER TABLE` 是一种用于修改已存在表结构的 SQL 语句。这包括添加、删除或修改列、约束等。 #### 描述:“一个字段: ALTER TABLE table_name MODIFY (字段类型 数据...

    SQL中的ALTER TABLE语句详解.pdf

    ### SQL中的ALTER TABLE语句详解 #### 一、概述 在数据库管理中,经常会遇到需要对已有的表结构进行修改的情况。例如,可能需要添加新的字段、修改字段的数据类型、删除不再使用的字段或者更改索引等。这时就需要...

    sql中的alter命令

    在SQL语言中,`ALTER`命令是一个非常重要的工具,它允许用户在数据库中对已有的表进行各种修改操作,如增加、删除或更改列(字段)等。通过使用`ALTER`命令,数据库管理员或开发人员可以灵活地调整数据库表结构以...

    IQ_16 SQL 语句应用

    ### IQ 16 SQL 语句应用:ALTER TABLE 基本语法 在数据库管理中,经常需要对现有的表结构进行修改以适应业务需求的变化。SQL 提供了 `ALTER TABLE` 语句来实现这一功能。本文将详细介绍 `ALTER TABLE` 语句的基本...

    SQL入门教程 alter语句

    在这个SQL入门教程中,我们将重点讨论`ALTER TABLE`语句,它允许我们在数据库中对已存在的表格进行修改。 `ALTER TABLE`是SQL中的一个关键命令,它允许我们在不删除整个表的情况下对表格结构进行调整。这些调整包括...

    alter语句关于sql数据库

    `ALTER`语句是SQL语言中的一个重要组成部分,用于在数据库中对已有对象进行修改,如表、视图、索引等。在SQL Server中,`ALTER`语句尤其常用,以下将详细介绍在修改表结构时涉及到的一些关键操作。 1. **添加字段**...

    sql_table_self

    ALTER TABLE test ADD (city CHAR(20)); ``` 这条命令向`test`表中添加了一个名为`city`的新列,其数据类型为`CHAR(20)`,表示它可以存储最多20个字符。 #### 插入新记录 插入新记录有两种常见的方式: 1. **插入...

    SQL语句增加字段、修改字段、修改类型、修改默认值

    在SQL中,可以通过`ALTER TABLE`命令来实现这一操作。 **语法示例**: ```sql ALTER TABLE table_name ADD column_name data_type; ``` 例如,假设我们有一个名为`Employees`的表,并且想要在这个表中新增一个...

    MySql常用sql语句

    ALTER TABLE Student ADD CONSTRAINT FK_CLASSID FOREIGN KEY (ClassId) REFERENCES Class (ClassId); ``` 删除外键约束 删除外键约束是删除一个表的外键约束,基本语法为: ```sql ALTER TABLE 表名 DROP FOREIGN ...

    Postgresql ALTER语句常用操作小结

    ALTER TABLE table_name ALTER column_name SET DEFAULT expression; ``` **示例:** 为 `staff` 表中的 `contact_email` 列设置默认值为 `"unknown@company.com"`: ```sql ALTER TABLE staff ALTER contact_email...

    sql server中的权限基本操作

    - 使用`ALTER TABLE`和`ALTER TABLE ALTER COLUMN`可以修改表结构。 - `DROP COLUMN`用于删除列。 - `ADD`关键字后可直接跟列名或约束,如`CONSTRAINT`关键字用于定义约束。 - 增加或删除主键、唯一性、检查和默认...

    常见的sqlserver操作

    ALTER TABLE test ADD mail VARCHAR(128); ``` ### 删除列 删除列的操作在Oracle和MySQL中也是一致的,但DB2不直接支持。若需删除`mail`列,你可以这样操作: - Oracle & MySQL: ```sql ALTER TABLE test DROP ...

    mysql 修改表方法总结

    ALTER TABLE table_name ADD column_name datatype [NOT NULL] [DEFAULT 'value']; ``` - **示例**: - 向表中添加一个名为`new_field_name`的新字段,并设置默认值为0且不允许为空: ```sql ALTER TABLE table...

    alter提升各种数据库脚本的方法

    - **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.rar_Table

    在数据库管理中,`ALTER TABLE` 和 `CREATE TABLE` 是两个非常重要的SQL语句,用于对已有表格结构进行修改和创建新的表格结构。在Access和VB6(Visual Basic 6)环境中,这些功能同样得到支持,尽管它们可能具有与...

    db2修改表结构1

    ALTER TABLE schema.tableName ALTER COLUMN columnName SET DATA TYPE 字段类型; ``` 例如,若要将`columnName`的类型从`VARCHAR(10)`改为`VARCHAR(20)`,则应输入: ```sql ALTER TABLE schema.tableName ...

Global site tag (gtag.js) - Google Analytics