mysql修改表字段数据类型(数据库mysql基本语句)

来源:国外服务器 在您之前已被浏览:1 次
导读:目前正在解读《mysql修改表字段数据类型(数据库mysql基本语句)》的相关信息,《mysql修改表字段数据类型(数据库mysql基本语句)》是由用户自行发布的知识型内容!下面请观看由(国外主机 - www.2bp.net)用户发布《mysql修改表字段数据类型(数据库mysql基本语句)》的详细说明。
笨笨网美国主机,w ww.2 b p .n e t

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

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型; alter table table1 change column1 column2 decimal(10,1) DEFAULT NULL COMMENT '注释';-- 正确,能修改字段名、字段类型、类型长度、默认值、注释alter table table1 change column2 column2 varchar(100) DEFAULT 1.2 COMMENT '注释'; -- 正确,此时字段名称没有改变,能修改字段类型、类型长度、默认值、注释 alter table table1 change column1 column2; -- 报错

使用change关键字,需要写2个字段

  • 修改字段类型、类型长度、默认值、注释
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 '注释'; -- 正确,能修改字段类型、类型长度、默认值、注释

使用modify关键字,写1个字段即可

  • 修改表名
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)
  • 修改表的注释
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='新表-白名单表'
  • 在指定位置添加新字段(如果不使用after,默认是在最后加字段)
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> 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关键字
  • 删除字段
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-- 删除position字段 mysql> alter table white_user_new drop erp ;Query OK, 0 rows affected (0.02 sec)Records: 0 Duplicates: 0 Warnings: 0-- 删除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 '姓名', `created_time` datetime DEFAULT NULL COMMENT '创建时间', `updated_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='新表-白名单表'
笨笨网美国主机,w ww.2 b p .n e t
提醒:《mysql修改表字段数据类型(数据库mysql基本语句)》最后刷新时间 2025-03-21 11:17:49,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《mysql修改表字段数据类型(数据库mysql基本语句)》该内容的真实性请自行鉴别。