MySQL命令随手记之alter
2024-10-08 04:00:36
修改表名
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仍然会按照类似的规则创建约束
最新文章
- 301和302 Http状态有啥区别?
- Sublime Text 3 快捷键
- STM32是否可以跑linux
- PHP的学习--cookie和session--来自copy_02
- CRM Xrm.Page 的对象层次结构
- Linq世界走一走
- C# 获取文件名及扩展名
- mac上做透明图片, png, alpha
- 展开字符串(dfs)
- img标签中的src为php文件
- Web服务器原理
- C/C++ 的宏中#和##的作用和展开
- vander范德蒙德行列式
- CentOS配置rsyslog Serve
- QQ快速登录协议分析以及风险反思
- audio音乐播放
- web.xml中context-param详解
- MVC如何设置启动页
- Maven学习(十一)-----使用Maven创建Web应用程序项目
- Linux Shell参数替换
热门文章
- 吸取教训:一段网上找的代码突然爆了,项目出现大BUG
- CSS动效集锦,视觉魔法的碰撞与融合(三)
- 这个时候 快下班了 我来翻译一段: Pro ASP.NET MVC 3 Framework
- Python学习,第一课 - 基础学习
- Miniio对象储存服务器安装教程
- DFS或BFS(深度优先搜索或广度优先搜索遍历无向图)-04-无向图-岛屿数量
- HashMap 详细讲解
- SpringCloud与微服务Ⅷ --- Hystrix断路器
- Jconsole或者VisualVM监控远程主机(阿里云,jdk11或者8)
- Iptables和Firewall-selinux