Ⅰ 如何用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