【MySQL】批量刪除mysql中資料庫中的表

楊奇龍發表於2012-08-31
要刪除某個資料庫下面所有表的方法:
方法一
比如刪除test資料庫下所有表,如果要刪除某些字首的表
  1. mysql -uroot -h127.0.0.1 --skip-column-names -A -e "select concat('drop table test.', table_name,';') from information_schema.tables where table_schema = 'test'" > /tmp/tmp_drop.sql
  2. mysql -uroot -h127.0.0.1 test --show-warnings -v -v -v -e "source /tmp/tmp_drop.sql"
方法2
1 獲取所有的表

  1. #!/bin/sh
  2. # auth yangyi
  3. TAB_FILE=/home/admin/yangyi/fin_report.txt
  4. gettab(){
  5. mysql -uroot -h127.0.0.1 --skip-column-names < $TAB_FILE
  6. SELECT CONCAT("xxx.",table_name) FROM information_schema.tables
  7.  where information_schema.tables.table_schema='logcollector' and information_schema.tables.TABLE_NAME LIKE 'fingerprint_report_20%';
  8. EOF
  9. return $?
  10. }
  11. drop_tab(){
  12. while read TAB
  13. do
  14.  echo "drop table if exists $TAB;"
  15.  mysql -uroot -h127.0.0.1 -P3306 -Ne "drop table if exists $TAB;"
  16.  sleep 0.2
  17. done < $TAB_FILE
  18. return $?
  19. }
  20. main(){
  21. gettab && echo "gettab successed " || echo "gettab failed!!"
  22. echo '===========start drop table at `date +%F` =========================='
  23. drop_tab && echo "drop_tab successed" || echo "drop_tab failed"
  24. echo '===========end drop table at `date +%F` =========================='
  25. }
  26. main


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-742395/,如需轉載,請註明出處,否則將追究法律責任。

相關文章