我的数据库中有100个表,我只想保留一个.
我尝试过类似下面的查询:
DROP ALL TABLES EXCEPT my_table
Run Code Online (Sandbox Code Playgroud)
但这似乎并不存在.任何的想法?
Dev*_*art 14
您可以使用多个列出的表构建DROP TABLE语句,并使用MySQL预处理语句运行查询 -
SET @tables = NULL;
SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @tables FROM information_schema.tables
WHERE table_schema = 'Database1' AND table_name <> 'my_table';
SET @tables = CONCAT('DROP TABLE ', @tables);
PREPARE stmt1 FROM @tables;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7150 次 |
| 最近记录: |