python怎么读sql数据的简单介绍

本文目录一览:

python读取mysql数据写入ES总结

准备工作: mysql库的安装。

python中mysql库用的是mysql-connector,安装执行如下命令:

第一步: 连接mysql,读取数据。

通过执行sql语句,读取mysql数据。

至此,获得mysql的原始数据raw_data 。接下来对数据进行预处理,按日期进行分组聚合,然后重命名行和列名,得到dataFrame格式的数据。

第二步: 连接ES。

这步没有太多的可解释的地方,就是配置信息。

第三步: ES主键加密。

这步的目的是为了保持主键唯一性,防止重复写入。用的方法是md5加密。

第四步: 写入ES

至此,一切的准备工作都做好了,数据也有了,主键加密也做了,就开始写入了。

用main方法执行以上方法:

最后查看一下ES写的是否成功,用查询方法

如果返回以下信息,说明ES里成功插入了数据。

另外,ES删除索引的操作:

如何python获取sql数据库访问的url

python

操作数据库,要安装一个Python和数据库交互的包MySQL-python-1.2.2.win32-py2.5.exe,然后我们就可以使用MySQLdb这个包进行数据库操作了。

操作步骤如下:

1、建立数据库连接

import

MySQLdb

conn=MySQLdb.connect(host=”localhost”,user=”root”,passwd=”sa”,db=”mytable”)

  cursor=conn.cursor()

2、执行数据库操作

n=cursor.execute(sql,param)

我们要使用连接对象获得一个cursor对象,接下来,我们会使用cursor提供的方法来进行工作.

这些方法包括两大类:1.执行命令,2.接收返回值

3、cursor用来执行命令的方法:

  callproc(self, procname,

args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数

  execute(self, query,

args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数

  executemany(self, query,

args):执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数

 

nextset(self):移动到下一个结果集

  4、cursor用来接收返回值的方法:

 

fetchall(self):接收全部的返回结果行.

  fetchmany(self,

size=None):接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.

 

fetchone(self):返回一条结果行.

  scroll(self, value,

mode=’relative’):移动指针到某一行.如果mode=’relative’,则表示从当前所在行移动value条,如果mode=’absolute’,则表示从结果集的第一

行移动value条.

5、下面的代码是一个完整的例子.

#使用sql语句,这里要接收的参数都用%s占位符.要注意的是,无论你要插入的数据是什么类型,占位符永远都要用%s

sql=”insert

into cdinfo values(%s,%s,%s,%s,%s)”

#param应该为tuple或者list

param=(title,singer,imgurl,url,alpha)

#执行,如果成功,n的值为1

n=cursor.execute(sql,param)

#再来执行一个查询的操作

cursor.execute(“select

* from cdinfo”)

#我们使用了fetchall这个方法.这样,cds里保存的将会是查询返回的全部结果.每条结果都是一个tuple类型的数据,这些tuple组成了一个tuple

cds=cursor.fetchall()

#因为是tuple,所以可以这样使用结果集

print

cds[0][3]

#或者直接显示出来,看看结果集的真实样子

print

cds

#如果需要批量的插入数据,就这样做

sql=”insert

into cdinfo values(0,%s,%s,%s,%s,%s)”

#每个值的集合为一个tuple,整个参数集组成一个tuple,或者list

param=((title,singer,imgurl,url,alpha),(title2,singer2,imgurl2,url2,alpha2))

#使用executemany方法来批量的插入数据.这真是一个很酷的方法!

n=cursor.executemany(sql,param)

需要注意的是(或者说是我感到奇怪的是),在执行完插入或删除或修改操作后,需要调用一下conn.commit()方法进行提交.这样,数据才会真正保

存在数据库中.我不清楚是否是我的mysql设置问题,总之,今天我在一开始使用的时候,如果不用commit,那数据就不会保留在数据库中,但是,数据

确实在数据库呆过.因为自动编号进行了累积,而且返回的受影响的行数并不为0.

6、关闭数据库连接

需要分别的关闭指针对象和连接对象.他们有名字相同的方法

cursor.close()

conn.close()

Django操作数据库

django是一个出色的用于python的web框架。django连接有操作数据库的api,使用起来十分简洁。我们在settings.py中配置好所要连接的数据库,然后在modules、view、urls中分别写好业务逻辑

python 2.7 读取sql文件

逐行执行

for line in sql:

try:

cursor.execute(line)

except:

……

python如何操作SQL语句

这里有个比较清楚的解答:

但是你的是一个文本的话,就要稍微改一下咯

如果改成cx_Oracle的话,就是这样的:

import

sys

import

cx_Oracle

import

os

class

handleDataBase:

def

__init__(self,user,passwd,server,sql):

self.user=user

self.passwd=passwd

self.server=server

self.sql=sql

self.conn

=

cx_Oracle.connect(“%s/%s@%s”%(self.user,self.passwd,self.server))

def

selectDB(self):

cursor

=

self.conn.cursor()

cursor.execute(“select

count(1)

from

search_item_08″)

ret

=

cursor.fetchall()

cursor.close()

print

ret

return

ret

def

closeDB(self):

self.conn.close()

if

__name__

==

“__main__”:

if

len(sys.argv)

4:

print

“Need

Arguments:

user

passwd

server”

sys.exit(1)

user=sys.argv[1]

passwd=sys.argv[2]

server=sys.argv[3]

#sql=’select

count(1)

from

search_item_08;’

#注意这里要改

sql

=

open(‘a.sql’,’r’).read()

#改成从文件读取

#接下来就访问数据库了

handleDB

=

handleDataBase(user,passwd,server,sql)

handleDB.selectDB()

handleDB.closeDB()

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/190288.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-29 22:32
下一篇 2024-11-29 22:32

相关推荐

  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29

发表回复

登录后才能评论