本篇会提供两种解决方案,当然py部分,可能比较麻烦。不过,我想这个部分今后也会使用到,所以还是贴出来留个纪念,以鼓励后人。对于长期性能监控来说,使用shell进行自动话性能监控,只是我对游戏自动化构想的第一步。而既然现在,可以产生如此多的数据,如何更为高效的管理和分析这些数据应该下个阶段需要着重讨论的问题。本篇后,本人也会花更多经历在这个方面进行研究,欢迎高手指证,嘿嘿!
以下提供Py部分解决方案:
#-*-coding:cp936-*-
#需求:批量替换Mysql两表的数据,如:A、B两表分别都包含a、b、c三个字段,我们需要替换A表中的B字段
#为B表中的C字段。由此,写了以下这个麻烦的替换程序,生成新表C
importMySQLdb
globalconn,cursor0,cursor1,cursor2,cursor3,id_values,name_values
#数据连接
defMysql_conn():
globalconn,cursor0,cursor1,cursor2,cursor3
host="localhost"
user="root"
passwd="123456"
dbname="test"
try:
conn=MySQLdb.connect(host,
user,
passwd,
dbname)
cursor0=conn.cursor()
cursor1=conn.cursor()
cursor2=conn.cursor()
cursor3=conn.cursor()
#Mysql_conn_test()
returncursor0,cursor1,cursor2,cursor3,conn
exceptMySQLdb.Error,e:
print"Error%d:%s"%(e.args[0],e.args[1])
#数据库连接测试,得到当前数据版本
defMysql_conn_test():
Mysql_conn()
cursor0.execute("selectversion()")
print"数据版本%s"%cursor.fetchone()[0]
#测试数据库插入方法
defMysql_insert_test():
Print_params("测试")
Mysql_conn()
Print_params("测试")
#cursor0.execute("insertintotest000(name)values('123')")
cursor0.execute("insertintotest000(id,name)values('','123');")
print"数据版本%s"%cursor.fetchone()[0]
Print_params("数据插入成功!")
cursor0.close()
#数据库替换方法
defMysql_task():
globalconn,cursor0,cursor1,cursor2,cursor3,id_values,name_values
#初始化列表
instead_list_000=[]
instead_list_001=[]
num=0
#从两张表中得到数据
Mysql_conn()
cursor0.execute("select*fromtest000")
cursor1.execute("select*fromtest001")
row000=cursor0.fetchall()
row001=cursor1.fetchall()
#读出两张表的数据,替换其类型tuple->list
row000=list(row000)
row001=list(row001)
#测试
#Print_params(row001[0][0])
#使用第一张表的数据行数进行循环,控制替换数据的行数
foriinrange(len(row001)):
try:
#取出第一张表的每一行数据,生成一个完整的数组
instead_list_000.append(row000[i])
#取出第二张表的每一行数据,生成一个完整的数组
instead_list_001.append(row001[i])
exceptKeyError:
num+=1
print'noelem%d'%num
#测试数据,打印生成的完整数组
Print_params(instead_list_000)
Print_params(instead_list_001)
#重新定义一张新表
cursor2.execute("""
DROPTABLEIFEXISTS`test002`;
CREATETABLE`test002`(
`id`int(11)NOTNULLauto_increment,
`name`int(11)defaultNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=gbk;
""")
#从生成新数组,instead_list_000,instead_list_001中读取元素,插入新数据库
foriinrange(len(instead_list_000)):
#测试数据,循环读取第一个字段id,values
#Print_params(instead_list_000[i][0])
#插入数据库前,进行字符转换list->str
id_values=str(instead_list_000[i][0])
name_values=str(instead_list_001[i][1])
#测试插入数据
Print_params(id_values)
Print_params(name_values)
#替换两表数值,插入新数据库
#cursor2.execute("insertintotest.test002values(%s,%s)"%(id_values,name_values))
#cursor2.nextset()
cursor0.execute("insertintotest.test000(id,name)values('9','9')")
#关闭数据库
Mysql_close(cursor0,cursor1)
#测试方法,打印变量的值
defPrint_params(data):
print"Params'svalue=",data
#测试方法,输出到*.txt的值
defOutPrint_txt(data):
path="D:CodeSourcesDev_Pydata.txt"
out_list=open(path,'w')
out_list.writelines(data)
returnout_list
#测试方法,检查数据返回类型
defType(type_params):
print"type:",type(type_params)
#关闭数据库
defMysql_close(a,b):
a.close()
b.close()
conn.close()
print"数据库更新成功,连接已关闭"
if__name__=="__main__":
#Mysql_task()
Mysql_insert_test
另一个办法,使用sql:
- 建议一张新表:(这里,数据库的方式选的InnoDB,详细可以查看MysalAdministrator)
DROPTABLEIFEXISTS`test_robot_data`;
CREATETABLE`test_robot_data`(
`ttchar(32)NOTNULL,
`tt1char(32)NOTNULL,
`tt2`char(32)NOTNULL,
PRIMARYKEY(`tt`)
)ENGINE=InnoDBDEFAULTCHARSET=gbk;
- 筛选前15000条数据,导入新的表,当然也可以用between
insertintotemp_dianxinyi.test_robot_dataSELECT*FROMtemp_dianxinyi.roledatalimit15000;
updatetest_robot_datasetAccountName=concat('robot',right(concat('0000',id),4))
- 在Linux下使用mysqldump备份,某库某表
/mysql/bin/mysqldump--hex-blob--single-transaction--quick-uroot-p123456SchemaTableNmae(可以为多个)>倒出的Linux路径$FILEPATH/DX1/1_$i/$DATE.sql
分享到:
相关推荐
用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示。下边是打包了32与64版本。 MySQL-python-1.2.3.win32-py2.7.exe MySQL-python-1.2.3.win-amd64-py2.7.exe 实例 1、取得 MYSQL 的版本 # -*- ...
基于python+pyQt5+mysql实现的学生宿舍管理系统源码+GUI界面+项目说明文档(数据库课程设计).zip 【配置要求】 文件名 作用 init.pyw 程序入口 public.py 存放公共变量 mainUI.py 主窗口封装类 sql.py 封装数据库操作...
此代码用python实现了连接本地数据库,然后实现注册和登录,在存储密码时使用了哈希值存储。
python3.7.4版本,文件包含excel文件和py文件。 py文件中需要手动设置excel字段在mysql中的类型、index索引及写入时校验的字段。(搜索*查找对应的位置) 执行py文件,若不存在数据库及表会自动创建,并写入数据...
本文实例讲述了Python3实现的Mysql数据库操作封装类。分享给大家供大家参考,具体如下: #encoding:utf-8 #name:mod_db.py ''''' 使用方法:1.在主程序中先实例化DB Mysql数据库操作类。 2.使用方法:db=database()...
本科毕业设计+python+基于Flask+Bootstrap+Mysql的项目审批系统(含源码+数据库) 安装相关库 $ git clone https://github.com/rmboot/approvalsystem $ cd approvalsystem $ pipenv install $ pipenv shell 初始化...
解决Windows环境下python无法安装mysql问题,提供MySQL_python-1.2.5-cp27-none-win_amd64.whl的下载,亲测可用
1、下载安装MySQLdb类库http://www.djangoproject.com/r/python-mysql/2、修改settings.py 配置数据属性复制代码 代码如下:DATABASES = { ‘default’: { ‘ENGINE’: ‘django.db.backends.mysql’, # Add ...
MySQL-python-1.2.2.win32-py2.4 python直接的mysqlDB,遵循pythonSQL2.0Specification,点击安装即可引用mysqlDB,注意安装目录,%Python_HOME%\Lib\site-packages,即可
使用说明环境要求:python、mysql数据库注意事项mysql数据库连接的修改sql文件为sql_utils.py、执行sql文件为cov_test_data.sql数据爬取文件为spider.py (主要BeautifulSoup,requests技术爬取)、spider_area.py(主要...
数据传入参数有:dbConfigName, selectSql, jsonPath, fileName。 依赖的库有:MySQLdb、json,尤其MySQLdb需要事先安装好。 2、Python脚本及测试示例 /Users/nisj/PycharmProjects/BiDataProc/oldPythonBak/mysql...
在本机的mysql 数据库中有一个名为yao的库,其中有一个名为user的表,表中的内容如图 下面,则是python连接数据库的方法,及查找出表中的内容,代码如下: #! /usr/bin/python # filename conn.py import MySQLdb ...
用python编写数据库的代码很方便,但是如果不想自己写sql语句,其实还有更多的讨巧办法。使用webpy的db库就是不错的一个选择。当然为了使用webpy的db,之前你还需要安装MySQLdb,其他的就不需要做什么了。 1、安装...
本文实例讲述了Python3实现的爬虫爬取数据并存入mysql数据库操作。分享给大家供大家参考,具体如下: 爬一个电脑客户端的订单。罗总推荐,抓包工具用的是HttpAnalyzerStdV7,与chrome自带的F12类似。客户端有接单...
MySQLdb 是用于 Python 连接 MySQL 数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。 (2) 源码安装 MySQLdb: https://pypi.python.org/pypi/MySQL-python $ tar zxvf MySQL-...
一、先来看备份mysql数据库的命令 mysqldump -u root --password=root --database abcDataBase > c:/abc_backup.sql 二、写Python程序 BackupsDB.py #!/usr/bin/python # -*- coding: UTF-8 -*- ''''' ...
【资源说明】 该项目是个人毕设项目源码,评审分达到94分,都经过严格...注意:celery框架里面有个方法和python3.7的关键字冲突,所以用python3.6吧! 还需要执行pip install lxml==4.5.2 解决html文档结构分析依赖的包
下载好项目之后在settings.py文件中更改你的数据库配置,requirements.txt中是项目主要依赖包,需要导入。 在项目根目录EatProject的终端下依次运行下列指令。 数据库迁移: 1. python manage.py db init 2. python ...
基于python的基于图像识别的仪表实时监控系统的实现.zip 运行步骤 需要先安装Python的相关依赖:pyqt5==5.15.2,pyqt-sip==12.9.1,requests,opencv-python,numpy使用pip install 安装 第一步:创建数据库,数据库名...