详解Python连接MySQL数据库的多种方式


Posted in Python onApril 16, 2019

上篇文章分享了windows下载mysql5.7压缩包配置安装mysql

后续可以选择

①在本地创建一个数据库,使用navicat工具导出远程测试服务器的数据库至本地,用于学习操作,且不影响测试服务器的数据

②连接测试服务器的数据库账号和密码,在测试服务器上操作,内部测试服务器的数据库账号和密码在分配时会给不同账号做权限限制,如不同账号允许登录的方式、开放的数据库范围、账号可读写操作的权限都会不一样,若出现一直使用代码登录不上远程数据库服务器,应检查下账号是否具有权限,可询问负责管理测试服务器数据库管理员。(本人亲测不同账号相同代码,一个能操作成功一个报错连接不上数据库;另,在navicat工具或pycharm ide内配置可视化数据库时账号登录需要使用ssh通道认证,相同的账号用python代码连接却完全不需要ssh远程连接的代码,提供账号和密码就能登录成功。数据库权限限制相关的着实深!)

本次代码实现连接远程服务器

由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器。

目前,MySQL驱动有几种:

mysql-connector-python:是MySQL官方的纯Python驱动;

MySQL-python:是封装了MySQL C驱动的Python驱动。

安装MySQL驱动:

pip install mysql-connector-python

测试是否安装成功,测试python下是否可成功导入mysql.connector即可(import mysql.connector)

pip install MySQL-python (不支持python3)

测试是否安装成功,测试python下是否可成功导入MySQLdb即可(import MySQLdb)

pip install mysqlclient (mysqlclient 完全兼容MySQLdb,同时支持python3)

测试是否安装成功,测试python下是否可成功导入MySQLdb即可(import MySQLdb)

pip install PyMySQL

测试是否安装成功,测试python下是否可成功导入pymysql即可(import pymysql)

python连接MySQL数据库的多种方式(方式一)

# 方式一:
import mysql.connector
 
# 打开数据库连接
db = mysql.connector.connect(host='*.*.*.*',
        port=3306,
        user='*',  # 数据库IP、用户名和密码
        passwd='*',
        charset = 'utf8')  
 
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
 
# 使用 execute() 方法执行 SQL 查询
cursor.execute("show databases;")
cursor.execute("use database_name;")
cursor.execute("show tables;")
 
# 使用 fetchone() 方法获取单条数据;使用 fetchall() 方法获取所有数据
data = cursor.fetchall()
 
for item in data:
  print(item[0])
 
# 关闭数据库连接
db.close()

python连接MySQL数据库的多种方式(方式二)

# 方式二:
import MySQLdb
 
# 打开数据库连接
conn = MySQLdb.connect(host='*.*.*.*',
      port=3306,
      user='*',
      passwd='*',
      charset = 'utf8'
      )
      
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = conn.cursor()
 
# 使用 execute() 方法执行 SQL 查询
cursor.execute("show databases;")
cursor.execute("use database_name;")
cursor.execute("show tables;")
cursor.execute("select * from tables_name")
 
# 使用 fetchone() 方法获取单条数据;使用 fetchall() 方法获取所有数据
data = cursor.fetchall()
for item in data:
 print(item)
 
# 关闭数据库连接
cursor.close()

python连接MySQL数据库的多种方式(方式三)

# 方式三:
import pymysql
 
# 打开数据库连接
conn = pymysql.connect(host='*.*.*.*',
      port=3306,
      user='*',
      passwd='*',
      charset = 'utf8'
      )
    
# 使用 cursor() 方法创建一个游标对象 cursor      
cursor = conn.cursor()
 
# 使用 execute() 方法执行 SQL 查询
cursor.execute("show databases;")
cursor.execute("use database_name;")
cursor.execute("show tables;")
cursor.execute("select * from tables_name")
 
# 使用 fetchone() 方法获取单条数据;使用 fetchall() 方法获取所有数据
data = cursor.fetchall()
for item in data:
 print(item[0])
  
# 关闭数据库连接
cursor.close()

以上所述是小编给大家介绍的Python连接MySQL数据库方式详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
对pytorch网络层结构的数组化详解
Dec 08 Python
Python数据分析模块pandas用法详解
Sep 04 Python
Python pickle模块实现对象序列化
Nov 22 Python
PyCharm 2020 激活到 2100 年的教程
Mar 25 Python
Python使用sqlite3模块内置数据库
May 07 Python
django 利用Q对象与F对象进行查询的实现
May 15 Python
keras中模型训练class_weight,sample_weight区别说明
May 23 Python
python def 定义函数,调用函数方式
Jun 02 Python
matplotlib 画双轴子图无法显示x轴的解决方法
Jul 27 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
Jan 09 Python
python 逆向爬虫正确调用 JAR 加密逻辑
Jan 12 Python
python如何进行基准测试
Apr 26 Python
详解Python学习之安装pandas
Apr 16 #Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
Apr 16 #Python
python接口自动化(十六)--参数关联接口后传(详解)
Apr 16 #Python
Python实现连接MySql数据库及增删改查操作详解
Apr 16 #Python
Python3.6实现带有简单界面的有道翻译小程序
Apr 16 #Python
python实现扫描局域网指定网段ip的方法
Apr 16 #Python
python实现扫描ip地址的小程序
Apr 16 #Python
You might like
一个连接两个不同MYSQL数据库的PHP程序
2006/10/09 PHP
php下删除一篇文章生成的多个静态页面
2010/08/08 PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
php中instanceof 与 is_a()区别分析
2015/03/03 PHP
PHP中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
php批量删除操作(数据访问)
2017/05/23 PHP
php实现 master-worker 守护多进程模式的实例代码
2019/07/20 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
js控制分页打印、打印分页示例
2014/02/08 Javascript
JSONP跨域的原理解析及其实现介绍
2014/03/22 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
值得分享和收藏的xmlplus组件学习教程
2017/05/05 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
[17:00]DOTA2 HEROS教学视频教你分分钟做大人-帕克
2014/06/10 DOTA
[08:06]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant 选手采访
2021/03/11 DOTA
pandas全表查询定位某个值所在行列的方法
2018/04/12 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
python实现人民币大写转换
2018/06/20 Python
Python根据当前日期取去年同星期日期
2019/04/14 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
2019/08/08 Python
python3 实现的对象与json相互转换操作示例
2019/08/17 Python
DC Shoes官网:美国滑板鞋和服饰品牌
2017/09/03 全球购物
FILA德国官方网站:来自意大利的体育和街头服饰品牌
2019/07/19 全球购物
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
护理专业本科生自荐信
2013/10/01 职场文书
网游商务专员求职信
2013/10/15 职场文书
后勤工作职责
2013/12/22 职场文书
党支部三严三实对照检查材料思想汇报
2014/09/29 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
师德标兵事迹材料
2014/12/19 职场文书
读《教育心理学》心得体会
2016/01/22 职场文书
关于的python五子棋的算法
2022/05/02 Python