随笔 - 809  文章 - 0 评论 - 144 阅读 - 770万

在 MySQL 中,ALTER TABLE 语句用于修改现有的表结构。MODIFYCHANGEALTER TABLE 语句中的两个常用选项,它们都用于修改列的定义,但有一些关键的区别。

MODIFY

  • 用途: MODIFY 主要用于修改现有列的定义,比如改变数据类型、默认值、是否允许 NULL 等。
  • 语法:
    ALTER TABLE table_name MODIFY COLUMN column_name new_definition;
    
  • 示例:
    ALTER TABLE employees MODIFY COLUMN salary DECIMAL(10, 2) NOT NULL;
    
    在这个例子中,salary 列的数据类型被修改为 DECIMAL(10, 2),并且设置为不允许 NULL

CHANGE

  • 用途: CHANGE 不仅用于修改现有列的定义,还可以用于重命名列。
  • 语法:
    ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name new_definition;
    
  • 示例:
    ALTER TABLE employees CHANGE COLUMN salary base_salary DECIMAL(10, 2) NOT NULL;
    
    在这个例子中,salary 列被重命名为 base_salary,同时数据类型也被修改为 DECIMAL(10, 2),并且设置为不允许 NULL

对比总结

  • 修改列定义:

    • MODIFY 只能修改列的定义(数据类型、默认值等)。
    • CHANGE 既可以修改列的定义,也可以重命名列。
  • 语法区别:

    • MODIFY 语法中不需要指定列的新名称。
    • CHANGE 语法中必须指定列的新名称(即使名称没有变化)。
  • 使用场景:

    • 如果你只需要修改列的属性(如数据类型、默认值等),并且不需要改变列名,可以使用 MODIFY
    • 如果你需要修改列名或者同时修改列名和属性,则必须使用 CHANGE

通过理解这些区别,你可以根据具体需求选择合适的选项来修改表结构。

posted on   del88  阅读(264)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2014-11-24 淘宝菜鸟测试
2011-11-24 初认识ListView
2011-11-24 StringGrid Options 属性
2011-11-24 StringGrid的按列取值、按行取值、按列赋值、按行赋值
点击右上角即可分享
微信分享提示