Mysql
 sql >> база данни >  >> RDS >> Mysql

Пуснете MySQL бази данни, отговарящи на някакъв заместващ знак?

Основната идея е да стартирате "покажи таблици" във вашата база данни и да използвате резултатите от нея, за да изберете желаните от вас таблици. Не мисля, че MySQL ви позволява да правите нещо с набора от резултати от "покажи таблици", но вероятно греша.

Ето едно бързо и мръсно решение с помощта на обвивката:

mysql -u your_user -D your_database_name -e "show tables" -s | 
  egrep "^Whatever_" | 
  xargs -I "@@" echo mysql -u your_user -D your_database_name -e "DROP TABLE @@"

Това ще разпечата всички команди на обвивката за премахване на таблиците, започващи с "Whatever_". Ако искате действително да изпълнява тези команди, премахнете думата „ехо“.

РЕДАКТИРАНЕ :Забравих да обясня горното! Не знам доколко сте запознати с шел скриптовете, но ето:

mysql -u your_user -D your_database_name -e "show tables" -s

отпечатва списък с всичките ви таблици със заглавката "Tables_in_your_database_name". Резултатът от това се предава по конвейер (символът | означава "проводен", както при предадено) чрез следващата команда:

egrep "^Whatever_"

търси всички редове, които започват (че символите ^ означават "същества с") думата "Whatever_" и отпечатва само тях. И накрая, ние предаваме този списък от таблици "Whatever_*" чрез командата:

xargs -I "@@" echo mysql -u your_user -D your_database_name -e "DROP TABLE @@"

който приема всеки ред в списъка с имена на таблици и го вмъква вместо "@@" в командата

echo mysql -u your_user -D your_database_name -e "DROP TABLE @@"

Така че, ако имате куп таблици с име "Whatever_1", "Whatever_2", "Whatever_3", генерираните команди биха били:

echo mysql -u your_user -D your_database_name -e "DROP TABLE Whatever_1"
echo mysql -u your_user -D your_database_name -e "DROP TABLE Whatever_2"
echo mysql -u your_user -D your_database_name -e "DROP TABLE Whatever_3"

Което ще изведе следното:

mysql -u your_user -D your_database_name -e "DROP TABLE Whatever_1"
mysql -u your_user -D your_database_name -e "DROP TABLE Whatever_2"
mysql -u your_user -D your_database_name -e "DROP TABLE Whatever_3"

Надявам се, че това беше достатъчно подробности и че не просто бия никого с твърде много информация. Успех и бъдете внимателни, когато използвате командата "DROP TABLE"!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Генерирайте уникални произволни буквено-цифрови знаци с дължина 7 знака

  2. pip install mysqlclient връща фатална грешка C1083:Не може да се отвори файл:'mysql.h':Няма такъв файл или директория

  3. Предупреждение:mysql_result() [function.mysql-result]:Не може да се премине към ред 0 на MySQL резултатен индекс 5 в profile.php на ред 11

  4. Множество ранга в една таблица

  5. Грешка при свързване на php MySql