• 修改表名

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. 10.方法重写Override

    方法重写:Override: 需要有继承关系,子类重写父类的方法! 方法名必须相同 参数列表必须相同 修饰符:范围可以扩大,但不能缩小:public>protected>defalut&g ...

  2. 从0开发3D引擎(九):实现最小的3D程序-“绘制三角形”

    目录 上一篇博文 运行测试截图 需求分析 目标 特性 头脑风暴 确定需求 总体设计 具体实现 新建Engine3D项目 实现上下文 实现_init 实现"获得WebGL上下文" 实 ...

  3. latex之在windows环境下能够在latex中使用中文

    今天要把前段时间的实验用英语先记录下来,自己就想根据原来会议的模版弄一个简易的页面(英语),突然想到之前用英文模板时是不能输入中文的,于是想着怎么在latex中输入中文,折腾了许久,终于成功了,现在分 ...

  4. 进击.net 三大框架

    spring mybatis NHibernate

  5. ASENET MVC 5 with Bootstrap and Knockout.js 第一弹

     A Basic Example Now that the Knockout library is installed, let’s get right to an example of using ...

  6. mysql输出到页面MVC模式

    上一篇文章我提到过在jsp页面不好 这篇文章讲的就是界面和代码分离,可以初步实现两个或三个人合作完成一个项目 好,废话不多说,进正题 这次又四个步骤 第一步,新建项目,新建实体类 第二步,新建数据库, ...

  7. 剑指offer--二维数组中查找

    剑指offer--二维数组中查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序, 每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组 ...

  8. django 发布会签到系统web开发

    引言 最近学习了虫师的发布会签到系统demo,结合自己所学django知识,对demo重新塑造了一下.也是为了练练手,巩固知识.现在就分享一下成果~ Django工作流 学习django web开发, ...

  9. 7天用Go动手写/从零实现Web框架Gee

    设计一个框架 大部分时候,我们需要实现一个 Web 应用,第一反应是应该使用哪个框架.不同的框架设计理念和提供的功能有很大的差别.比如 Python 语言的 django和flask,前者大而全,后者 ...

  10. Oracle操作语句--增加/删除

    1.删除1980年雇员的雇员信息: delete  from myemp where     hiredate between to_date('1980-1-1','yyyy-mm-dd') and ...