1. 程式人生 > >mysql【同資料庫的多表同欄位操作】

mysql【同資料庫的多表同欄位操作】

一 令人窒息的CONCAT(str1,str2,…)
我只蹭蹭不進去

更新

SELECT CONCAT('update ‘,table_name,’ set 欄位名= 值; ') FROM information_schema.tables WHERE table_schema=‘資料庫名稱’;

刪除

SELECT CONCAT('delete table ‘,table_name,’ ; ') FROM information_schema.tables WHERE table_schema=‘資料庫名稱’;

copy 一下查詢結果,直接複製回去

二 在 【一】 的基礎上執行迴圈
DROP  PROCEDURE IF  EXISTS procedure_drop_table;

CREATE PROCEDURE procedure_drop_table()
BEGIN
  DECLARE DB_NAME varchar(50) DEFAULT "testcase";  -- 測試資料庫的名稱
  DECLARE done INT DEFAULT 0;
  DECLARE tableName varchar(50);  -- 測試庫表明
  DECLARE cmd varchar(50);        -- 執行命令
  DECLARE
sur CURSOR -- 遊標 FOR SELECT table_name FROM information_schema.TABLES WHERE table_schema=DB_NAME; DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; OPEN sur; REPEAT FETCH sur INTO tableName; IF NOT done THEN set cmd=concat('DROP TABLE ',DB_NAME,'.',tableName)
; -- 拼接刪除命令 SET @E=cmd; PREPARE stmt FROM @E; EXECUTE stmt; DEALLOCATE PREPARE stmt; END IF; UNTIL done END REPEAT; CLOSE sur; END call procedure_drop_table();

引用部落格

三 我還沒找到第三種方法