服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - Mysql修改字段名和修改字段类型的实例代码

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

2022-11-01 16:18二十六画生的博客 Mysql

MySQL中如何使用SQL语句来修改表中某一个字段的数据类型呢,下面这篇文章主要给大家介绍了关于Mysql修改字段名和修改字段类型的相关资料,需要的朋友可以参考下

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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、修改表名

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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、修改表的注释

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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、在指定位置插入新字段

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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、删除字段

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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修改字段名和字段类型内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://programskills.blog.csdn.net/article/details/79354136

延伸 · 阅读

精彩推荐
  • MysqlMysql binlog日志文件过大的解决

    Mysql binlog日志文件过大的解决

    本文主要介绍了Mysql binlog日志文件过大的解决,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    say81299192021-11-19
  • Mysql在linux命令下导出导入.sql文件的方法

    在linux命令下导出导入.sql文件的方法

    这篇文章主要介绍了在linux命令下导出导入.sql文件的方法,具有很好的参考价值,给大家做个参考,跟随小编过来看看吧 ...

    Myron__宋庆鹤3622020-08-31
  • Mysqlmysql split函数用逗号分隔的实现

    mysql split函数用逗号分隔的实现

    这篇文章主要介绍了mysql split函数用逗号分隔的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们...

    xinglei2009099318962021-02-26
  • MysqlMySQL中二进制与重做日志文件的基本概念学习教程

    MySQL中二进制与重做日志文件的基本概念学习教程

    这篇文章主要介绍了MySQL中二进制日志文件与重做日志文件的基本概念学习教程,讲到了一些重做日志与二进制日志的区别,需要的朋友可以参考下 ...

    一宁5212020-05-23
  • MysqlMySQL创建高性能索引的全步骤

    MySQL创建高性能索引的全步骤

    这篇文章主要给大家介绍了关于MySQL创建高性能索引的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需...

    A.iguodala7812021-06-25
  • Mysql数据从MySQL迁移到Oracle 需要注意什么

    数据从MySQL迁移到Oracle 需要注意什么

    将数据从MySQL迁移到Oracle,大家需要注意什么?Oracle移植到mysql,又需要注意什么?如何有效解决移植过程的问题,为了数据库的兼容性我们又该注意些什么...

    xJerry2902020-06-29
  • MysqlCentos7 安装mysql 8.0.13(rpm)的教程详解

    Centos7 安装mysql 8.0.13(rpm)的教程详解

    这篇文章主要介绍了Centos7 安装mysql 8.0.13(rpm)的教程详解,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下...

    斑马虾软件3432019-06-18
  • Mysqlmysql prompt的用法详解

    mysql prompt的用法详解

    本篇文章是对mysql中prompt的用法进行了详细的分析介绍,需要的朋友参考下 ...

    MYSQL教程网3752019-12-28