首页 > 编程技术 > php

php mysql百万级数据去除重复数据

发布时间:2016-11-25 16:39

<?php教程
//定义一个数组,用于存放排重后的结果
$result = array();
//读取uid列表文件
$fp = fopen('test.txt', 'r');

while(!feof($fp))
{
$uid = fgets($fp);
$uid = trim($uid);
$uid = trim($uid, " ");
$uid = trim($uid, " ");

if($uid == '')
{
continue;
}
//以uid为key去看该值是否存在
if(empty($result[$uid]))
{
$result[$uid] = 1;
}
}

fclose($fp);

//将结果保存到文件
$content = '';
foreach($result as $k => $v)
{
$content .= $k." ";
}
$fp = fopen('result.txt', 'w');
fwrite($fp, $content);
fclose($fp);
?>  


<?php
//定义数组,用于存放排重后的结果
$result = array();
//读取第一个uid列表文件,放入$result_1
$fp = fopen('test_1.txt', 'r');
while(!feof($fp))
{
$uid = fgets($fp);
$uid = trim($uid);
$uid = trim($uid, " ");
$uid = trim($uid, " ");
if($uid == '')
{
continue;
}
//以uid为key写入$result,如有重复就会覆盖
$result[$uid] = 1;
}
fclose($fp);
//读取第二个uid列表文件,并进行排重操作
$fp = fopen('test_2.txt', 'r');
while(!feof($fp))
{
$uid = fgets($fp);
$uid = trim($uid);
$uid = trim($uid, " ");
$uid = trim($uid, " ");
if($uid == '')
{
continue;
}
//以uid为key去看该值是否存在
if(empty($result[$uid]))
{
$result[$uid] = 1;
}
}
fclose($fp);
//$result里保存的就排重以后的结果,可以输出到文件,代码省略
?>

//自动计算二个字段的值赋给另一字段sql

$sql ="update table set sum = mathe +language";

//求一个字段列的数据总和

$sql = "select sum(sum) from tables";

//下们我们来看个实例

/*
创建表
CREATE TABLE `cc`.`sumtable` (
`id` INT( 4 ) NOT NULL ,
`a1` INT( 4 ) NOT NULL ,
`a2` INT( 4 ) NOT NULL ,
`summ` INT( 8 ) NOT NULL
) ENGINE = InnoDB

插入记录

INSERT INTO `cc`.`sumtable` (
`id` ,
`a1` ,
`a2` ,
`summ`
)
VALUES (
'1', '5', '5', '0'
), (
'2', '6', '5', '0'
);
*/

//自动计算二个字段的值赋给另一字段sql
update sumtable set summ = a1+a2

//求和
SELECT sum( summ ) FROM sumtable
sum(summ) 
21

//本站原创文章转载注明来源www.111cn.net

$this->beginTransaction();
$this->exec('update people set age=2');

//$step1 = mysql教程_error();//你的类里,改成如果执行sql错误,获取错误代码,相应的函数

 代码如下 复制代码

$this->exec('INSERT INTO course (course,num) VALUES ("数学",100)');

//$step2 = mysql_error();


if (!$step1 && !$step2)
{
 $this->commit();
}
else
{
 $this->rollBack();
}

 代码如下 复制代码

$conn=ADONewConnection('odbc_mssql');
$conn->PConnect("Driver={SQL Server};Server=DLUT-PCSQLEXPRESS;Database=yuyan;",'zhouhao','950288');
$ADODB_FETCH_MODE=ADODB_FETCH_ASSOC;
$sqlstr='select * from yuyan where ps教程nNo=?';
$rst=$conn->execute($sqlstr,'005') or die('connect error');
while(!$rst->EOF)
{
//echo $rst->fields['psnName'].'->'.$rst->fields['www.111cn.net'].'';
echo 'dajiahao';
$rst->movenext();
}
$rst->close();
$conn->close();

 代码如下 复制代码

DELIMITER $$

CREATE DEFINER=`root`@`localhost` FUNCTION `UF_Get_tMaxCode`(
  V_iType INT
) RETURNS varchar(10) CHARSET utf8
BEGIN
/*
业务描述:根据编码类别产生编码

输入参数:
V_iType:编码类别,定义建tMaxCode的iType字段的定义

调用示例:
SELECT UF_Get_tMaxCode(1);

创建日期:
创建人:

*/
DECLARE iCode INT;

IF V_iType IN (1,3)

THEN
#非订单类
IF EXISTS (SELECT dtLast FROM tMaxCode WHERE iType=V_iType LIMIT 0,1)
THEN 
SELECT IFNULL(iMax,0)+1 INTO iCode FROM tMaxCode WHERE iType=V_iType;
ELSE
SET iCode=1;
END IF;
SELECT IFNULL(iMax,0)+1 INTO iCode FROM tMaxCode WHERE iType=V_iType;
ELSE
#订单类
IF EXISTS (SELECT iMax FROM tMaxCode WHERE iType=V_iType AND DATEDIFF(dtLast,CURRENT_DATE)=0 LIMIT 0,1)
THEN 
#上次生成时间是当天
  SELECT IFNULL(iMax,0)+1 INTO iCode FROM tMaxCode WHERE iType=V_iType;
ELSE
SET iCode=1;
END IF;
END IF;

标签:[!--infotagslink--]

您可能感兴趣的文章: