MYSQL是一种常见的开源数据库管理系统,它非常适合用于Web应用程序开发。本文将介绍如何使用MYSQL循环获取字段名。
DELIMITER //
CREATE PROCEDURE get_field_names(IN _table_name VARCHAR(255))
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE col_name VARCHAR(255);
DECLARE cur CURSOR FOR SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME=_table_name;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=TRUE;
SET @fields=CONCAT('SELECT ');
OPEN cur;
get_field_names_loop: LOOP
FETCH cur INTO col_name;
IF done THEN
LEAVE get_field_names_loop;
END IF;
SET @fields=CONCAT(@fields,col_name,',');
END LOOP get_field_names_loop;
CLOSE cur;
SET @fields=SUBSTRING(@fields,1,LENGTH(@fields)-1);
SET @fields=CONCAT(@fields,' FROM ',_table_name);
PREPARE statement FROM @fields;
EXECUTE statement;
END //
DELIMITER ;
上方代码使用的是MYSQL存储过程获取表的列名,然后循环用拼接得到SELECT语句。最后PREPARE语句执行构建好的SELECT语句,得到查询结果。