sql server编写一个语句脚本自动清空各表数据以初始化数据库


问题:
有时已有项目要移植,例如原来在广州地区使用的某系统,突然说惠州那边也要用这套一样的系统。或者,在demo环境下弄了一些测试数据。然后要清空全部表数据。
如果表比较多的话,逐个表手工编写脚本就太麻烦了。

解决方案:
本博主就教教大家怎么仅用一个简单语句快速删除全库各表数据,全部清空数据。
使用系统存储过程sp_MSforeachtable结合truncate table语句。达到快速删除数据库各表全部数据的目的。

脚本(如果没有外键)

/*
    说明:本脚本用于清空数据库各表数据,请谨慎使用,请提前备份好数据库,如因本脚本执行而造成的删库跑路问题,责任一概与本博主无关
    脚本来源:https://www.cnblogs.com/zhang502219048/p/11067023.html
*/
exec sp_MSforeachtable 'truncate table ?'

脚本(如果有外键):

/*
    说明:本脚本用于清空数据库各表数据,请谨慎使用,请提前备份好数据库,如因本脚本执行而造成的删库跑路问题,责任一概与本博主无关
    脚本来源:https://www.cnblogs.com/zhang502219048/p/11067023.html
*/

--禁用外键
exec sp_MSforeachtable 'alter table ? nocheck constraint all'
--清空各表数据
exec sp_MSforeachtable 'truncate table ?'
--启用外键
exec sp_MSforeachtable 'alter table ? check constraint all'

【转载请注明博文来源:https://www.cnblogs.com/zhang502219048/p/11067023.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM