MySQL数据库(九):修改表结构

时间:2022-05-05
本文章向大家介绍MySQL数据库(九):修改表结构,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

前言:

1.修改表结构的时候受表中已存储数据的限制

2.查看表结构

desc 表名;

1.修改表结构 格式:

alter  table  表名  修改动作;

2.修改动作 <add,modify,chang,drop> 1.1 add 添加新字段 (新添加的字段默认追加在已有字段的下方) 格式:

add  字段名(宽度) 约束条件,add  字段名(宽度) 约束条件;

例子: 添加字段

alter table  t22 add  mail varchar(50) not null  default "nsd1503@tarena.com.cn";
alter table  t22 add sex  enum("boy","girl"),add birthday  date;
alter table  t22 add stu_id  char(4) not null first;

在…之后添加一个新字段(after sex:在sex字段之后添加新字段 )

alter table  t22 add loves set("game","film","book") not null default "film,book"  after sex;

1.2 drop 删除已有字段 格式:

#删除一个字段
drop 字段名;
#删除多个字段
drop 字段名,drop 字段名,drop 字段名;

例子:

alter  table  t22 drop  age,drop loves;

1.3 modify 修改已有字段类型 格式:

#修改一个
modify  字段名  新类型(宽度) 约束条件;
#修改多个
modify  字段名  新类型(宽度) 约束条件,modify  字段名  新类型(宽度) 约束条件;

例子:

alter table  t25  modify name char(5) not null;

1.4 change 修改字段名 格式:

change  源字段名  新字段名  类型(宽度) 约束条件;

例子:

alter table  t25 change name newname char(5) not null;
alter table  t25 change age newage int(2) not null default 300;

2.修改表名 格式:

alter  table  源表名  rename  [to] 新表名;

例子: 将t20表明修改为newt20

alter table  t20 rename newt20;

3.复制表 *注:源表表结构中key列的值不会被复制给新表 格式:

create table 新表名  SQL查询;

例子: 复制newt20表的所有字段到t200表

create table t200 select * from newt20;

值复制newt20表中的name,loves字段到t201表

create table t201 select name,loves from newt20;

4.只复制源表的表结构 格式:

create table 新表名  select * from  源表名 where  条件;

例子:

create table  t206 select * from t202 where user is null;