####获取所有表及注释
CREATE PROCEDURE `getTableColumns`()
BEGIN
DECLARE _table_name ,_table_comment,_column_name ,_column_type,_column_comment varchar(255) DEFAULT '';
DECLARE i int DEFAULT 1;
DECLARE _fl INT DEFAULT 0;
DECLARE cursor_fl CURSOR FOR select table_name,table_comment from information_schema.tables where table_schema='consumer_sit';
DECLARE continue HANDLER for not found set _fl= 1;
TRUNCATE table temp_table_column;
OPEN cursor_fl;
#启动
fetch cursor_fl INTO _table_name ,_table_comment;
WHILE _fl<> 1 do
INSERT INTO temp_table_column(`column_name` ,`column_type`) VALUES(i ,_table_name);
INSERT INTO temp_table_column(`column_name` ,`column_type`) VALUES('描述' ,_table_comment);
INSERT INTO temp_table_column(`column_name` ,`column_type`,`column_comment`) VALUES('字段' ,'字段类型','备注');
call findComment(_table_name,_table_comment);
INSERT INTO temp_table_column(`table_name` ,`table_comment`,`column_name` ,`column_type`,`column_comment` ) VALUES('' ,'','','','');
fetch cursor_fl INTO _table_name ,_table_comment;
SET i=i+1;
commit;
END WHILE;
CLOSE cursor_fl;
SELECT * FROM temp_table_column ;
END
####获取字段注释
CREATE PROCEDURE `findComment`(IN _table_name varchar(50),_table_comment varchar(255))
BEGIN
DECLARE _column_name ,_column_type,_column_comment varchar(255) DEFAULT '';
DECLARE _fl INT DEFAULT 0;
DECLARE cursor_fl CURSOR FOR SELECT COLUMN_NAME ,COLUMN_TYPE ,COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema ='consumer_sit' AND table_name =_table_name;
DECLARE continue HANDLER for not found set _fl= 1;
OPEN cursor_fl;
#启动
fetch cursor_fl INTO _column_name ,_column_type,_column_comment;
WHILE _fl<> 1 do
INSERT INTO temp_table_column(`table_name` ,`table_comment`,`column_name` ,`column_type`,`column_comment` ) VALUES(_table_name ,_table_comment,_column_name , _column_type,_column_comment);
fetch cursor_fl INTO _column_name ,_column_type,_column_comment;
commit;
END WHILE;
CLOSE cursor_fl;
END
#临时表
CREATE TABLE temp_table_column (
`id` int(11) NOT NULL AUTO_INCREMENT,
`table_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`table_comment` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`column_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`column_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`column_comment` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2125 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
##查询结果
select column_name 字段,column_type 字段类型 ,column_comment 备注 from temp_table_column;