Ⅰ 如何用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命令行工具一次行執行。
Ⅱ 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;
Ⅲ SQL 循環操作
Create Table #Tmp
(
ID int identity(1,1),
貨號 Varchar(10),
訂貨數量 int,
庫存 int,
發貨數量 int
)
Insert Into #Tmp(貨號,訂貨數量,庫存,發貨數量) Values('SP001',10,28,0)
Insert Into #Tmp(貨號,訂貨數量,庫存,發貨數量) Values('SP001',30,28,0)
Insert Into #Tmp(貨號,訂貨數量,庫存,發貨數量) Values('SP002',30,10,0)
Insert Into #Tmp(貨號,訂貨數量,庫存,發貨數量) Values('SP002',6,10,0)
Insert Into #Tmp(貨號,訂貨數量,庫存,發貨數量) Values('SP002',5,10,0)
Insert Into #Tmp(貨號,訂貨數量,庫存,發貨數量) Values('SP003',3,28,0)
Declare @ID Int
DECLARE @貨號 Varchar(10)
Declare @舊貨號 Varchar(10)
Declare @訂貨數量 int
Declare @庫存 int
Declare @Tmp int
Set @舊貨號=''
DECLARE vendor_cursor CURSOR FOR
Select ID,貨號,訂貨數量,庫存 From #Tmp Order By 貨號
OPEN vendor_cursor;
FETCH NEXT FROM vendor_cursor
INTO @ID,@貨號, @訂貨數量,@庫存
WHILE @@FETCH_STATUS = 0
BEGIN
if (@舊貨號<>@貨號)
Begin
Set @舊貨號=@貨號
Set @Tmp=@庫存
End
--庫存小於0,不發貨
if @Tmp<=0
Update #Tmp Set 庫存=@Tmp Where ID=@ID
Else
Begin
--訂貨數小於等於庫存數,發訂貨數,否則發庫存數
if (@訂貨數量<=@Tmp)
Begin
Update #Tmp Set 發貨數量=@訂貨數量,庫存=@Tmp Where ID=@ID
Set @Tmp=@Tmp-@訂貨數量
End
Else
Begin
Update #Tmp Set 發貨數量=@Tmp,庫存=@Tmp Where ID=@ID
Set @Tmp=@Tmp-@Tmp
End
End
FETCH NEXT FROM vendor_cursor
INTO @ID,@貨號, @訂貨數量,@庫存
CLOSE vendor_cursor
DEALLOCATE vendor_cursor
Select * From #Tmp
Drop Table #Tmp
Ⅳ sql寫語句如何循環執行10000次
調用循環執行,例如:
declare@nint
set@n=0
begin
while@n<10000
set@n=@n+1
--這里運行您要執行的1萬次操作
--例如您提問中的那些動作查詢
end