首页数据库python读取数据库,python怎么读取数据库

python读取数据库,python怎么读取数据库

编程之家2023-10-22110次浏览

大家好,今天来为大家解答python读取数据库这个问题的一些问题点,包括python怎么读取数据库也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

python读取数据库,python怎么读取数据库

python如何访问数据库

1.背景:

python提供了很多数据库接口,常用的数据库有 MS SQL Server/mysql/oracle等。

打开链接 https://wiki.python.org/moin/DatabaseInterfaces

是python关于数据库接口的一个总结,可以看到python支持的访问的数据库系统。

2.模块:

python主要是通过模块和数据库连接的。

python读取数据库,python怎么读取数据库

2.1安装模块:

如果使用anconda,本身就会集合很多模块,不需要手动安装。如果用pycharm就要手动安装模块。

安装模块流程:

下载模块扩展包放到路径下——>cmd找到相应路径——> pip install+扩展包名字

下面列举一些常用连接数据库的模块:pymssql/ sqlite3/ PyMySQL/pyodbc/odbc/adodbapi

不同模块连接的数据库不同,支持的版本系统有的也不一样。但是大体用法都是相近的,因为有DB-API

python读取数据库,python怎么读取数据库

相关推荐:《Python教程》

3.Python DB-API

3.1背景:

在没有DB-API之前,不同数据库有不同的数据库接口程序,这就导致python访问 database的接口程序非常混乱。如果我们学习了python访问 mysql的接口程序,然后要切换到另一个数据库上,我们还要在学习另外一个数据库的接口程序。python DB-API就是为了解决接口程序混乱而生成的。有了DB-API,在不同数据库上移植代码就变得简单的多了。

3.2Python DB-API:

Python定义了一套操作数据库的 DB-API接口,它是一个规范,定义了一系列必须的对象和数据库存取方式,以便为不同的底层数据库系统提供一致的访问接口

这个链接就是python官方给定的 DB-API的说明 https://www.python.org/dev/peps/pep-0249/

3.3 Python DB--API的内容:

连接对象:

?Connect()创建连接:host/server/user/password/db connect方法生成一个connect对象,我们通过这个对象来访问数据库。符合标准的模块都会实现connect方法。

?close():关闭连接

?commit():提交当前事务。做出某些更改后确保已经进行了提交,这样才可以将这些修改真正地保存到database中

?rollback()回滚上一次调用 commit()以来对数据库所做的更改

?cursor():创建游标。系统为用户开通的一个数据缓冲区,用于存放SQL语句执行结果。cursor游标是有状态的,它可以记录当前已经取到结果的第几个记录了,因此,一般你只可以遍历结果集一次。在上面的情况下,如果执行fetchone()会返回为空。这一点在测试时需要注意

游标对象:

?Execute()执行一个数据库查询或命令。 execute执行sql语句之后运行的结果不会直接output出来,而是放到了一个缓存区,要用 fetch语句+print可以查询sql运行的结果

?fetchone()得到结果集的下一行

?fetchmany(size)得到结果集的下几行

?fetchall()返回结果集中剩下的所有行

?rowcount返回影响的行数

?Close()关闭游标对象

3.4Python DB--API的工作原理及流程:

如图所示如果把python和数据库比作两个不同的地点, connection就是路,能连接python和database。cursor就像在路上行驶的小货车,可以用于执行sql语句,以及存储sql运行的结果。

流程:

4.MS SQL Server示例:

4.1导入模块、创建连接:

4.2创建游标:游标创建之后就可以对数据库进行查询更改了!

4.3对数据进行操作(创建表、插入行、更新数据、增加列、删除行、列、表):

4.4查询获取行:

5.其他:

使用游标的时候要注意,每次连接只能有一个游标查询处于活跃状态。 code演示:

execute()循环和 executemany()插入100000条数据测速:

详解Python如何读取MySQL数据库表数据

这篇文章主要为大家详解Python如何读取MySQL数据库表数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Python读取MySQL数据库表数据的具体代码,供大家参考,具体内容如下

环境:Python 3.6,Window 64bit

目的:从MySQL数据库读取目标表数据,并处理

代码:

#-*- coding: utf-8-*-

import pandas as pd

import pymysql

##加上字符集参数,防止中文乱码

dbconn=pymysql.connect(

host="**********",

database="kimbo",

user="kimbo_test",

password="******",

port=3306,

charset='utf8'

)

#sql语句

sqlcmd="select col_name,col_type,col_desc from itf_datadic_dtl_d limit 10"

#利用pandas模块导入mysql数据

a=pd.read_sql(sqlcmd,dbconn)

#取前5行数据

b=a.head()

print(b)

#读取csv数据

# pd.read_csv()

#读取excel数据

#pd.read_excel()

#读取txt数据

#pd.read_table()结果如图:

python怎么读取数据库

使用python读取MS-SQL中的数据,这里使用到模板pymssql。

因为不是python自带的模板,所以首先需要使用pip安装,对应命令:pip install pymssql

建立main.py文件,输入代码如下:

import pymssql,os

server="127.0.0.1"#服务器IP或服务器名称

user="sa"#登陆数据库所用账号

password="password"#该账号密码

conn=pymssql.connect(server,user,password,database='master')

cursor=conn.cursor()

cursor.execute("select name from sys.databases")#向数据库发送SQL命令

row=cursor.fetchone()

while row:

print row[0]

row=cursor.fetchone()

conn.close()通过循环命令,逐条显示获取到的结果。

点击运行,执行该程序,能够正常返回SQL命令的查询结果。

下面使用SQL语言的中插入命令,将之前的代码中操作的数据库由"master"变为"test",cursor.execute后跟的查询命令改为一条insert格式的插入命令:

import pymssql

server="127.0.0.1"#服务器IP或服务器名称

user="sa"#登陆数据库所用账号

password="password"#该账号密码

conn=pymssql.connect(server,user,password,database='test')

cursor=conn.cursor()

cursor.execute("insert into dbo.test([NO.],Name,Address) values('003','张三','郑州')")执行命令后,数据库中并没有被插入数据。这是因为在执行update、insert和delete命令时,需要增加一条conn.commit()命令,才能够让数据库执行该语句。

import pymssql

server="127.0.0.1"#服务器IP或服务器名称

user="sa"#登陆数据库所用账号

password="password"#该账号密码

conn=pymssql.connect(server,user,password,database='test')

cursor=conn.cursor()

cursor.execute("insert into dbo.test([NO.],Name,Address) values('003','张三','郑州')")

conn.commit()

conn.close()特别需要注意的是,pymssql无法打开中文命名的数据库,所以使用pymsslq和数据库进行交互的时候,访问的数据库一定要是英文命名的数据库。

使用py2exe或pyinstaller打包写好的python程序,需要在程序开头增加 import decimal,导入decimal模板,否则运行会报错。

更多Python相关技术文章,请访问Python教程栏目进行学习!

文章分享结束,python读取数据库和python怎么读取数据库的答案你都知道了吗?欢迎再次光临本站哦!

服务器炸了?服务器炸了是为什么 简介服务器炸了是为什么ftp服务器工具,常用的ftp服务器软件有哪些