Oracle约束基本语法 修改表结构

                            更改表的结构

  1. 编辑表的字段

  修改一个列的数据类型 ( 一般限于修改长度,修改为一个不同类型时有诸多限制):

  语法:

  ALTER TABLE 表名 MODIFY( 列名, 数据类型);

  eg1:

 

alter table skate_test modify (author number(10,0) )
 

 

  在修改列的长度时候, 只能编辑比现有字段实际存的长度还要大, 否则提示下面的错误:

  ORA-01441: 无法减小列长度, 因为一些值过大

  eg2:

  alter table skate_test modify (author varchar2(10) )

  在修改列的数据类型的时候, 所修改的列必须为空, 否则提示下面的错误:

  ORA-01439: 要更改数据类型, 则要修改的列必须为空

  2. 增加一个列

  语法:

  ALTER TABLE 表名 ADD( 列名, 数据类型);

  eg1

 

ALTER TABLE skate_test ADD(author NUMBER(38,0) not null);
 

  3. 给列改名

  语法:

  ALTER TABLE 表名 RENAME COLUMN 当前列名 TO 新列名;

  eg1

 

ALTER TABLE skate_test RENAME COLUMN author TO authorer_new
 

 

  4. 删除一个列

  语法:

  ALTER TABLE 表名 DROP COLUMN 列名;

  eg1

 

alter table skate_test drop column author
 

 

  5. 将一个表改名

  语法:

  ALTER TABLE 当前表名 RENAME TO 新表名;

  eg1

 

alter table skate_test rename to test_sakte
 

 

  5. 给表加注释

  comment column on 表名. 列名 is ' 注释内容';   // 修改表的列的注释

 

COMMENT ON TABLE MOVO_NEW.TEST_SAKTE  IS '注释内容';  //修改表的注释
 

 

 

 Oracle 约束基本语法

主键约束的添加-->

方法一:Create table 表名( 字段1 字段1 类型 Primary Key, 字段2 字段2 类型,.. 字段N 字段N 类型);

  Create table UserInfo(UserID varchar2(20) Primary Key ,UserPassWord varchar(20),StateID number);

方法二: Alter table 表名 add constraint 约束名 Primary Key( 字段1);

  Create table UserInfo(UserID varchar2(20),UserPassWord varchar(20),StateID number);

    Alter table UserInfo add constraint PK_UserInfo Primary Key (UserID);

外键约束的添加-->

  方法一:Create table 表名( 字段1 字段1 类型, 字段2 字段2 类型 constraint 约束名 references 外键表名( 外键),.. 字段N 字段N 类型);

  Create table UserInfo(UserID varchar2(20),UserPassWord varchar(20),StateID number constraint FK_UserInfoState references State(StateID));

  ( 注:在此之前我们必须先创建好State)- Create table State (StateID number primary key,StateName varchar2(20));

  方法二: Alter table 外键表 add constraint 约束名 Foreign Key( 外键表中的外键) references 主键表名( 主键表中的主键);

  Create table UserInfo(UserID varchar2(20) Primary Key ,UserPassWord varchar2(20),StateID number);

     Create table State (StateID number primary key,StateName varchar2(20));

     Alter table UserInfo add constraint FK_UserInfoState Foreign Key (StateID) references State(StateID);

  非空约束的添加-->

  方法一:Create table 表名( 字段1 字段1 类型, 字段2 字段2 类型 constraint 约束名 not null,.. 字段N 字段N 类型);

  Create table UserInfo(UserID varchar2(20),UserPassWord varchar2(20) constraint N_UserPassWord not null ,StateID number);

  方法二:Alter table 表名 modify ( 字段名 not null);

  Create table UserInfo(UserID varchar2(20),UserPassWord varchar2(20),StateID number);

     Alter table UserInfo modify (UserPassWord not null);

  唯一约束的添加-->

  方法一:Create table 表名( 字段1 字段类型1 ,字段2 字段类型2 constraint 约束名 Unique ,字段n 字段类型n);

  Create table dog(dogid number,dogName varchar2(20) constraint Un_dogName Unique );

  方法二:Alter table 表名 add constraint 约束名 Unique( 被约束字段);

  Create table dog(dogid number,dogName varchar2(20));

     Alter table dog add constraid Un_dogName Unique (dogName);

  检查约束的添加-->

  方法一:Create table 表名( 列名1 列名1 类型 constraint 约束名 Check( 表达式), 列名2 列名2 类型,列名N 列名N 类型);

   Create table pig(pigID number constraint CK_pigID Check(PigID >=0),pigName varchar2(20));

  方法二:Alter table 表名 add constraint 约束名 Check( 表达式);

  Create table pig(pigId number,pigName varchar2(20));

     Alter table pig add constraint CK_pigID Check (pigID >= 0);

Alter table pig add constraint CK_sex Check (sex in ( , ));

  < 约束删除语句:Alter table 表名 drop constraint 约束名>

  Alter table pig drop constraint CK_pigID;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值