[英]result of one query table name of another and results in multiple csv outfiles
我試圖更快地完成一項任務,但遇到了兩個問題(希望可以包含在一個問題中,因為這兩個問題都會出現在一個查詢中)。
我想將一個SQL查詢(它是多個ID)的結果用作另一個查詢(FROM ...?)的表名。
然后,應將最終結果(用於每個表)寫入多個.csv輸出文件,而不是我目前使用的文件。
我已經准備好兩個查詢,但是我認為這對這個問題並不重要,這就是為什么我跳過發布任何內容。
您可以在最簡單的SELECT查詢中給我示例。
您可以使用服務器端准備好的語句:
https://dev.mysql.com/doc/refman/5.7/zh-CN/sql-syntax-prepared-statements.html
這是一個希望對您有所幫助的示例:
select @q:=concat("select count(*) from ", tbl_name)
from my_db.my_tables where table_id = 3;
prepare s from @q;
execute s;
導致根據table_id
等於3的my_db.my_tables
中tbl_name
的值執行select count(*) from
。
要將結果導出為CSV,您可以執行以下操作:
select @q:=concat("select count(*) from ", tbl_name,
" into outfile '/tmp/data.csv' fields terminated by ','")
from my_db.my_tables where table_id = 3;
要了解有關SELECT ... INTO OUTFILE
更多信息:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.