MySQL 是一種關系數據庫管理系統(RDBMS),廣泛應用于網絡應用、中小型企業級軟件和嵌入式系統。在 MySQL 中通過循環可以靈活實現對表格中每個列的操作,本文將介紹 MySQL 中如何對列使用循環。
-- 使用循環輸出表中每個列的名稱 DECLARE colName VARCHAR(50); DECLARE done INT DEFAULT FALSE; DECLARE cur CURSOR FOR SELECT column_name FROM information_schema.columns WHERE table_name='table_name'; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cur; read_loop: LOOP FETCH cur INTO colName; IF done THEN LEAVE read_loop; END IF; SELECT colName; END LOOP; CLOSE cur; -- 使用循環給每個列增加 1 DECLARE colName VARCHAR(50); DECLARE done INT DEFAULT FALSE; DECLARE cur CURSOR FOR SELECT column_name FROM information_schema.columns WHERE table_name='table_name'; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cur; read_loop: LOOP FETCH cur INTO colName; IF done THEN LEAVE read_loop; END IF; SET @sql = CONCAT('UPDATE table_name SET ', colName, ' = ', colName, ' + 1'); PREPARE stmt FROM @sql; EXECUTE stmt; END LOOP; CLOSE cur;
在上述示例中,通過定義游標并使用循環可以方便地對列進行操作。需要注意的是,在運行 UPDATE 語句前需要對 SQL 語句進行預處理(PREPARE)并執行(EXECUTE),以保證 SQL 語句的執行。