DROP PROCEDURE IF EXISTS schema_change;   -- 如果存在这个存储过程则删除
DELIMITER //   -- 分隔符, //为开始,碰到下一个//就结束
CREATE PROCEDURE schema_change() -- 定义存储过程名字
BEGIN 
	IF EXISTS (SELECT * FROM information_schema.columns WHERE table_name = ‘busi_finance_details‘ AND column_name = ‘order_type‘) THEN   -- 判断列名是否存在
			-- 财务表修改order_type字段备注 --2017-6-20
			ALTER TABLE `busi_finance_details`
			MODIFY COLUMN `order_type`  tinyint(2) NOT NULL DEFAULT 0 COMMENT ‘单号类型 1 维修单  2 采购单  3 退货单 4 充值单 5 购卡单 6 洗车单 7 美容单 8 保养单 9 零售单 10 盘点单‘ AFTER `order_no`;
	END IF; 
END//  -- 结束
 
DELIMITER ;  
CALL schema_change(); -- 调用存储过程
原文:http://www.cnblogs.com/YangK-java/p/7061349.html