MySQL命令随手记之alter
修改表名
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的更多相关文章
- linux操作mysql命令快速手记 — 让手指跟上思考的速度(二)
这一篇是<mysql内建命令快速手记>的姐妹篇,废话不再赘述,直接上干货,跟老铁慢慢品 1.mysql -hlocalhost -uroot -proot,-h,-u,-p分别代表ip,u ...
- MySQL命令使用手记
1.登陆 >mysql -u root -p,root没密码按回车. 2.创建数据库 >create database XXX; 3.创建用户 >inse ...
- mysql内建命令快速手记 — 让手指跟上思考的速度(一)
在微信公众号上看到一篇文章说的很好,意思是说,大牛在尝试各种方案的时候可能并没有超神的预测和筛选能力 只是你通常测试一种情况时,大神已经测试了好几种方案了,讲的是"为什么大多数程序员不喜欢写 ...
- Mysql命令大全
格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输 ...
- Mysql 命令大全
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root - ...
- MySQL命令大全:MySQL常用命令手册、MySQL命令行大全、查询工具
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...
- 使用mysql 命令行,增加 ,删除 字段 并 设置默认值 及 非空
使用mysql 命令行,增加 ,删除 字段 并 设置默认值 及 非空 添加 alter table table_name add field_name field_type; 添加,并设置默认值,及非 ...
- mysql 命令重命名表RENAME TABLE 句法
mysql 命令重命名表RENAME TABLE 句法 RENAME TABLE tbl_name TO new_tbl_name[, tbl_name2 TO new_tbl_name2,...]更 ...
- [转]Mysql命令行常用操作
Mysql命令行常用操作 一.从命令行登录MySQL数据库服务器 1.登录使用默认3306端口的MySQL /usr/local/mysql/bin/mysql -u root -p 2.通过TCP连 ...
随机推荐
- 11.黑窗口、IDEA生成JavaDoc
JavaDoc: 它是一种技术,可以将一些注释信息生成一个帮助文档,就类似于Java的API JavaAPI帮助文档: https://www.oracle.com/cn/java/technolog ...
- 6.JavaSE之数据类型扩展及面试题讲解
整数:二进制0b 十进制 八进制0 十六进制0x 浮点数:银行业务,关于钱的,Java有个BigDecimal数学工具类,用这个计算.最好完全避免使用浮点数进行比较.因为float 是有限的离散的,它 ...
- Java入门 - 面向对象 - 07.包(package)
原文地址:http://www.work100.net/training/java-package.html 更多教程:光束云 - 免费课程 包(package) 序号 文内章节 视频 1 概述 2 ...
- [bzoj4569] [loj#2014] [Scoi2016] 萌萌哒
Description 一个长度为 \(n\) 的大数,用 \(S1S2S3...Sn\) 表示,其中 \(Si\) 表示数的第 \(i\) 位, \(S1\) 是数的最高位,告诉你一些限制条件,每个 ...
- EditPlus 添加 打开文件所在文件夹 功能
添加自定义工具: Tools -> Configure User Tools... -> Add Tool >> Menu Text: 打开所在的文件夹 Command: ex ...
- 用JAVA分别实现WebSocket客户端与服务端
最近公司在搞一个项目刚好需要用到WebSocket技术来实现实时数据的传输,因为之前也没接触过,所以捣鼓了好些天,最近恰巧有空就写写.有误的地方还请大牛们能及时指正. 项目背景:基于spring+sp ...
- mysql数据库的备份与数据恢复
一.定时备份数据库 前段时间工作中搭建了HttpRunnerManager的接口自动化测试平台,由于平台中没有提供用例下载的功能及权限管理功能,自己也不会写前端,于是就想了办法,那就是备份数据库,如 ...
- 文件上传二:FormData上传
介绍三种上传方式: 文件上传一:伪刷新上传 文件上传二:FormData上传 文件上传三:base64编码上传 Flash的方式也玩过,现在不推荐用了. 真正的异步上传,FormData的更多操作,请 ...
- Web自动化测试项目(七)日志
一.日志作用 调试程序 了解系统程序运行的情况,是否正常 系统程序运行故障分析与问题定位 用来做用户行为分析和数据统计 二.为项目添加日志 └── utils ├── log_utils.py └── ...
- 导出表格数据到excel并下载(HSSFWorkbook版)
这里主要前面是通过一个全局变量,在layui的done回调里拿到数据,然后将该数据导出到excel,这里要注意一点,下载excel不能用ajax方式,如果采用ajax下载默认会读取response返回 ...