mysql 生成表文件、truncate、Load,mysqltruncate
SELECT -- ' select * from `',TABLE_SCHEMA,'`.`',TABLE_NAME,'` into outfile ''/work/opdir/repair''' -- concat('union all -- select count(1) as count_, ''`',TABLE_SCHEMA,'`.`',TABLE_NAME, '`'' as tbname from `',TABLE_SCHEMA,'`.`',TABLE_NAME ,'`') -- as sql_ CONCAT( ' select * from `',TABLE_SCHEMA,'`.`',TABLE_NAME,'` into outfile ''/work/opdir/repair/',TABLE_SCHEMA,'.',TABLE_NAME,'.tsv'' ; truncate table ' ,TABLE_SCHEMA,'.',TABLE_NAME,' ; LOAD DATA infile ''/work/opdir/repair/',TABLE_SCHEMA,'.',TABLE_NAME,'.tsv'' INTO TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' CHARACTER SET utf8; ') ExeSql FROM information_schema.TABLES t WHERE t.TABLE_TYPE LIKE '%T%' AND t.TABLE_SCHEMA IN ( 'BCReport_Sync'-- ,'AdConversions','AdSync','BCSourceData_Sync' ) AND t.`TABLE_NAME` NOT LIKE '%Log%' AND t.`TABLE_NAME` NOT LIKE '%bak%' AND t.`TABLE_NAME` NOT LIKE '%History%' AND t.`TABLE_NAME` NOT LIKE '%Tmp_%' AND t.`TABLE_NAME` NOT LIKE '%bak%' AND t.`TABLE_NAME` NOT LIKE '%Monitor%' AND t.`TABLE_NAME` NOT LIKE '%bak%' AND t.`TABLE_NAME` NOT LIKE '%backup%' AND t.`TABLE_NAME` NOT LIKE '%_BK' AND t.`TABLE_NAME` NOT LIKE '%_Temp' AND t.`TABLE_NAME` NOT LIKE '%2013%' AND t.`TABLE_NAME` NOT LIKE '%2' AND t.`TABLE_NAME` NOT LIKE '%2012%' AND t.`TABLE_NAME` NOT LIKE '%2012%' AND t.`TABLE_NAME` NOT LIKE '%2014%' AND CONCAT(t.TABLE_SCHEMA ,'.', t.`TABLE_NAME`) IN ('AdConversions.DataInbound_TaskSchedule' , 'AdConversions.DeviceForComparison' , 'AdConversions.Fact_Realtime_Conversion' , 'AdDataCenter.Ad_Account_Mirror' , 'AdDataCenter.Ad_Account' , 'AdDataCenter.Ad_AdGroup_AdAction_Mobisage' , 'AdDataCenter.Ad_AdGroup_BidPrice' , 'AdDataCenter.Ad_AdGroup_Property' , 'AdDataCenter.Ad_AdGroup_WeekTimePeriod' , 'AdDataCenter.Ad_AdGroup' , 'AdDataCenter.Ad_Campaign_BudgetList' , 'AdDataCenter.Ad_Campaign_DockingProduct_Mapping' , 'AdDataCenter.Ad_Campaign_GeoTargeting' , 'AdDataCenter.Ad_Campaign' , 'AdDataCenter.Ad_Creative_Additional' , 'AdDataCenter.Ad_Creative_ImageAd' , 'AdDataCenter.Ad_Creative_Offerwall' , 'AdDataCenter.Ad_Creative_Template' , 'AdDataCenter.Ad_Creative' , 'AdDataCenter.Ad_Targeting_Mobisage_AppIncluded' , 'AdDataCenter.Ad_Targeting_Mobisage' , 'AdDataCenter.Ad_Targeting' , 'AdDataCenter.AdCreativeTemplate_SlotSize_Mapping' , 'AdDataCenter.AdSync_AdCreative' , 'AdDataCenter.App_MediaType_Mapping' , 'AdDataCenter.AppOfferwall_Category_Mapping' , 'AdDataCenter.Bill_AdAccount_Recharge_Daily' , 'AdDataCenter.Bill_AdAccount_Spend_Daily' , 'AdDataCenter.Dim_App' , 'AdDataCenter.Dim_Slot' , 'AdDataCenter.Docking_Product' , 'AdDataCenter.Offerwall_AppBuckleScale_Mapping' , 'AdDataCenter.Plugin_AdGroup' , 'AdDataCenter.Slot_Affiliate_Business_Ratio' , 'AdSync.Ad_Campaign_RealtimeControl' , 'BCSourceData_Sync.Data_TaskSchedule' , 'BCSourceData_Sync.Source_Fact_AccountHourlySpend' , 'BCSourceData_Sync.Source_Fact_AdCreative_App_Usage_ThirdPartPlatform' )
有外键连接的表貌似不能直接清空数据。。不知道你具体表结构我也不好说。。
你数据库 可以看看吗 注意下面 2个删除语句的区别
TRUNCATE和DELETE有以下几点区别
1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。
2、TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。
3、TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。
4、TRUNCATE不能触发任何DELETE触发器。
5、不能授予任何人清空他人的表的权限。
6、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。
7、不能清空父表。
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。