1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > mysql更改字段名_Mysql修改字段名 修改字段类型

mysql更改字段名_Mysql修改字段名 修改字段类型

时间:2021-07-20 16:49:49

相关推荐

mysql更改字段名_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.02sec)

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.00sec)

mysql> alter table white_user rename towhite_user_new ;

Query OK,0 rows affected (0.00sec)

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.01sec)

Records:0 Duplicates: 0 Warnings: 0mysql> show create tablewhite_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.03sec)

Records:0 Duplicates: 0 Warnings: 0

--在name字段后面添加erp字段

mysql> show create tablewhite_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.02sec)

Records:0 Duplicates: 0 Warnings: 0

--在name字段后面添加position字段。

mysql> show create tablewhite_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 columnposition ;

Query OK,0 rows affected (0.02sec)

Records:0 Duplicates: 0 Warnings: 0mysql> alter table white_user_new droperp ;

Query OK,0 rows affected (0.02sec)

Records:0 Duplicates: 0 Warnings: 0mysql> show create tablewhite_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='新表-白名单表'

------------------------------------------------------------------------------------------分割线-------------------------------------------------------------------------------------------------

跟上面一样的

增加字段:

alter table 表名 ADD 字段 类型 约束 [默认值 注释]

ALTER TABLE video ADD category_id int(11) unsigned not null DEFAULT '0' COMMENT '视频分类id';

修改字段名:

alter table 表名 rename column A to B

ALTER TABLE video RENAME COLUMN category_id TO cid;

修改字段类型:

alter table 表名 modify column 字段名 类型 约束 [默认值, 注释];

ALTER TABLE video MODIFY COLUMN category_id smallint(5) unsigned not null DEFAULT '0' COMMENT '视频分类id';

修改字段默认值

alter table 表名 alter column 字段名 drop default; --(若本身存在默认值,则先删除)

alter table 表名 alter column 字段名 set default 默认值; --(若本身不存在则可以直接设定)

ALTER TABLE video ALTER COLUMN sort SET DEFAULT '50';

原文链接:/kimgoo/article/details/54630257

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。