
#!/usr/bin/python
import MySQLdb
# 打开数据库连接
db = MySQLdbconnect("localhost","testuser","test123","TESTDB" )
#打开游标
cursor = dbcursor()
# 执行数据库查询
cursorexecute("SELECT from users")
# 获取结果集的第一行
data = cursorfetchone()
print "Database version : %s " % data
# 关闭连接
dbclose()
设置索引字段。在开始提取数据前,先将member_id列设置为索引字段。然后开始提取数据。
按行提取信息。第一步是按行提取数据,例如提取某个用户的信息。
按列提取信息。第二步是按列提取数据,例如提取用户工作年限列的所有信息。
按行与列提取信息。第三步是按行和列提取信息,把前面两部的查询条件放在一起,查询特定用户的特定信息。
在前面的基础上继续增加条件,增加一行同时查询两个特定用户的贷款金额信息。
在前面的代码后增加sum函数,对结果进行求和。
除了增加行的查询条件以外,还可以增加列的查询条件。
多个列的查询也可以进行求和计算,在前面的代码后增加sum函数,对这个用户的贷款金额和年收入两个字段求和,并显示出结果。
提取特定日期的信息。数据提取中还有一种很常见的需求就是按日期维度对数据进行汇总和提取,如按月,季度的汇总数据提取和按特定时间段的数据提取等等。
设置索引字段。首先将索引字段改为数据表中的日期字段,这里将issue_d设置为数据表的索引字段。按日期进行查询和数据提取。
通过python将大批excel数据导入mysql:
利用Python从EXCEL中读取两列数据存储在LIST中然后连接数据库利用insert语句和LIST 内容结合,导入数据库;然后再从数据库读取表的字段和内容,存放到EXCEL新表中即可。
以下的导入的核心代码:
#按照说明安装即可
import win32comclient as win32
import MySQLdb
app='Excel'
#启动EXCEL程序
xl=win32gencacheEnsureDispatch('%sApplication' % app)
#打开相应的EXCEL文件
xlbook=win32Dispatch('ExcelApplication')WorkbooksOpen('D:\\pyd\\opsdataxls')
#读取EXCEL工具表,打开要导入数据的表
sh=xlbookWorksheets('sheet2')
#建立一个空LIST和两个循环参数
dfun=[]
jcount=2
ncount=1
#从第一列开始向下循环,找到为空的那一行返回行数,即为第ncount行为空
for ncount in range(1,65566):
if shCells(ncount,1)Value==None:
break
else:
continue
#print ncount,测试代码,测试ncount值
#EXCEL的数据安排为第一行是字段,第二行开始是数据,故从第2行开始循环,将两列数据合并到一个LIST中
#LIST结构为[('a','b'),('c','d')]
for jcount in range(2,ncount):
dfunappend((shCells(jcount,1)Value,shCells(jcount,2)Value))
#关闭EXCEL程序
#xlApplicationQuit()
#print dfun,测试代码测试dfun的数据
#建立一个空LIST fo用来存放字段,读取EXCEL中第一行的字段存储到fo中
fo=[]
icount=1
for icount in range(1,2):
foappend((shCells(1,icount)Value,shCells(1,icount+1)Value))
#测试代码,print fo
#打开MYSQL链接
conn=MySQLdbconnect(host='localhost',user='root',passwd='0789asd',db='python')
#获取游标 *** 作
cursor=conncursor()
#建立一个空表
cursorexecute("create table test("+fo[0][0]+" varchar(100),"+fo[0][1]+" varchar(100));")
#利用executemany命令,将LIST,dfun中的数据通过insert语句写入数据库
cursorexecutemany("""insert into test values(%s,%s);""" ,dfun)
#确认数据 *** 作,注意如果没有conncommit()这个命令,数据无法被插入到数据库中
conncommit()
#执行查询检查结果
count = cursorexecute('select from test')
print 'has %s record' % count
#重置游标位置
cursorscroll(0,mode='absolute')
#搜取所有结果
results = cursorfetchall()
#测试代码,print results
#获取MYSQL里的数据字段
fields = cursordescription
#将字段写入到EXCEL新表的第一行
sh2=xlbookWorksheets('sheet3')
#清空sheet3
sh2CellsClear
for ifs in range(1,len(fields)+1):
sh2Cells(1,ifs)Value=fields[ifs-1][0]
#将读取的数据填入到相应的行列中
ics=2
jcs=1
for ics in range(2,len(results)+2):
for jcs in range(1,len(fields)+1):
sh2Cells(ics,jcs)Value=results[ics-2][jcs-1]
#关闭EXCEL程序
xlApplicationQuit()
#关闭游标和查询链接
cursorclose()
connclose()
如果你的表是用模型建立的话,类似这样
class Person(modelsModel):
qq=modelsCharField(max_length=100)
要取Person模型中的id最大值的话,可以使用a=Personobjectslatest('id'),这样取到的是对应最大id的一个模型,aid就是你要的值,然后aqq就是最大id的qq号码
是不是忘记 commit了?
我这边的读取代码如下
selfm_Conn = MySQLdbconnect
( host , user , passwd , db , charset, cursorclass = MySQLdbcursorsDictCursor)
selfm_Connquery(sql)
store_result = selfm_Connstore_result()
selfm_Conncommit()
Result = store_resultfetch_row(0,1)
看你给出的这个,我猜想是xml的格式,那么你可以用python的ElementTree模块来解析Xml,再用MySQLdb模块连接数据库插入就ok了,如果你给出的不是xml,那么你可以自己用正则提取,再写入数据库
以上就是关于python 怎么查询mysql数据库全部的内容,包括:python 怎么查询mysql数据库、python进行数据库查询中怎么把结果提取出来,跪谢、mac如何通过python将大批excel数据导入mysql等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)