先吐槽一下,由于公司要为新客户部署一个全新的系统,然而公司并没有空库,所以只能把正在线上运行的数据库给备份,然后清空相关数据 下面分享一下我在做清空数据库时写的一个批量清空数据表的方法 思路:查询出该库下的所有表 根据表名(系统相关数据表取名都是有规律的)筛选出需要清空的表 下面,上代码 USE [DataBase] GO ) DECLARE @count int DECLARE contact_cursor CURSOR FOR select name from sysobjects wher
原文:使用一个T-SQL语句批量查询数据表占用空间及其行数 要找到数据库中数据表占用的空间和存在的行数.可以使用sp_spaceused搭配数据表的名称.就可以产生该表耗用的空间和现有行数. 如: USE ADVENTUREWORKS GO EXEC sp_spaceused [Sales.SalesOrderHeader] GO 但如果数据库中包含数千的数据表,如何能利用一句SQL语句来实现? 解决方法: 一.动态SQL: 先用T-SQL动态产生表达式,然后放到一个查询中执行.如: USE A
#!/bin/bash #批量新建数据表 #删除`符号,具体原因我也没搞懂 for i in {1..30};do mysql 地址 -u账号 -p密码 -e "use 库名;CREATE TABLE ccms_order_test$i ( uni_order_id varchar(100) NOT NULL COMMENT '全渠道订单ID', tenant varchar(50) NOT NULL COMMENT '租户id', partner varchar(50) NOT NULL CO
[db executeUpdate:@"DELETE FROM MemberInfo"]; [db executeUpdate:@"UPDATE sqlite_sequence set seq=0 where name='MemberInfo'"]; //当SQLite数据库中包含自增列时,会自动建立一个名为 sqlite_sequence 的表.这个表包含两个列:name和seq.name记录自增列所在的表,seq记录当前序号(下一条记录的编号就是当前序号加1).
) while(exists(select * from sysobjects where name like '表名前缀%')) begin select @name=name from sysobjects where name like '表名前缀%' exec ('drop table '+@name) end
前言:我们知道SQLSERVER清空数据表有两种方式Delete和Truncate,当然两者的不同大家也都知道(不清楚的可以MSDN).不过这个错误“Cannot truncate table because it is being referenced by a FOREIGN KEY” 相信大家也都遇到过,解决的已解决,未解决的且看下文. 如何解决 开始我以为只要将外键Disable掉就可以了,事实证明是没用的.其实MSDN已经明确告诉了我们: 不能对以下表使用 TRUNCATE TABL
使用 Shell 脚本批量创建数据表 系统:Centos6.5 64位 MySQL版本:5.1.73 比如下面这个脚本: #!/bin/bash #批量新建数据表 for y in {0..199};do mysql -uroot -proot -e "use mysql; create table user$y( id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键,记录唯一标识', mail varchar(64) NOT NULL