• 修改表名

alter table 表名 rename 新表名; //修改table名

  • 添加、删除、修改字段

alter table 表名 add [column] 列名 数据类型;  //添加column

alter table 表名 drop [column] 列名;  //删除column

alter table 表名 modify [column] 列名 新数据类型;  //修改column的数据类型

alter table 表名 change [column] 列名 新列名 新数据类型;  //修改column名称及数据类型

REMAEK:

  • column 关键字是可选的(可以不写)
  • 添加、删除主键约束

alter table 表名 add constraint 约束名 primary key(列名 [,列名,...]) ;  //创建主键

alter table 表名 add primary key(列名 [,列名,...]) ;  //创建主键

alter table 表名 drop primary key;  //删除主键

REMARK:

  • 由于MySQL删除主键并不能通过  alter table 表名 drop constraint 约束名 来删除
  • 因此推测对于主键的约束可能会被忽略
  • 于是我加上约束创建了一个主键,然后  show create table 表名 ,主键创建相关代码如下
PRIMARY KEY (`Sno`)
  • 可见约束确实被忽略了(个人理解)
  • 添加、删除外键约束

alter table 表名 add constraint 约束名 foreign key(列名) references 表名(列名) ;  //添加外键  

alter table 表名 add foreign key(列名) references 表名(列名);  //添加外键

alter table 表名 drop foreign key 约束名;  //删除外键

REMARK:                   

  • 对于用第一种方法创建的外键 约束名 是自己设置的
  • 对于用第二种方法设置的外键,MySQL会自动生成约束
  • 可以通过  show create table 表名 来查看生成的约束名
  •  下面是我用第二种方法创建外键之后,使用  show create table 表名  得到的外键创建相关代码
 CONSTRAINT `Teacher_Course_ibfk_1` FOREIGN KEY (`Teacher_id`) REFERENCES `Teacher` (`Id`)
  • 可见如果不加约束直接创建 foreign key
  • MySQL仍然会按照类似的规则创建约束

最新文章

  1. 301和302 Http状态有啥区别?
  2. Sublime Text 3 快捷键
  3. STM32是否可以跑linux
  4. PHP的学习--cookie和session--来自copy_02
  5. CRM Xrm.Page 的对象层次结构
  6. Linq世界走一走
  7. C# 获取文件名及扩展名
  8. mac上做透明图片, png, alpha
  9. 展开字符串(dfs)
  10. img标签中的src为php文件
  11. Web服务器原理
  12. C/C++ 的宏中#和##的作用和展开
  13. vander范德蒙德行列式
  14. CentOS配置rsyslog Serve
  15. QQ快速登录协议分析以及风险反思
  16. audio音乐播放
  17. web.xml中context-param详解
  18. MVC如何设置启动页
  19. Maven学习(十一)-----使用Maven创建Web应用程序项目
  20. Linux Shell参数替换

热门文章

  1. 吸取教训:一段网上找的代码突然爆了,项目出现大BUG
  2. CSS动效集锦,视觉魔法的碰撞与融合(三)
  3. 这个时候 快下班了 我来翻译一段: Pro ASP.NET MVC 3 Framework
  4. Python学习,第一课 - 基础学习
  5. Miniio对象储存服务器安装教程
  6. DFS或BFS(深度优先搜索或广度优先搜索遍历无向图)-04-无向图-岛屿数量
  7. HashMap 详细讲解
  8. SpringCloud与微服务Ⅷ --- Hystrix断路器
  9. Jconsole或者VisualVM监控远程主机(阿里云,jdk11或者8)
  10. Iptables和Firewall-selinux