您的位置:首页 > 数据库 > Oracle

oracle怎样修改表名、列名、字段类型、添加表列、删除表列、主键和unique

2016-01-14 14:11 851 查看
RENAME TEST  TO TEST1--修改表名
ALTER TABLE SCOTT.TEST RENAME COLUMN NAME TO NAME1
--修改表列名
ALTER TABLE SCOTT.TEST MODIFY NAME1 NUMBER(20) --修改字段类型

ALTER TABLE SCOTT.TEST ADD ADDRESS VARCHAR2(40) --添加表列

ALTER TABLE SCOTT.TEST DROP NAME CASCADECONSTRAINTS
--删除表列






unique唯一

用于指定某列的值不能重复,但是可以null;

Create table user2(id number,namevarchar2(32)unique);

SQL> insert into user2(name)values('xiaohong');

insert intouser2(name) values('xiaohong')

ORA-00001: 违反唯一约束条件(SCOTT.SYS_C005256)

注意:unique可以插入null空值,而且可以插入多行空值。

primary key主键

用于唯一的标示表行的数据,当定义主键约束后,该列不但不能重复而且不能为空。


案例:

Create table user3(id number primarykey,name varchar2(32)unique);

SQL> insert into user3(id) values(1);

insert intouser3(id) values(1)

ORA-00001: 违反唯一约束条件(SCOTT.SYS_C005257)

SQL> insert into user3(id) values(null);

insert intouser3(id) values(null)

ORA-01400: 无法将 NULL 插入("SCOTT"."USER3"."ID")

primary key和unique的区别:

1、一个表可以有多个unique,但是只能有一个主键

2、我们每张表都应该有一个主键。

3、unique的值可以为空,但是主键不可以为空。

4、主键的所在列会自动创建索引,但是unique不会自动创建索引。







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle plsql