mysql 数据库 给字段添加递增列

SQL 增加列,删除列column的问题

MySQL 数据库如何添加列??

添加列需要重建表空间,需要几个小时(具体时间取决于数据量)。

立即添加列只会修改数据字典,不会重建表空间。
默认值用空数据填充。

当读取旧数据时,系统会自动补全默认值。
写入新数据时,突出显示新格式并记下列号。

当DDL不兼容时(比如删除列),需要重建表空间,这需要几天的时间。

限制:只能添加最后一列,不支持主键或索引更改,不适合压缩表。

操作提醒:使用前请确认DDL兼容性。

mysql中的ALTER语句

说白了,ALTER语句是MySQL修改表的万能钥匙,但如果使用不当,很容易导致数据库崩溃。

让我们谈谈第一件非常重要的事情。
当改变表的结构时,最好在业务较少的时候进行。
例如,在我们去年运行的一个营销项目中,列表在午夜 2 点发生了更改。
第二天,用户查看订单,直接卡在PPT里。
在语言中,这种效果被称为“SNOW CASE”。
在迹象面前犹豫了一下。
另一件事是,额外的索引取决于场景。
对于3 000大小的小表,随机添加索引可能比根本不添加要好。
查询数据时应考虑查看索引的成本。
另一个是决定性的。
弯曲柱子之前最好向后走。
起初我以为把 INT 改成 VARCHAR 很容易。
但是,当修改某个文件时,由于线程没有向旧数据中插入任何值,因此立即报错。

等一下,还有一件事。
重命名表最适合在测试环境中使用。
生产环境要小心,因为很多依赖表中名字的代码还没有更新,一改数据库就会彻底崩溃。

建议在修改表之前先在测试环境中运行一下。
不要只看语法,还要看效果本身。