mysql 同資料庫的多表同字段操作

2021-08-31 18:45:40 字數 1452 閱讀 2053

一 令人窒息的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

ifexists procedure_drop_table;

create

procedure procedure_drop_table(

)begin

declare db_name varchar(50

)default

"testcase"

;-- 測試資料庫的名稱

declare done int

default0;

declare tablename varchar(50

);-- 測試庫表明

declare cmd varchar(50

);-- 執行命令

declare sur cursor

-- 游標

forselect 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;

ifnot done then

set cmd=concat(

'drop table '

,db_name,

'.',tablename)

;-- 拼接刪除命令

set@e

=cmd;

prepare stmt from@e;

execute stmt;

deallocate

prepare stmt;

endif

; until done end

repeat

;close sur;

endcall procedure_drop_table(

);

引用部落格

三 我還沒找到第三種方法

mysql複製同表資料 MySQL 同表複製資料

我覺得再這麼下去,我真敢說我寫過php了 需求很簡單,在同乙個表中複製資料。以前的 是在php裡先 select 然後 extract 成變數,再組合成乙個大 sql,最後插入。我覺得這樣不好,首先要執行兩次 sql,其次寫那麼一大篇 sql 也挺麻煩的。於是研究了下,發現並不複雜,這裡總結一下 如...

MySQL同主機不同資料庫的複製命令

mysql同主機不同資料庫的複製命令 注意執行在terminal中,不執行在mysql命令列中。1 mysqldump portal dev u root ppassword1 add drop table mysql portal optimize u root ppassword1 在複製過程中...

MySQL 同主機不同資料庫之間的複製

mysql同主機不同資料庫的複製命令 注意執行在terminal中,不執行在mysql命令列中。mysqldump portal dev u root ppassword1 add drop table mysql portal optimize u root ppassword1 在複製過程中,出...