您的位置:首页 > 数据库 > MySQL

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

2019-06-08 21:13 357 查看

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 旧表名

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: