oracle怎樣修改表名、列名、字段類型、添加表列、刪除表列、主鍵和unique

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 keyunique的區別:

1、一個表可以有多個unique,但是只能有一個主鍵

2、我們每張表都應該有一個主鍵。

3unique的值可以爲空,但是主鍵不可以爲空。

4、主鍵的所在列會自動創建索引,但是unique不會自動創建索引。







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章