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