设为首页 收藏本站
查看: 802|回复: 0

[经验分享] Oracle约束基本语法 修改表结构

[复制链接]

尚未签到

发表于 2016-8-3 13:42:07 | 显示全部楼层 |阅读模式

                           

更改表的结构

  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;

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-252348-1-1.html 上篇帖子: Oracle学习之单行函数_统计函数 下篇帖子: Oracle函数和存储过程的区别
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表