MySQL 添加列,修改列,删除列


ALTER TABLE:添加,修改,删除表的列,约束等表的定义。

  • 查看表结构:desc 表名;

  • 修改表名:alter table 表名 rename to 新表名;

  • 添加列:alter table 表名 add column 列名 数据类型;

  • 删除列:alter table 表名 drop column 列名;

  • 修改列名:alter table 表名 change 列名 新列名 新数据类型;      --列后必加数据类型

  • 修改列属性:alter table 表名 modify 列名 数据类型;         --列后必加数据类型

  • 修改列字条集:alter table 表名 modify 列名 数据类型 character set 字符集名;  --列后必加数据类型


复制表结构:

mysql>create table 新表名 like 要复制的表名;    --只复制结构,不复制内容

mysql>insert into 表名a select * from 表名b;     --把表名b的内部全部复制到表名a 里,与上句配合可以复制整个数据表


mysql>create table td (select * from name);     --新建一个表并把name表里的内容复制到新表,不包括主键,索引

mysql>insert into name select * from id where sex !='1';  --复制符合条件的部分数据到name表


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

MySQL 查看约束,添加约束,删除约束 添加列,修改列,删除列

  • 查看表的字段信息:desc 表名;

  • 查看表的所有信息:show create table 表名;

  • 添加主键约束:alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);

  • 添加外键约束:alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);

  • 删除主键约束:alter table 表名 drop primary key;

  • 删除外键约束:alter table 表名 drop foreign key 外键(区分大小写);

  • 修改表名:alter table t_book rename to bbb;

  • 添加列:alter table 表名 add column 列名 varchar(30);

  • 删除列:alter table 表名 drop column 列名;

  • 修改列名MySQL: alter table bbb change nnnnn hh int;

  • 修改列属性:alter table t_book modify name varchar(22);

sp_rename:SQLServer 内置的存储过程,用于修改表的定义。


--------------------------------------------------------------------------------------------------------

联合查询:


union     : 查询表之中的查询字段数要一致,自动删除重复的数据。

union all  : 查询表之中的查询字段数要一致,显示所有符合条件的数据。


select  id1,name1  from  table1  union  select  *  id2,name2  from  table2;


-----------------------------------------------------------------------------------------------------