• 修改表名

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仍然会按照类似的规则创建约束

MySQL命令随手记之alter的更多相关文章

  1. linux操作mysql命令快速手记 — 让手指跟上思考的速度(二)

    这一篇是<mysql内建命令快速手记>的姐妹篇,废话不再赘述,直接上干货,跟老铁慢慢品 1.mysql -hlocalhost -uroot -proot,-h,-u,-p分别代表ip,u ...

  2. MySQL命令使用手记

    1.登陆          >mysql -u root -p,root没密码按回车. 2.创建数据库  >create database XXX; 3.创建用户     >inse ...

  3. mysql内建命令快速手记 — 让手指跟上思考的速度(一)

    在微信公众号上看到一篇文章说的很好,意思是说,大牛在尝试各种方案的时候可能并没有超神的预测和筛选能力 只是你通常测试一种情况时,大神已经测试了好几种方案了,讲的是"为什么大多数程序员不喜欢写 ...

  4. Mysql命令大全

    格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输 ...

  5. Mysql 命令大全

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root - ...

  6. MySQL命令大全:MySQL常用命令手册、MySQL命令行大全、查询工具

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...

  7. 使用mysql 命令行,增加 ,删除 字段 并 设置默认值 及 非空

    使用mysql 命令行,增加 ,删除 字段 并 设置默认值 及 非空 添加 alter table table_name add field_name field_type; 添加,并设置默认值,及非 ...

  8. mysql 命令重命名表RENAME TABLE 句法

    mysql 命令重命名表RENAME TABLE 句法 RENAME TABLE tbl_name TO new_tbl_name[, tbl_name2 TO new_tbl_name2,...]更 ...

  9. [转]Mysql命令行常用操作

    Mysql命令行常用操作 一.从命令行登录MySQL数据库服务器 1.登录使用默认3306端口的MySQL /usr/local/mysql/bin/mysql -u root -p 2.通过TCP连 ...

随机推荐

  1. git 工作中实用合并分支

    合并分支 .克隆远程分支 git clone -b dev1. url .创建本地分支,并关联远程分支 git checkout -b dev_wt orgin/dev_wt .合并某分支到当前分支 ...

  2. item方法

    class Person: def __init__(self, name, age): self.name = name self.age = age def __getitem__(self, i ...

  3. 【WPF on .NET Core 3.0】 Stylet演示项目 - 简易图书管理系统(4) - 图书列表界面

    在前三章中我们完成了登录窗口, 并掌握了使用Conductor来切换窗口, 但这些其实都是在为我们的系统打基础. 而本章中我们就要开始开发系统的核心功能, 即图书管理功能了. 通过本章, 我们会接触到 ...

  4. 玩转Django2.0---Django笔记建站基础十(一)(常用的Web应用程序)

    第十章 常用的Web应用程序 Django为开发者提供了常见的Web应用程序,如会话控制.高速缓存.CSRF防护.消息提示和分页功能.内置的Web应用程序大大优化了网站性能,并且完善了安全防护机制,而 ...

  5. Docker 安装 Elasticsearch+kibana

    1 下载镜像 docker pull elasticsearch:7.4.1 docker pull kibana:7.4.1 拉取的镜像如下: 2 创建network 创建一个网络,名字任意取,使得 ...

  6. mva 的 第一弹 ASP.NET SignalR

    弹弹弹 弹走 占位 补齐

  7. SpringMVC 中的异常处理

    目录 1.搭建编码分析 2.编写异常类 3.编写自定义异常处理器 4.在springmvc.xml中配置异常处理器 5.编写Error.jsp.index.jsp页面 6.编写collector代码模 ...

  8. xhsell关闭jupyter仍然运行的命令

    nohup jupyter notebook & nohup 和 &都是linux的命令 1.& 当在前台运行某个作业时,终端被该作业占据:可以在命令后面加上& 实现后 ...

  9. flask中使用SQLAlchemy操作mysql的一些注意事项和坑

    一 ImportError: cannot import name 'db' 由于app最后才加载,所以其他文件,比如models.py不能从app.py导入任何变量, 要使用db可以先定义一个,之后 ...

  10. gulp实现自动化打包(二)

    引言 在这篇文章中我基于上一篇文章gulp的简单打包示例(一)的代码(重点,不然看的懵逼状态)来介绍gulp的自动化打包,主要是修改gulpfile.js配置文件.当我们执行gulp任务,gulp自动 ...