Mysql与Oracle追加(删除)主外键、索引、check约束(实测有效)

Oracle和Mysql的这些区别真叫人头大,你说啥时候这些区别才能消失呢?

唉,就简单地整理了一部分,如有不对的地方,还请各位大佬批评指正!

修改列结构

ALTER TABLE 表名 MODIFY 列名 varchar(20);
Oracle:
alter table student modify sno varchar(20);
Mysql:
alter table student modify sno varchar(20);

追加、删除主键

ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY;

Oracle可直接删除约束,Mysql:drop primary key

Oracle:
alter table student add constraint stu_pk primary key (sno);
alter table student drop constraint stu_pk;
Mysql:
alter table student add constraint stu_pk primary key (sno);
alter table student drop primary key;

追加、删除外键

外键不一定是另一个表的主键,但必须是唯一性索引。主键约束和唯一性约束都是唯一性索引

Oracle:
alter table SC add constraint sc_fk foreign key (cno) references Course (cno);
alter table SC drop constraint sc_fk ;
Mysql:

其实fk并非外键约束名,有时可能恰巧是。
SHOW CREATE TABLE sc;可以查看到外键约束名

ALTER TABLE sc ADD CONSTRAINT fk FOREIGN KEY (sno) REFERENCES student(sno);
SHOW CREATE TABLE sc;
alter table sc drop foreign key fk;

追加、删除索引

CREATE UNIQUE INDEX  约束名 ON 表名(列名);

删除时Mysql需要加on

Oracle:
CREATE UNIQUE INDEX  Stuname ON Student(Sname);
DROP INDEX Stuname;
Mysql:
CREATE UNIQUE INDEX  Stusno ON Student(Sno);
DROP INDEX Stusno on student;

建立、删除CHECK约束

ALTER TABLE 表名 ADD CONSTRAINT 约束名 CHECK(具体约束);

删除mysql得写check

Oracle:
alter table student add constraint c1 check(Sage>=0 and Sage<=100);
alter table student drop constraint c1;
Mysql:
alter table student add constraint c1 check(Sage>=0 and Sage<=100);
alter table student drop check c1;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫余

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值