利用PHP脚本辅助MySQL数据库管理5-检查异常数据

<?php
$dbi = new DbMysql;
$dbi->dbh = ‘mysql://root:[email protected]/coffeetest‘;

$map = array();
$dbi->fetchMap("SHOW TABLES", $map);
$tables = array_keys($map);

// 找出含有cid字段的表
$cid_tables = array();
for($j=0; $j<count($tables); $j++){
    $map = array();
    $dbi->fetchMap("DESCRIBE ".$tables[$j], $map);
    foreach($map as $k=>$v){
        if($k==‘cid‘) {
            $cid_tables[] = $tables[$j];
        }
    }
}

// 找出cid=0的数据并修复
$cid = 1;
$cid0_tables = array();
for($j=0; $j<count($cid_tables); $j++){
    $sql = "SELECT COUNT(*) FROM ".$cid_tables[$j]." WHERE cid = 0";
    $count = $dbi->getval($sql, 0);
    if($count>0) $cid0_tables[$cid_tables[$j]] = $count;
}
foreach($cid0_tables as $k=>$v){
    echo("\t".$k."=".$v."\n");
    $sql = "UPDATE ".$k." SET cid = ".$cid." WHERE cid = 0";
    $dbi->execute($sql);
}
?>

原文地址:https://www.cnblogs.com/coffee_cn/p/8994353.html

时间: 2024-11-02 22:46:52

利用PHP脚本辅助MySQL数据库管理5-检查异常数据的相关文章

利用PHP脚本辅助MySQL数据库管理3-删除重复表索引

<?php $dbi = new DbMysql; $dbi->dbh = 'mysql://root:[email protected]/coffeetest'; $map = array(); $dbi->fetchMap("SHOW TABLES", $map); $tables = array_keys($map); for($i=0; $i<count($tables); $i++){ echo($tables[$i]."\n");

利用PHP脚本辅助MySQL数据库管理1-表结构

<?php $dbi = new DbMysql; $dbi->dbh = 'mysql://root:[email protected]/coffeetest'; $map = array(); $dbi->fetchMap("SHOW TABLES", $map); $tables = array_keys($map); for($i=0; $i<count($tables); $i++){ echo($tables[$i]."\n");

利用PHP脚本辅助MySQL数据库管理4-两个库表结构差异比较

<?php define('DATABASE1', 'coffeetest'); $dbi1 = new DbMysql; $dbi1->dbh = 'mysql://root:[email protected]/'.DATABASE1; define('DATABASE2', 'sinatest'); $dbi2 = new DbMysql; $dbi2->dbh = 'mysql://root:[email protected]/'.DATABASE2; // db1 $db1 =

利用Python脚本备份mysql数据库

近期利用空余时间学习了python的一些基础内容,用来实践,做了一个Mysql备份的脚本,按日备份并打包压缩:python比原来的shell只能运行在linux下面更广泛一些,而且后期扩展也更好. ################################## Functions: 1)按日备份数据库,并将备份文件压缩打包: 2)成功则将备份信息写入日志,失败则发邮件告警给管理员: 3)如果已经备份成功,不再重复备份: 4)稍作改动,可用于WINDOWS备份 ###############

利用脚本实现mysql主库到备库数据同步(每五分钟同步一次增量)

目标: 将主库数据(IP1)每五分钟一次同步到备库(IP2) 服务器备库上,只同步增加量 思路: 利用crontab 每五分钟一次定时执行脚本进行数据同步 在脚本中编译实现查询五分钟内的数据增加量,并将增加量导入到备库 实现过程及代码(以record 表为例): bash脚本中内容 vi transaction.sh----建立transaction脚本实现同步 #!/bin/bash source.bash_profile (由于定时执行的功能使用crontab实现,需要在bash中添加使环境

Python脚本---把MySQL数据库表中的数据导出生成csv格式文件

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/45841221 #!/usr/bin/env python # -*- coding:utf-8 -*- """  Purpose: 生成日汇总对账文件  Created: 2015/4/27  Modified:2015/5/1  @author: guoyJoe""" #导入模块import MySQLdbimport timeimpo

MYSQL数据库管理之权限管理

http://blog.chinaunix.net/uid-20639775-id-3475608.html MYSQL数据库管理之权限管理 经常遇到有网友在QQ群或者论坛上问关于mysql权限的问题,今天抽空总结一下关于这几年使用MYSQL的时候关于MYSQL数据库的权限管理的经验,也希望能对使用mysql的网友有所帮助! 一.MYSQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你权利以内的事情,不可以越界.比如只允许你执行select操作,那么你就不能执行update操作

利用Python脚本管理Windows服务

Windows服务常用的功能就是启动服务,关闭服务,重启服务和查询服务运行状态,其中查询服务运行状态是其他三种操作的基础. 本文中提到的使用Python脚本管理Windows服务实际上是调用win32serviceutil模块,此模块来自pywin32包,此模块本身有管理服务的功能,有兴趣的可以去阅读它的部分源码. 本脚本存在的目的是为了熟练Python的语法和基本操作,Windows下有更好的命令行工具来管理服务,如sc.Powershell等.通常命令行工具的执行速度要比services.m

利用DTrace实时检测MySQl

与我们大多数人想象的不同,DTrace用于MySQL时不需对MySQL做任何更改.DTrace最强大的"提供器"(provider,是一组可观测的探测器)是FBT(Functional Boundary Tracing,函数边界跟踪)提供器.我们可以把它与PID提供器结合起来,用于深入观测userland过程.只需要对MySQL代码有一些基本了解,我们就可以开发挖掘这些功能了. 那么,我们如何才能了解MySQL代码呢?有两种方法.第一,你可以买一本好点儿的相关书籍,如MySQL Int