Mysql修改字段名和修改字段类型的实例代码

 更新时间:2022年05月23日 09:56:28   作者:二十六画生的博客  
MySQL中如何使用SQL语句来修改表中某一个字段的数据类型呢,下面这篇文章主要给大家介绍了关于Mysql修改字段名和修改字段类型的相关资料,需要的朋友可以参考下

1、修改字段类型、字段名、字段注释、类型长度、字段默认值

mysql修改字段类型:     
--能修改字段类型、类型长度、默认值、注释
--对某字段进行修改
ALTER  TABLE 表名 MODIFY [COLUMN] 字段名 新数据类型 新类型长度  新默认值  新注释;
 -- COLUMN关键字可以省略不写
 
alter  table table1 modify  column column1  decimal(10,1) DEFAULT NULL COMMENT '注释'; -- 正常,能修改字段类型、类型长度、默认值、注释
 
alter  table table1 modify column1  decimal(10,2) DEFAULT NULL COMMENT '注释'; 
-- 正常,能修改字段类型、类型长度、默认值、注释
 
mysql修改字段名:
ALTER  TABLE 表名 CHANGE [column] 旧字段名 新字段名 新数据类型;     
alter  table table1 change column1 column1 varchar(100) DEFAULT 1.2 COMMENT '注释'; -- 正常,此时字段名称没有改变,能修改字段类型、类型长度、默认值、注释
alter  table table1 change column1 column2 decimal(10,1) DEFAULT NULL COMMENT '注释' -- 正常,能修改字段名、字段类型、类型长度、默认值、注释
alter  table table1 change column2 column1 decimal(10,1) DEFAULT NULL COMMENT '注释' -- 正常,能修改字段名、字段类型、类型长度、默认值、注释
alter  table table1 change column1 column2; -- 报错 
 
mysql> alter table white_user change column name nick_name  varchar(50) null comment '昵称'; -- 正确
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

2、修改表名

ALTER TABLE 旧表名 RENAME TO 新表名 ;
 
mysql> show tables ;
+-------------------+
| Tables_in_db_test |
+-------------------+
| white_user   |
+-------------------+
1 row in set (0.00 sec)
 
mysql> alter table white_user rename to white_user_new ;
Query OK, 0 rows affected (0.00 sec)
 
mysql> show tables ;
+-------------------+
| Tables_in_db_test |
+-------------------+
| white_user_new    |
+-------------------+
1 row in set (0.00 sec)

3、修改表的注释

ALTER TABLE 表名 COMMENT '新注释'
 
mysql> alter table  white_user_new comment '新表-白名单表' ;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0
 
mysql> show create table white_user_new ;
 CREATE TABLE `white_user_new` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `name` varchar(50) NOT NULL COMMENT '姓名',
  `created_time` datetime DEFAULT NULL COMMENT '创建时间',
  `updated_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='新表-白名单表' 

4、在指定位置插入新字段

ALTER TABLE 表名 ADD [COLUMN] 字段名 字段类型 是否可为空 COMMENT '注释' AFTER 指定某字段 ;
--COLUMN关键字可以省略不写
 
mysql> alter table white_user_new add column erp varchar(50) not null comment 'erp账号' after name ;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0
--在name字段后面添加erp字段
 
mysql> show create table white_user_new ;
CREATE TABLE `white_user_new` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `name` varchar(50) NOT NULL COMMENT '姓名',
  `erp` varchar(50) NOT NULL COMMENT 'erp账号', 
  `created_time` datetime DEFAULT NULL COMMENT '创建时间',
  `updated_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='新表-白名单表'      
 
mysql> alter table white_user_new add position varchar(50) not null comment '岗位' after name ;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0
--在name字段后面添加position字段。
 
mysql> show create table white_user_new ;                                      
CREATE TABLE `white_user_new` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `name` varchar(50) NOT NULL COMMENT '姓名',
  `position` varchar(50) NOT NULL COMMENT '岗位',
  `erp` varchar(50) NOT NULL COMMENT 'erp账号',
  `created_time` datetime DEFAULT NULL COMMENT '创建时间',
  `updated_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='新表-白名单表'      
 
mysql> alter table white_user_new add  mobile varchar(50) not null comment '手机号码' before position ;
--报错,在position字段前添加mobile字段,不能使用before关键字

5、删除字段

ALTER TABLE 表名 DROP [COLUMN] 字段名 ;
--COLUMN关键字可以省略不写
 
mysql> alter table white_user_new drop column position ;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0
 
mysql> alter table white_user_new drop erp ;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0
 
mysql> show create table white_user_new ;                                      
CREATE TABLE `white_user_new` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `name` varchar(50) NOT NULL COMMENT '姓名',
  `created_time` datetime DEFAULT NULL COMMENT '创建时间',
  `updated_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='新表-白名单表'      

总结

到此这篇关于Mysql修改字段名和修改字段类型的文章就介绍到这了,更多相关Mysql修改字段名和字段类型内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL整型数据溢出的解决方法

    MySQL整型数据溢出的解决方法

    这篇文章主要介绍了MySQL整型数据溢出的解决方法,本文出现整型溢出的mysql版本是5.1,5.1下整型溢出不会报错,而会变成负数,需要的朋友可以参考下
    2014-07-07
  • mysql中order by与group by的区别

    mysql中order by与group by的区别

    以下是对mysql中order by与group by的区别进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-07-07
  • MySQL做读写分离提高性能缓解数据库压力

    MySQL做读写分离提高性能缓解数据库压力

    这篇文章主要为大家介绍了MySQL做读写分离提高性能缓解数据库压力的技巧详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Mysql COUNT()函数基本用法及应用详解

    Mysql COUNT()函数基本用法及应用详解

    这篇文章主要介绍了Mysql COUNT()函数基本用法及应用的相关资料,COUNT()函数是SQL中常用的聚合函数,用于统计满足特定条件的记录数,它可以灵活地应用于各种查询场景,帮助用户快速获取所需的数据统计信息,需要的朋友可以参考下
    2024-12-12
  • mac os10.12安装mysql5.7.18教程

    mac os10.12安装mysql5.7.18教程

    这篇文章主要为大家详细介绍了mac os10.12下mysql5.7.18的安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • MySQL主键批量修改的坑与解决方案

    MySQL主键批量修改的坑与解决方案

    在日常开发中,我们可能会遇到需要批量修改 MySQL 数据表主键的情况,乍一看,修改主键 ID 似乎是一个简单的操作,但如果处理不当,会导致操作失败甚至数据丢失,本文将详细剖析问题成因,并总结多种安全高效的解决方案,需要的朋友可以参考下
    2024-12-12
  • 详解如何避免MYSQL主从延迟带来的读写问题

    详解如何避免MYSQL主从延迟带来的读写问题

    当在主库上进行更新后,有可能数据还没来得及同步到从库,但是这个时候又有读数据的需求,为了能正确读取出数据,这个时候就只有读主库了,所以本文给大家介绍了如何避免MYSQL主从延迟带来的读写问题,需要的朋友可以参考下
    2024-03-03
  • 通过MySQL日志实时查看执行语句以及更新日志的教程

    通过MySQL日志实时查看执行语句以及更新日志的教程

    这篇文章主要介绍了通过MySQL日志实时查看执行语句以及更新日志的教程,文中所讲的方法使用到了mysqladmin命令,需要的朋友可以参考下
    2015-12-12
  • MySQL中的datediff()方法和timestampdiff()方法的应用示例小结

    MySQL中的datediff()方法和timestampdiff()方法的应用示例小结

    在MySQL中,DATEDIFF()函数和TIMESTAMPDIFF()函数用于计算日期和时间之间的差异,TIMESTAMPDIFF()函数返回的结果是整数,但你可以通过在计算过程中使用适当的除法来获得所需的小数部分,本文介绍MySQL中的datediff()方法和timestampdiff()方法的应用,感兴趣的朋友一起看看吧
    2023-12-12
  • SQL性能优化方法及性能测试

    SQL性能优化方法及性能测试

    这篇文章主要介绍了SQL性能优化方法及性能测试,文章围绕主题展开详细内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-05-05

最新评论