修改mysql 数据库的 表的列的备注信息

使用INFORMATION_SCHEMA修改表注释
本文介绍了一种利用MySQL的INFORMATION_SCHEMA来检查并更新表中特定列注释的方法。通过创建存储过程实现对example表中points_rule和nights_rule两列注释的修改。

1

INFORMATION_SCHEMA提供了访问数据库元数据的方式。

元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。

具体可已参考在线mysq api文档 : http://tool.oschina.net/apidocs/apidoc?api=mysql-5.1-zh


然后 COLUMNS表的 表示的是 表中的列信息


根据以上知识 修改一个表的列的备注 :

修改example 表points_rule,nights_rule 的备注

DELIMITER $$
SET sql_notes = 0$$
DROP PROCEDURE IF EXISTS `example`$$
CREATE PROCEDURE `example`()
SQL SECURITY INVOKER # added by mode utility

BEGIN
	-- 修改example 表points_rule,nights_rule 的备注
	IF NOT EXISTS(SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='example' 
	AND COLUMN_NAME='points_rule' AND COLUMN_COMMENT='心学最不同于其他儒学者,在于其强调生命的过程') THEN
		ALTER TABLE card_auto_up_down_grade MODIFY COLUMN points_rule CHAR(4) COMMENT '心学最不同于其他儒学者,在于其强调生命的过程';
	END IF;
	
	IF NOT EXISTS(SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='example' 
	AND COLUMN_NAME='nights_rule' AND COLUMN_COMMENT='好多人认为心学是空谈,实在是被歪曲的太厉害了,举一个简单的例子') THEN
		ALTER TABLE card_auto_up_down_grade MODIFY COLUMN nights_rule CHAR(4) COMMENT '好多人认为心学是空谈,实在是被歪曲的太厉害了,举一个简单的例子';
	END IF;
	
END$$
DELIMITER ;
CALL example();
DROP PROCEDURE IF EXISTS `example`;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值