有時候我們做統計需要給每個店鋪動態建立一張表用來統計訪問資料,但是隨著時間推移,到時候我們有可能需要給這些表新增乙個字段或是查詢資料什麼的。
表在實際專案中會多達上千張。
我之前有寫了一些sql語句在這邊分享一下。
1. 給所有的表新增乙個欄位isfacebook欄位。這邊是操作735張表。
12. 查詢所有表中記錄數最多的店鋪id。這邊是假設操作1700張表。declare
@iint
select@i=
12declare
@sql
varchar(100)
3declare
@tablename
varchar(50)
4while
@i<=
7355
begin
6set
@tablename='
visitlog'+
cast(@i
asvarchar(50))
7set
@sql='
alter table '+
@tablename+'
add isfacebook bit default 0 not null'8
ifexists(select
*from sysobjects where name =
@tablename)
9exec(@sql)
1011
set@i=@i
+112end
1我想有了上面這兩個寫法,做其他操作只要稍微做下改動**就可以了。declare
@iint
select@i=
12declare
@shopid
intselect
@shopid=1
3declare
@count
int4
declare
@maxcount
intselect
@maxcount=0
5declare
@sql
nvarchar(50)
6declare
@tablename
nvarchar(50)78
while
@i<=
1700
9begin
1011
set@tablename='
visitlog'+
cast(@i
asnvarchar(50))
12set
@sql='
select @count = count(*) from '+
@tablename
1314
ifexists(select
*from sysobjects where name =
@tablename)
15begin
16exec sp_executesql @sql,n'
@count int output
', @count output
17if
@count
>
@maxcount
18begin
19set
@maxcount
=@count
20set
@shopid=@i
21end
22end
2324
set@i=@i
+125end
2627
@maxcount
28print
@shopid
不知道其他人做類似的事情也是不是寫sql語句來執行還是有其他工具可以完成?
單個資料庫備份指令碼
單個資料庫備份指令碼 vi mysqlback.sh bin sh date date y m d olddate date y m d d 7 days bd user root db passwd 123456 db name test mkdir usr local apache back d...
儲存過程 迴圈建立多張表 和 多個資料庫
建立所有資料庫 呼叫 call create databases znke z log 0,128 引數說明 1 要建立的資料庫字首 2 目標資料庫字尾最小數 3 目標資料庫字尾最大數 資料庫總數量 create procedure create databases in db pre varcha...
mongo針對單個資料庫 或表進行簡單的遷移
記錄一次將mongo a資料庫的一張表遷移到b資料庫中,主要使用到mongo中mongodump和mongorestore命令 引數 說明 h mongo 所在伺服器位址,例如127.0.0.1 當然 可以指定埠號 127.0.01 27017 port 埠號 d 需要備份的資料庫例項 c需要備份的...