一 令人窒息的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 在複製過程中,出...