欢迎来到代码驿站!

Mysql

当前位置:首页 > 数据库 > Mysql

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

时间:2022-07-27 11:16:08|栏目: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错误处理之ERROR 1786 (HY000)

栏    目:Mysql

下一篇:没有了

本文标题:Mysql修改字段名和修改字段类型的实例代码

本文地址:http://www.codeinn.net/misctech/209032.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有