Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python连接mysql数据库

python连接mysql数据库

作者头像
wo.
发布于 2021-06-15 03:00:00
发布于 2021-06-15 03:00:00
15.2K00
代码可运行
举报
文章被收录于专栏:了不得的专栏了不得的专栏
运行总次数:0
代码可运行

1、MySQL-python (MySQLdb) MySQL-python 又叫 MySQLdb,是 Python 连接 MySQL 最流行的一个驱动,很多框架都也是基于此库进行开发,遗憾的是它只支持 Python2.x,而且安装的时候有很多前置条件,因为它是基于C开发的库,在 Windows 平台安装非常不友好,经常出现失败的情况,现在基本不推荐使用,取代的是它的衍生版本。

2、PyMySQL PyMySQL 是纯 Python 实现的驱动,效率上比不上 MySQLdb,最大的特点可能就是它的安装方式没那么繁琐,同时也兼容 MySQL-python

3、mysqlclient 由于 MySQL-python 年久失修,后来出现了它的 Fork 版本 mysqlclient,完全兼容 MySQLdb,同时支持 Python3.x,是 Django ORM的依赖工具,如果你想使用原生 SQL 来操作数据库,那么推荐此驱动。

综上,选择 mysqlclient 来连接

安装mysqlclient

Windows下安装

在win7-64bit的环境下会有错误:unable to find vcvarsall.bat 直接使用pip install 安装失败

1、需要先下载wheel安装包 地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 根据对应的python版本下载安装包

在whl文件目录下安装wheel包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#cmd
Pip instal xxxxxxx.whl 

2、安装mysqlclient

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#cmd
pip install mysqlclient

Linux下安装

1、在CentOS系统下使用pip安装mysqlclient库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Python 3
pip3 install mysqlclient

2、如果有报错就需要安装依赖:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install python-devel mysql-devel

在python中简单的使用

1、连接数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
db = MySQLdb.connect('127.0.0.1','root','root','database')

#或者
db = MySQLdb.connect(host='127.0.0.1',port='3307',user='root',passwd='root',db='database')

#一般来说,在代码中放置密码并不是一个好主意。可以从 ~/.my.cnf (UNIX-like systems) 获取用户名和密码以及其他参数
db = MySQLdb.connect(host='127.0.0.1',db = 'database', read_default_file='~/.my.cnf')

2、要执行查询,首先需要一个游标,然后您可以对其执行查询

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 使用cursor()方法获取操作游标
cursor = db.cursor()

3、查询

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# SQL语句
cid = 1000
sql_sel = 'select * from test_table WHERE id = %s'

# 执行sql语句 .execute()
cursor.execute(sql_sel,(cid,))

# 返回值 .fetchone() 返回单元组类型
cursor.fetchone()
(1,2,3...)

4、如果您想要更多行,可以使用 .fetchmany(n).fetchall().fetchmany(n)n是可选的,默认为 c.arraysize ,通常为1. 这两个方法都返回一系列行,如果没有更多行,则返回一个空序列。 如果使用奇怪的游标类,则行本身可能不是元组。

请注意,与上面相反, 当没有更多行要提取时 c.fetchone() 返回 None

5、很可能使用的唯一其他方法是必须执行多行插入时

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
c.executemany(
'''INSERT INTO breakfast (name, spam, eggs, sausage, price)
      VALUES (%s, %s, %s, %s, %s)''',
      [
      ("Spam and Sausage Lover's Plate", 5, 1, 8, 7.95 ),
      ("Not So Much Spam Plate", 3, 2, 0, 3.95 ),
      ("Don't Wany ANY SPAM! Plate", 0, 4, 3, 5.95 )
      ] )

完整示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# coding=utf-8
import MySQLdb

# 打开数据库连接
db = MySQLdb.connect(host='127.0.0.1',user='root',passwd='root',db='test_db')
# 使用cursor()方法获取操作游标
cursor = db.cursor()

# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")


# SQL语句
cid = '1000'
sql_ins = 'INSERT INTO test_table VALUES (%s,%s)'
sql_del = 'DELETE FROM test_table WHERE id = %s '
sql_upd = 'UPDATE test_table SET dd = %s WHERE dd > %s'
sql_sel = 'select * from test_table WHERE id = %s'

try:
    # 执行sql语句,增
    cursor.execute(sql_ins,(cid,cid))

    # 执行sql语句,删
    cursor.execute(sql_del,(cid,))

    # 执行sql语句,改
    cursor.execute(sql_upd,(cid,cid))

    # 执行sql语句,查
    cursor.execute(sql_sel,(cid,))
    data = cursor.fetchall()

    # 提交到数据库执行
    db.commit()
except:
    # 发生错误时回滚
    db.rollback()

# 关闭数据库连接
db.close()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
干货!python与MySQL数据库的交互实战
如果你想要使用python操作MySQL数据库,就必须先要安装pymysql库,这个
朱小五
2020/01/16
2K0
干货!python与MySQL数据库的交互实战
Django学习-第六讲(上):Django数据库原生的方法操作
我们使用Django来操作MySQL,实际上底层还是通过Python来操作的。因此我们想要用Django来操作MySQL,首先还是需要安装一个驱动程序。在Python3中,驱动程序有多种选择。比如有pymysql以及mysqlclient等。这里我们就使用mysqlclient来操作。mysqlclient安装非常简单。只需要通过 pip install mysqlclient 即可安装。如果安装失败,我们可以到 离线的python库的网站中找到我们需要的相对应的版本,下载下来,然后再pip安装。
小海怪的互联网
2019/10/08
8880
Python: 操作MySQL数据库
Python操作MySQL数据库 前几天数据库课程的一个小project,需要接入MySQL数据库,导入数据,写了个脚本,做简单的CRUD操作,用Python实现,简单地记录一下。 依赖 可以用MySQL-python来连MySQL,安装很简单,pip install MySQL-python,然后在脚本里引入import MySQLdb即可。有不止一个库实现类似的功能,API大同小异。 连接 首先要做的是链接数据库,当然要确保你MySQL Server是安装运行的,用homebrew安装的话brew in
用户2183996
2018/06/21
2.3K0
Python操作mysql数据库(封装基
1、安装MySQL-python-1.2.3.win-amd64-py2.7.exe,这是操作mysql数据库的python库,有32位和64位之分,看自机器下载
py3study
2020/01/08
1.4K0
Python 进阶(四):数据库操作之 MySQL
MySQL 是目前使用最广泛的数据库之一,它有着良好的性能,能够跨平台,支持分布式,能够承受高并发。如果还没有安装 MySQL,下载地址:https://dev.mysql.com/downloads/mysql/5.7.html,安装参考:https://jingyan.baidu.com/article/fc07f989b298ca12ffe519b6.html。
Python小二
2020/08/18
1.1K0
python学习-使用MySQLdb操作
MySQLdb是用于Python连接mysql数据库的接口,它实现了Python数据库api规范2.0。
py3study
2020/01/15
5860
第十三章 Python数据库编程
本章节讲解Python操作数据库,完成简单的增删改查工作,以MySQL数据库为例。
py3study
2020/01/06
3870
Python mysql
  要想使python可以操作mysql 就需要MySQL-python驱动,它是python 操作mysql必不可少的模块。下载地址:https://pypi.python.org/pypi/MySQL-python/,可以根据不同的平台下载不同的版本。这里以Windows平台为例,资源地址是:https://pypi.python.org/packages/27/06/596ae3afeefc0cda5840036c42920222cb8136c101ec0f453f2e36df12a0/MySQL-python-1.2.5.win32-py2.7.exe#md5=6f43f42516ea26e79cfb100af69a925e;Linux平台需下载源码zip包,下载MySQL-python-1.2.5.zip 文件之后直接解压。进入MySQL-python-1.2.5目录:
py3study
2020/01/10
9880
Python操作mysql数据库知识大全
Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。
Python知识大全
2020/02/13
8960
Python 对mysql数据库的操作
callproc(self,procname,args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数
py3study
2020/01/13
1.2K0
python链接mysql数据库
虽然有orm这种方式去操作数据库。 但是大佬们喜欢用第三方库再封装成新的类似orm的模块 以下是整理的MySQLdb的一些常用代码和方法,大家没事看一眼记住一个就没白看 import MySQLdb conn = MySQLdb.connect(host=”localhost”,user=”root”,passwd=”“,db=”mytest”,charset=”utf8”) cursor = conn.cursor() sql=”select * from xxx where xx=%s” :设置要上传的
我去热饭
2022/05/18
1.9K0
Python 连接mysql数据库进行操
1.MySQLdb 模块是用于Python链接Mysql数据库的接口,默认是没有安装的
py3study
2020/01/15
1K0
python操作mysql数据库
如果之前没有使用过python操作mysql数据库,需要先导入库 打开PyCharm,在下方找到Terminal,输入pip install mysqlclient即可,我已经安装完成了,所以提示的不一样,安装成功就可以。
小王不头秃
2024/06/19
6010
python操作mysql数据库
python对mysql数据库的操作(一)
本文章介绍python对mysql数据库的基本操作,以及编写一个模拟用户的注册。在自动化测试中,某些人认为是没有必要操作数据库的,理由是大多数的自动化测试都是UI的,非接口的自动化测试,其实,在一个项目的自动化测试中,这种定义很模糊,或者说很不明确,比如在自动化测试中,怎么来验证用户登录成功,用户注册成功?先来说登录,用户登录成功后,验证点首先是用户的昵称,再有么?是的,有,必须得验证url,这是一个完整的测试用例,再来说注册,注册成功后,验证点再我看来,一是到数据库查看,用户注册的信息是否insert到对应了表了,满足一的基础上,再验证注册的用户可不可以登录。所以说,在自动化测试中,对数据库的操作,具体看得场景,业务,具体问题得具体分析。
无涯WuYa
2018/10/25
1.2K0
python对mysql数据库的操作(一)
Pycharm开发Django项目操作MySQL数据库
在操作数据库之前,首先先要连接数据库。这里我们以配置MySQL为例来讲解。Django连接数据库,不需要单独的创建一个连接对象。只需要在settings.py文件中做好数据库相关的配置就可以了。示例代码如下:
用户2200417
2022/01/20
1.1K0
python MySQLdb安装和使用
MySQLdb是Python连接MySQL的模块,下面介绍一下源码方式安装MySQLdb:
py3study
2020/01/14
2.7K0
python 操作MySQL数据库
输出:连接成功: <pymysql.connections.Connection object at 0x00000205AC8E96D0>
Michael阿明
2022/01/07
3.2K0
python 操作MySQL数据库
python操作数据库
下载地址:https://pypi.python.org/pypi/MySQL-python/1.2.5 安装到系统即可。
保持热爱奔赴山海
2019/09/18
5710
python关于Mysql操作
下载地址:http://dev.mysql.com/downloads/mysql/
py3study
2020/01/13
5790
python mysql模块
    多次使用python操作mysql数据库,先与大家分享一下,关于如何使用python操作mysql数据库。mysql并不是python自带的模块,因此需要下载安装。(在windows平台下介绍该使用过程)
py3study
2020/01/07
1.3K0
相关推荐
干货!python与MySQL数据库的交互实战
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验