Ⅰ 如何用sql語句循環執行語句
SQL語句無法實現循環,只能通過程序或者存儲過程來實現。
如果只是一次性工作,則建議直接用EXCEL的公式手批量生成SQL語句 然後一次性貼到MYSQL的命令行工具中執行即可。
S1 : 創建一個模板表 create table t (id int, col1 int , col2 varchar(10));
S2 : EXCEL中在A1輸入 ="create table t"&ROW()&" like t;"
S3: 下拉填充這個A1至A1000
create table t1 like t;
create table t2 like t;
create table t3 like t;
create table t4 like t;
create table t5 like t;
create table t6 like t;
create table t7 like t;
create table t8 like t;
create table t9 like t;
create table t10 like t;
S4: 復制到MYSQL命令行工具一次行執行。
Ⅱ sql寫語句如何循環執行10000次
調用循環執行,例如:
declare@nint
set@n=0
begin
while@n<10000
set@n=@n+1
--這里運行您要執行的1萬次操作
--例如您提問中的那些動作查詢
end
Ⅲ SQL語句中怎樣循環插入規律數據啊
可以使用循環語句
while 條件
begin
執行操作
set @i=@i+1
endWHILE
設置重復執行 SQL 語句或語句塊的條件。只要指定的條件為真,就重復執行語句。可以使用 BREAK 和 CONTINUE 關鍵字在循環內部控制 WHILE 循環中語句的執行。
Ⅳ SQL腳本中循環內的臨時表保存問題
如果你能保證有極少用戶調用這個存儲過程,可以考慮用全局表變數##P
或者可以給調用者一個傳入表的隨機參數,以達到不重復的目的
Ⅳ sql 幾種循環方式
1:游標方式
ALTERPROCEDURE[dbo].[testpro]
as
declare@yeardatestrvarchar(20)--日期拼接
declare@meternovarchar(20)--儀表編號
declare@collectindatanamevarchar(30)--數據採集表
declare@collectindataname_backvarchar(30)--數據採集備份表
declare@monsdtvarchar(20)
declare@monedtvarchar(20)
begin
set@yeardatestr=datename(YY,getdate())+datename(MM,getdate())
set@monsdt=Convert(VarChar(4),DatePart(year,GETDATE()))+'-'+Convert(VarChar(2),DatePart(MONTH,DateAdd(MONTH,-2,GETDATE())))+'-01'
set@monedt=CONVERT(VARCHAR(10),DateAdd(DAY,-1,DateAdd(MONTH,2,Convert(datetime,@monsdt,121))),20)
declaremeters_curcursorlocalfast_forward--定義游標
for
openmeters_cur--打開游標
fetchnextfrommeters_curinto@meterno--從游標中取出數據
while@@fetch_status=0--取出數據成功
begin
dbccSHRINKFILE(testdb_log,0)--收縮日誌
fetchnextfrommeters_curinto@meterno--下一條
end
closemeters_cur--關閉游標
deallocatemeters_cur--釋放游標
end
2:goto方式
nextValue:--循環起點關鍵字
select@num=ynumfrompp_yunnumwhereprjsht=@prjsht
IF(@flg=1)
set@yunsht='K'+@prjsht+'-'+Convert(varchar(10),@num+1)
ELSE
set@yunsht=REPLACE(@prjsht,'_','')+'-'+dbo.Lpad(@num+1,2,'0')
ifexists(select1frompp_yunwherepp_yun.sht=@yunsht)
begin
updatepp_yunnumsetynum=ynum+1whereprjsht=@prjsht
gotonextValue;--重新從nextValue出執行
end
Ⅵ mysql循環執行sql語句怎麼寫
用存儲過程就行了,給你一個能傳參數的實例吧
drop procere if exists employee;
delimiter $
create procere employee(
IN acc int(20))
BEGIN
DECLARE i INT(11);
SET i = 0;
loop1: WHILE i<=acc DO
你的sql語句
SET i=i+1;
END WHILE loop1;
end $
delimiter ;
call employee(1000)
mysql常用命令詳解
mysql安裝目錄
資料庫目錄
/var/lib/mysql/
配置文件
/usr/share/mysql(mysql.server命令及配置文件)
相關命令
/usr/bin(mysqladmin mysqlmp等命令)
啟動腳本
/etc/init.d/mysql(啟動腳本文件mysql的目錄)
系統管理
連接mysql
格式:
mysql -h 主機地址 -u用戶名 -p用戶密碼
例 1:連接到本機上的 mysql。
hadoop@ubuntu:~$ mysql
-uroot -pmysql;
例 2:連接到遠程主機上的 mysql。
hadoop@ubuntu:~$ mysql -h
127.0.0.1 -uroot -pmysql;