gpt4 book ai didi

mysql - 截断数据库中所有表的数据

转载 作者:可可西里 更新时间:2023-11-01 07:30:18 25 4
gpt4 key购买 nike

对于某些工作,我们的需求是希望保留表和数据库结构,同时将多个表中的所有数据一次性截断。由于 Truncate Table_name 一次只截断一个表。有没有办法截断多个表?帮助将不胜感激。

最佳答案

最简单的方法可能如下:

如果您有外键约束,则暂时将其设置为 OFF

SET FOREIGN_KEY_CHECKS=0;

再次将其设置为ON:

SET FOREIGN_KEY_CHECKS=1;


截断特定数据库下的所有表

SELECT 
CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') AS truncateCommand
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'YOUR_DATABASE_NAME_HERE';

截断所有数据库中的所有表

SELECT 
CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') AS truncateCommand
FROM information_schema.TABLES;

你会得到这样的输出:

TRUNCATE TABLE your_table_1;
TRUNCATE TABLE your_table_2;
TRUNCATE TABLE your_table_3;
TRUNCATE TABLE your_table_4;
TRUNCATE TABLE your_table_5;
TRUNCATE TABLE your_table_6;
TRUNCATE TABLE your_table_7;
TRUNCATE TABLE your_table_8;
.
.
etc..

现在获取这些截断命令并全部执行。

当且仅当它是一次性工作时,您可以采用这种方法来避免编写存储过程来完成它的麻烦

关于mysql - 截断数据库中所有表的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35980894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com