mysql如何对表中的列进行增加修改删除,如何进行复制表的结构和表的数据?

mysql如何对表中的列进行增加修改和删除?

  • alter table 表名 add 增加表中的列
  • alter table 表名 drop 删除表中的列
  • alter table 表名 modify 修改表中列的定义
  • alter table 表名 change 修改表的列名和定义

实例:

1.创建表

create table visitor(
	mid char(5) not null,
	nam varchar(20) default null,
	birth datetime default null,
	sex char(1) default '0',
	primary key(mid)
)engine=innodb default charset=utf8;

查看相应的表结构:desc visitor
在这里插入图片描述

2.修改表中列的数据类型:

将mid列的数据类型从varchar(5)转换为int(11)

alter table visitor modify mid int(11)

desc visitor
在这里插入图片描述
需要注意的是,在修改数据类型的时候,需要明确是否已经存在数据,已经存在的数据类型能否转换成为预期的数据类型

3.向表中添加新的列

alter table 表名 add
向visitor表中添加一个age字段

alter table visitor add age int(3);

在这里插入图片描述
可以看见此时已经向表中添加了一行数据

如果想添加到表头,可以在语句中使用first进行标明

alter table visitor add age int(3) first;

如果想添加到某个字段之后,可以使用after指明

alter table visitor add age int(3) after birth

如果已经添加,注意是已经添加完成,还是想改变列的位置,可以使用这种方式:

alter table visitor modify age int(3) after birth

4.修改表中的列名和数据类型

alter table 表名 change 修改前的表名 修改后的表名 修改后的类型
修改birth的列名和类型

alter table visitor change birth birth birthday date

查看修改之前的表中的数据结构
desc visitor
在这里插入图片描述

alter table visitor birth birthday date

查看修改之后的表的数据类型
在这里插入图片描述

5.删除表中的列

alter table 表名 drop 列名

6.表的复制

在数据库进行数据维护的时候会使用到表复制

  • 既能复制表结构又能复制表的内容:

    create table 新表名 select * from 新表名

  • 只复制表结构不复制表中的数据

    create table 新表名 like 旧表名

  • 只复制数据

    insert into 新表名 select * from 旧表名

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值