[转帖]MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN

mysql,alter,table,vs,change,modify,column · 浏览次数 : 0

小编点评

**ALTER COLUMN 语句** ALTER COLUMN col_name {SET DEFAULT literal | DROP DEFAULT} * **SET DEFAULT literal** 设置列的默认值。 * **DROP DEFAULT** 删除列的默认值。 **ALTER TABLE 语句** ALTER TABLE table_name CHANGE COLUMN col_name old_col_name new_col_name column_definition [FIRST|AFTER col_name] * **CHANGE COLUMN** 重命名列。 * **ALTER TABLE** 指定要修改的表名称。 * **COLUMN_DEFINITION** 是新列的定义。 * **FIRST** 或 **AFTER** 指定列的位置。 **ALTER COLUMN 语句示例** ```sql ALTER COLUMN rental_duration SET DEFAULT 5; ALTER COLUMN rental_duration DROP DEFAULT; ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32) NOT NULL FIRST; ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32) NOT NULL AFTER baz; ALTER TABLE MyTable MODIFY COLUMN foo VARCHAR(32) NOT NULL AFTER baz; ``` **总结** * ALTER COLUMN 设置或删除列的默认值。 * ALTER TABLE 重命名、列类型变更以及列位置的移动。 * ALTER COLUMN 可以与 CHANGE COLUMN 和 MODIFY COLUMN类似,但有更简洁的语法。

正文

https://www.cnblogs.com/pachongshangdexuebi/p/5029152.html

 

ALTER COLUMN

语法:
ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
作用:
设置或删除列的默认值。该操作会直接修改.frm文件而不涉及表数据。所以,这个操作非常快。
例子:
mysql> alter table film alter column rental_duration set default 5;
mysql> alter table film alter column rental_duration drop default;


CHANGE COLUMN

语法:

CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name]

作用:

列的重命名、列类型的变更以及列位置的移动

例子:

ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32) NOT NULL FIRST;
ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32) NOT NULL AFTER baz;

MODIFY COLUMN

语法:
MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]
作用:
除了列的重命名之外,他干的活和CHANGE COLUMN是一样的
例子:
ALTER TABLE MyTable MODIFY COLUMN foo VARCHAR(32) NOT NULL AFTER baz;


摘自:http://blog.itpub.net/26515977/viewspace-1208252/

与[转帖]MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN相似的内容:

[转帖]MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN

https://www.cnblogs.com/pachongshangdexuebi/p/5029152.html ALTER COLUMN 语法: ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT} 作用: 设置或删除列的默认

[转帖]MySQL联合索引(复合索引)

Mysql联合唯一索引添加相同数据插入报错 联合索引在两个字段都存在唯一,将报错。 1.添加联合索引 alter table "表名" add unique index(`字段1`,`字段2`) 2.此时如果在插入相同的数据会报错,可以使用 no duplicate key update 解决相同数

[转帖]Mysql Timestamp只能活到2038年?

https://www.jianshu.com/p/3963c9cfafdc MySQL的TIMESTAMP使用 4 个字节存储,保存从1970年1月1日午夜(格林威治时间)以来的秒数,只能表示从 1970 年到 2038 年。 如何替换成DateTime? 1. 修改原来字段的名字; ALTERT

[转帖]MySQL pid 和 socket 文件说明

2021-10-13 11:595110转载MySQL 1 pid-file文件 MySQL 中的 pid 文件记录的是当前 mysqld 进程的 pid ,pid 亦即 Process ID 。可以通过 pid-file 参数来配置 pid 文件路径及文件名,如果未指定此变量,则 pid 文件默认

[转帖]MySQL 慢查询日志深入理解

https://www.jb51.net/article/210312.htm + 目录 什么是慢查询日志 MySQL的慢查询日志是 MySQL提供的一种日志记录,它用来记录在 MySQL 中响应时间超过阀值的语句,具体指运行时间超过long_query_time 值的 SQL,则会被记录到慢查询日

[转帖]MySQL with Docker - Performance characteristics

https://dev.mysql.com/blog-archive/mysql-with-docker-performance-characteristics/ Docker presents new levels of portability and ease of use when it co

[转帖]MySQL Performance : Impact of InnoDB Transaction Isolation Modes in MySQL 5.7

http://dimitrik.free.fr/blog/archives/2015/02/mysql-performance-impact-of-innodb-transaction-isolation-modes-in-mysql-57.html There were so many valua

[转帖]MySQL Performance : IP port -vs- UNIX socket impact in 8.0 GA

http://dimitrik.free.fr/blog/posts/mysql-performance-80-ga-ip-port-vs-unix-socket-impact.html 2018-06-15 16:05 | MySQL, Performance, InnoDB, Benchmark

[转帖]MySQL Performance : XFS -vs- EXT4 Story

http://dimitrik.free.fr/blog/posts/mysql-80-perf-xfs-vs-ext4.html 2020-05-13 22:15 | MySQL, Performance, InnoDB, Benchmarks, DoubleWrite, XFS, EXT4 by

[转帖]MySQL Performance : 8.0 and UTF8 impact

http://dimitrik.free.fr/blog/posts/mysql-performance-80-and-utf8-impact.html 2018-04-26 00:58 | MySQL, Performance, UTF8 by Dimitri The world is movin