mysql删除字段的方法总结
2011-02-17 16:20
267 查看
判断字段是否存在的方法总结如下:
1.查找系统表
select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME from information_schema.COLUMNS where COLUMN_NAME='uu';
2.使用describe
describe cdb_posts first
存在第一列返回字段的名称,不存在就返回null,
删除方法:
如果删除的时候涉及的表不多的话,直接:
alter table tb_name drop column col_name;
多的话,可以使用下面的方法:
存储过程删除
1.查找系统表
select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME from information_schema.COLUMNS where COLUMN_NAME='uu';
2.使用describe
describe cdb_posts first
存在第一列返回字段的名称,不存在就返回null,
删除方法:
如果删除的时候涉及的表不多的话,直接:
alter table tb_name drop column col_name;
多的话,可以使用下面的方法:
存储过程删除
DELIMITER $$ DROP PROCEDURE IF EXISTS `test`.`p_drop_uuid_uuname`$$ CREATE DEFINER=`root`@`%` PROCEDURE `p_drop_uu`() BEGIN declare _db_name char(30); declare _tb_name char(30); declare _col_name char(30); declare no_more_row tinyint(1); declare cur_uuid cursor for select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME from information_schema.COLUMNS where COLUMN_NAME='uu'; declare continue handler for not found set no_more_row=1; set no_more_row=0; -- 判断是否结束的标志位 open cur_uuid; repeat fetch cur_uuid into _db_name,_tb_name,_col_name;-- 取记录 -- select _db_name,_tb_name,_col_name; set @_dt = concat("alter table ", _db_name,".", _tb_name, " drop column uu"); -- 在存储过程中,想把一个变量当作SQL执行,只有用prepare; prepare s1 from @_dt; execute s1; deallocate prepare s1; until no_more_row end repeat; close cur_uuid; END$$
相关文章推荐
- Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序总结
- Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序总结
- Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序总结
- MySQL增加/删除用户、授权、修改密码等方法和命令总结
- mysql为字段添加和删除唯一性索引(unique) 的方法
- Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序总结
- MySQL查询重复字段,及删除重复记录的方法
- MySQL查询重复字段,及删除重复记录的方法
- mysql查找字段空、不为空的方法总结
- mysql中删除数据的方法总结
- 【mysql】sql删除多个字段重复数据有主键和没主键解决方法
- Mysql、SqlServer和Oracle 添加、修改、删除 字段总结
- MySql 几种查询相同字段中相同数据,及删除相同字段的相同数据的方法
- MySQL查询重复字段,及删除重复记录的方法
- Mysql 添加/修改/删除字段的方法
- MySQL 数据库中删除重复记录的方法总结
- MySQL 数据库中删除重复记录的方法总结
- mysql表删除重复记录方法总结及效率对比
- sql删除多个字段重复数据有主键和没主键解决方法(mysql)
- Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序总结