Ⅰ python如何做一个数据库
Mysqldb.connect是python 连接MySQL数据库的方法,在Python中 import MySQLdb即可使用,至于connect中的参数很简单: host:MySQL服务器名 user:数据库使用者 password:用
Ⅱ Python的数据 库能做什么,怎么用的
你可以访问Python数据库接口及API查看详细的支持数据库列表。不同的数据库你需要下载不同的DB API模块,例如你需要访问Oracle数据库和Mysql数据,你需要下载Oracle和MySQL数据库模块。
DB-API 是一个规范. 它定义了一系列必须的对象和数据库存取方式, 以便为各种各样的底层数据库系统和多种多样的数据库接口程序提供一致的访问接口 。
Python的DB-API,为大多数的数据库实现了接口,使用它连接各数据库后,就可以用相同的方式操作各数据库。
Python DB-API使用流程:
引入 API 模块。
获取与数据库的连接。
执行SQL语句和存储过程。
关闭数据库连接。
什么是MySQLdb?
MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。
如何安装MySQLdb?
为了用DB-API编写MySQL脚本,必须确保已经安装了MySQL。复制以下代码,并执行:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
如果执行后的输出结果如下所示,意味着你没有安装 MySQLdb 模块:
Traceback (most recent call last):
File "test.py", line 3, in <mole>
import MySQLdb
ImportError: No mole named MySQLdb
Ⅲ python如何访问数据库
1.背景:
python提供了很多数据库接口, 常用的数据库有 MS SQL Server /mysql /oracle 等。
打开链接 https://wiki.python.org/moin/DatabaseInterfaces
是python 关于数据库接口的一个总结 , 可以看到python支持的访问的数据库系统。
2.模块:
python 主要是通过模块和数据库连接的。
2.1 安装模块:
如果使用anconda,本身就会集合很多模块,不需要手动安装。如果用pycharm就要手动安装模块。
安装模块流程:
下载模块扩展包放到路径下——>cmd找到相应路径——> pip install +扩展包名字
下面列举一些常用连接数据库的模块:pymssql / sqlite3/ PyMySQL/pyodbc/odbc/adodbapi
不同模块连接的数据库不同, 支持的版本系统有的也不一样。但是大体用法都是相近的, 因为有DB-API
相关推荐:《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常用的数据库有哪些
主流的关系型数据库:
1. MySQL:目前使用最广泛的开源、多平台的关系型数据库,支持事务、符合ACID、支持多数SQL规范。
2. SQL Server:支持事务、符合ACID、支持多数SQL规范,属于商业软件,需要注意版权和licence授权费用。
3. Oracle:支持事务,符合关系型数据库原理,符合ACID,支持多数SQL规范,功能最强大、最复杂、市场占比最高的商业数据库。
4. Postgresql:开源、多平台、关系型数据库,功能最强大的开源数据库,需要Python环境,基于postgresql的time
scaleDB,是目前比较火的时序数据库之一。
非关系型数据库
Redis:开源、Linux平台、key-value键值型nosql数据库,简单稳定,非常主流的、全数据in-momory,定位于快的键值型nosql数据库。
Memcaced:一个开源的、高性能的、具有分布式内存对象的缓存系统,通过它可以减轻数据库负载,加速动态的web应用。
面向文档数据库以文档的形式存储,每个文档是一系列数据项的集合,每个数据项有名称与对应的值,主要产品有:
MongoDB:开源、多平台、文档型nosql数据库,最像关系型数据库,定位于灵活的nosql数据库。适用于网站后台数据库、小文件系统、日志分析系统。
Ⅳ python如何使用数据库
你可以访问Python数据库接口及API查看详细的支持数据库列表。不同的数据库你需要下载不同的DB API模块,例如你需要访问Oracle数据库和Mysql数据,你需要下载Oracle和MySQL数据库模块。
DB-API 是一个规范. 它定义了一系列必须的对象和数据库存取方式, 以便为各种各样的底层数据库系统和多种多样的数据库接口程序提供一致的访问接口 。
Python的DB-API,为大多数的数据库实现了接口,使用它连接各数据库后,就可以用相同的方式操作各数据库。
Ⅵ python 怎么显示数据库数据
首先你要知道如何在视图里渲染模板,另外得要看你用的是什么数据库,以及你是否使用django的orm。
拿mysql为例,如果你只需要从现有数据库中查询数据并显示,那么使用MySQLdb模块即可,查询出来的数据和模板进行渲染,之后返回渲染后的模板对象即可。
Ⅶ python使用数据库
增加一条数据
importpymysql
#返回Connection对象
#host="localhost"
con=pymysql.connect(host="192.168.31.28",
port=3306,user="atguigu",
password="atguigu",
db="atguigudb",
charset="utf8")
#返回cursor对象
cursor=con.cursor()
#SQL语言-SQL语句
sql="insertintostudents(name)value('李四')"
#插入数据
cursor.execute(sql)
#提交数据,没有提交就没有数据
con.commit()
#关闭释放资源
cursor.close()
#关闭资源
con.close()
修改数据
importpymysql
#修改任意一条数据
#返回Connection对象
conn=pymysql.connect(
host="192.168.31.28",
db="atguigudb",
port=3306,
user="atguigu",
password="atguigu",
charset="utf8"
)
cursor=conn.cursor()
sql="updatestudentssetname='郭靖'whereid=1"
count=cursor.execute(sql)
print("count=",count)
#提交正常数据物理上修改了
conn.commit()
cursor.close()
conn.close()
删除数据
importpymysql
#修改任意一条数据
#返回Connection对象
conn=pymysql.connect(
host="192.168.31.28",
db="atguigudb",
port=3306,
user="atguigu",
password="atguigu",
charset="utf8"
)
cursor=conn.cursor()
sql="deletefromstudentswhereid=20"
count=cursor.execute(sql)
print("count=",count)
conn.commit()
cursor.close()
conn.close()
查询一条数据
importpymysql
try:
conn=pymysql.connect(
host='192.168.31.28',
port=3306,
db='atguigudb',
user='atguigu',
passwd='atguigu',
charset='utf8'
)
cursor=conn.cursor()
cursor.execute('select*fromstudentswhereid=3')
#返回满足这个条件的这个数据,如果有多条返回第一条,并且封装元组中
result=cursor.fetchone()
print(result)
foriinresult:
print(i)
cursor.close()
conn.close()
exceptExceptionase:
print(e.message)
查询多条数据
importpymysql
try:
conn=pymysql.connect(
host='192.168.31.28',
port=3306,
db='atguigudb',
user='atguigu',
passwd='atguigu',
charset='utf8'
)
cursor=conn.cursor()
cursor.execute('select*fromstudents')
#返回元组,如果多条数据,元组里面嵌套元组
result=cursor.fetchall()
print(result)
foriinresult:
print(i)
conn.commit()
cursor.close()
conn.close()
exceptExceptionase:
print(e.message)
读取mysql数据,填写数据到excel
frompyexcel_xlsimportsave_data
frompyexcel_xlsimportget_data
importmysql.connector
#和数据库建立连接
cnx=mysql.connector.connect(user='root',password='',
host='127.0.0.1',
database='test')
#查询语句
sql="selectmy_name,my_valuefromtbl_members"
#执行查询
cursor.execute(sql)
#获得查询结果
result=cursor.fetchall()
cursor.close()
cnx.close()
#打开预定义表头文件
xls_header=get_data("d:/xh.xls")
#获得表头数据
xh=xls_header.pop("Sheet1")
#拼接整表数据
xd=OrderedDict()
xd.update({"Sheet1":xh+result})
#保存到另一个文件中
save_data("d:/xd.xls",xd)
Ⅷ Python中主要使用哪些数据库
Python中常用的数据库有很多,需要根据不同的业务和应用场景来选择合适的数据库,才能使程序更高效.
一般常用的主要有 MySQL, Redis, MangoDB 等数据库
学习这些数据库,可以看黑马程序员视频库的学习视频,有代码、有资料,有PPT,不了解还可以问老师!
Ⅸ 如何在python中根据数据库中数据画出可视化统计图
如何在python中根据数据库中数据画出可视化统计图
一:数据格式:
2015-04-02
DXX006
Type1
1
2015-04-02
DXXB11
Type2
1
2010-10-12
DXX001
Other
1