循环动态向mysql插入_MySQL实现循环插入功能 - ceil

58e8d81c4a0d115f2a9f9f245fa77d87.png

ceil — 进一法取整 float ceil ( float $value ) 返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。 echo ceil(4,3); //5 echo c...

MySQL 不支持直接写SQL 语句实现循环插入功能. 想要实现该功能的方法有:用其他语言操控MySql或者用存储过程来实现两种。

MySQL 不支持直接写SQL 语句实现循环插入功能. 想要实现该功能的方法有:用其他语言操控MySql或者用存储过程来实现两种。

1、存储过程实现

A、表结构 (Create Table song)

------ ----------------------------------------------------------------------------------------

CREATE TABLE `song` (

`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Autoincreament element',

`name` text NOT NULL,

`datetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

`rank` int(11) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=8102001 DEFAULT CHARSET=gbk

B、定义存储过程

DELIMITER $$

DROP PROCEDURE IF EXISTS `test`.`sp_insert_batch`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_insert_batch`(IN number int(11))

BEGIN

declare i int(11);

set i = 1;

-- such as 1-2000,2000-4000,....

WHILE i <= number DO

if mod(i,2000)=1 then

set @sqltext =concat('(''',concat('t',i),''',''',now(),''',',ceil(10*rand()),')');

elseif mod(i,2000)=0 then

set @sqltext=concat(@sqltext,',(''',concat('t',i),''',''',now(),''',',ceil(10*rand()),')');

set @sqltext=concat('insert into song (name,datetime,rank) values',@sqltext);

prepare stmt from @sqltext;

execute stmt;

DEALLOCATE PREPARE stmt;

set @sqltext='';

else

set @sqltext=concat(@sqltext,',(''',concat('t',i),''',''',now(),''',',ceil(10*rand()),')');

end if;

set i = i + 1;

END WHILE;

-- process when number is not be moded by 2000

-- such as 2001,4002,15200,...

if @sqltext<>'' then

set @sqltext=concat('insert into song (name,datetime,rank) values',@sqltext);

prepare stmt from @sqltext;

execute stmt;

DEALLOCATE PREPARE stmt;

set @sqltext='';

end if;

END$$

DELIMITER ;

C、调用存储过程

call sp_insert_batch (100); --参数为需要插入的行数

2、用其他语言操控MySql实现(以shell为例)

for ((i=1;i<=1000;i++));

do `mysql test -e "insert into t1(idx,pw) value($i,md5($i));"`;

done

ceil — 进一法取整 float ceil ( float $value ) 返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。 echo ceil(4,3

php中的四舍五入函数代码(floor函数、ceil函数、round与intval),ceilintval

floor函数和ceil函数互相搭配起来可以使php 处理的数据更加真实可靠。

一、先来看floor函数:

语法:

float floor ( float val...

在PHP中,一般来说如果需要向上取整用 ceil()函数。语法ceil(x)说明(推荐学习:PHP编程从入门到精通)返回不小于 x 的下一个整数,x 如果有小数部分则...

...中我们介绍了php中四个常用的取整和四舍五入函数ceil,floor,round,intval ,下面我们来详细介绍。1.ceil:进一法取整 说明 float ceil ( float value ) 返回不小于 value 的下一个整数,value 如果...

`var_dump(ceil(2.2*100)/100); var_dump(ceil(strval(2.2*100))/100);`

输出的结果分别是float 2.21float 2.2为什么这两种情况的值会不同?大神求解。

Math.ceil(x) -- 返回大于等于数字参数的最小整数(取整函数),对数字进行上舍入 ceil是ceiling的缩写,中文"上限"的意思 引用网址:http://www.dreamdu.com/javascript/Math.ceil/ ceil函数语法 Math.ceil(x);

ceil是向上进位得到一个值的函数;

floor是舍掉小数位得到一个值的函数;

round是用来四舍五入的函数。

ceil

定义和用法:

ceil() 函数向上舍入为最接近的整数。

[php]

ceil(x);

ceil(...

我们经常用到的PHP取整函数,主要是:ceil,floor,round,intval。

ceil -- 进一法取整说明float ceil ( float value )

返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() ...

下面来介绍将小数值舍入为整数的几个方法:Math.ceil()、Math.floor()和Math.round()。 这三个方法分别遵循下列舍入规则:

◎Math.ceil()执行向上舍入,即它总是将数值向上舍入为最接近的整数;

◎Math.floor()执行向下舍入,即...

...数之一,也是学习mysql必会的,常用的有如下一些: 1、ceil:返回大于某个数的最小整数值: 2、floor:和上一个相反,返回小于某个数的最大整数值: 3、round:返回某个数值四舍五入后的数值: 如上图,round的第二个参数代表...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值