mysql怎么 删除约束,MySQL中添加、删除约束

MySQL中6种常见的约束:主键约束(primary key)、外键约束(foreign key)、非空约束(not null)、唯一性约束(unique)、默认值约束(defualt)、自增约束(aoto_increment),下面是添加、删除这几种约束的一些方法。

--我已经建了数据库; 1 -- 添加约束

2 -- 1、建表时添加约束:

3 CREATE TABLE goodstest (

4 GID INT(10) NOT NULL AUTO_INCREMENT,

5 GNAME VARCHAR(20) NOT NULL,

6 GPRICE FLOAT NOT NULL,

7 GNUM INT(10) NOT NULL,

8 PRIMARY KEY (GID),

9  UNIQUE KEY (GNAME),

10  FOREIGN KEY (col_name) REFERENCES tab_name(col_name)

11 );

12

13

14 -- 2、通过ALTER语句添加约束

15 -- 主键约束

16 -- 语法:ALTER TABLE tab_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (key_part,...) [index_option]

17 ALTER TABLE goodstest ADD PRIMARY KEY(GID);

18 -- 语法:ALTER TABLE tab_name MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]/* 可以更改列定义但不能更改其名称,在不重命名列定义的情况下更改列定义比CHANGE更方便。*/

19 -- 通过修改列定义添加或者添加主键,修改约束一般是先删掉原有的后重新添加

20 ALTER TABLE goodstest MODIFY GID INT(10) PRIMARY KEY;

21 -- 语法:ALTER TABLE tab_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRET | AFTER col_name] /*原始定义中存在但未为新定义指定的属性不会继续使用。即以新定义为准*/

22 ALTER TABLE goodstest CHANGE GID GID INT(10) PRIMARY KEY;/* 当不需要重命名时两个相同的列名是必要的*/

23

24

25 -- 唯一性约束

26 -- 语法:ALTER TABLE tab_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (key_part,...) [index_option] ...

27 ALTER TABLE goodstest ADD CONSTRAINT GNAME_UNI UNIQUE KEY(GNAME);/*如果没有用CONSTRAINT设置约束名 系统会自动生成*/

28 -- 同理可用MODIFY COLUMN及CHANGE COLUMN方法添加

29 -- 外键约束

30 -- 语法:ALTER TABLE tab_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (col_name,...) reference_definition

31 ALTER TABLE gsales ADD FOREIGN KEY(GID) REFERENCES goods(GID);

32

33 -- 默认约束

34 -- 语法:AlTER TABLE goodstest ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}/*删除以及设置*/

35

36

37 -- 非空约束以及自增约束:在定义时设置,或者通过MODIFY COLUMN 和 CHANGGE COLUMN设置及删除

38 -- 一张表只能有一个自增长列,并且该列必须定义了约束(可以是主键约束,也可以是唯一约束,也可以是外键约束,但是不可以是非空和检查约束)

39

40

41 -- 删除约束

42

43 -- 语法:ALTER TABLE tab_name DROP PRIMARY KEY;/*主键是唯一的就这样就行了*/

44 -- 语法:ALTER TABLE tab_name DROP [INDEX | KEY] index_name /*删除唯一性约束*/

45 -- 语法:ALTER TABLE tab_name DROP FOREIGN KEY fk_name/*删除外键约束*/

标签:name,删除,col,约束,添加,KEY,MySQL,TABLE,ALTER

来源: https://www.cnblogs.com/sdnbyzq/p/10909479.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值