博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
修改数据表——添加约束(二十二)
阅读量:5275 次
发布时间:2019-06-14

本文共 1431 字,大约阅读时间需要 4 分钟。

 

 

  比如,原来数据表根本就没有约束,或者说,约束不够。那么如何来添加约束呢?

 

 

添加约束

  1、添加主键约束(只能一个)

  2、添加唯一约束(可以多个)

  3、添加外键约束()

   4、添加默认约束()

 

 

 

 

 

 

  现在,先创建

 

create table user2(username  varchaer(10)  not  null ,pid   smallint  unsigned );show  columns  from  user2;

 

 

 

 

 

 

alter table  user2  add  id  smallint  unsigned ;
show  columns  from  user2;

 

 

 

 

 

 

 

 

 

  一、添加主键约束的语法结构

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]

PRIMARY KEY [index_type] (index_col_name)

  CONSTRAINT是可以添加,也可以不添加。如果添加的话,表示为约束起名字的意思。

 

 

  比如我们为user2表中的id字段添加一个主键约束

alter  table  user2  add   constraint  pk_user2_id   primary  key(id);
show  columns  from  user2;

 

 

 

 

 

 

 

  二、添加唯一约束的语法结构

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]

UNIQUE [INDEX|KEY] [index_name] [index_type]

(index_col_name,…)

 

  比如我们为user2表中的username字段添加唯一约束

alter  table  user2  add  unique(username);show  columns  from  user2;

 

 

 

 

 

 

 

 

  三、添加外键约束的语法结构

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]

FOREIGN KEY [index_name] (index_col_name,…)

reference_definition

  比如我们为user2表中的pid字段添加外键约束

alter   table  user2   add  foregin  key(pid)   references   provinces(id);
show  columns  from  user2;

 

 

 

 

 

 

 

 

 

  四、添加/删除默认约束的语法结构

ALTER TABLE tbl_name ALTER [COLUMN] col_name

{SET DEFAULT literal | DROP DEFAULT}

 

比如我们为user2表中的age字段添加默认值为15

  

alter   table   user2  alter  age  set  default  15;
show  columns  from  user2;

 

 

 

 

 

  当然我们也可以删除我们刚才设置的默认约束

alter   table  user2   alter   age   drop   default;
show  columns  from  user2;

 

转载于:https://www.cnblogs.com/zlslch/p/6540037.html

你可能感兴趣的文章
Round B APAC Test 2017
查看>>
MySQL 字符编码问题详细解释
查看>>
Windows 2003全面优化
查看>>
格而知之2:UIView的autoresizingMask属性探究
查看>>
我的Hook学习笔记
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
整理推荐的CSS属性书写顺序
查看>>
css & input type & search icon
查看>>
C# 强制关闭当前程序进程(完全Kill掉不留痕迹)
查看>>
ssm框架之将数据库的数据导入导出为excel文件
查看>>
语音识别中的MFCC的提取原理和MATLAB实现
查看>>
0320-学习进度条
查看>>
MetaWeblog API Test
查看>>
移动、尺寸改变
查看>>
c# 文件笔记
查看>>
类和结构
查看>>
typeset shell 用法
查看>>
python 之 循环语句
查看>>
心得25--JDK新特性9-泛型1-加深介绍
查看>>
[转]ceph网络通信模块_以monitor模块为例
查看>>