Easiest method to truncate all tables while retaining schema.
mysqldump -d -uuser -ppass --add-drop-table databasename > databasename.sql
mysql -uuser -ppass databasename < databasename.sql
Not sure if it will retain stored procedures as they are not in use where I work, but I use this regularly to reset databases.
The -d
switch on mysqldump means "don't dump data."
The --add-drop-table
prepends a DROP TABLE statement to every CREATE TABLE in the dump.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…