详解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 相关文章推荐
使用python绘制常用的图表
Aug 27 Python
python实现冒泡排序算法的两种方法
Mar 10 Python
Python处理菜单消息操作示例【基于win32ui模块】
May 09 Python
对python抓取需要登录网站数据的方法详解
May 21 Python
python实现换位加密算法的示例
Oct 14 Python
python实现关闭第三方窗口的方法
Jun 28 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
Oct 06 Python
python获取栅格点和面值的实现
Mar 10 Python
详解pandas.DataFrame.plot() 画图函数
Jun 14 Python
keras 实现轻量级网络ShuffleNet教程
Jun 19 Python
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
Jun 09 Python
68行Python代码实现带难度升级的贪吃蛇
Jan 18 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
IP攻击升级,程序改进以对付新的攻击
2010/11/23 PHP
改写ThinkPHP的U方法使其路由下分页正常
2014/07/02 PHP
php中的curl_multi系列函数使用例子
2014/07/29 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
php调用自己java程序的方法详解
2016/05/13 PHP
教你在header中隐藏php的版本信息
2016/08/10 PHP
细品javascript 寻址,闭包,对象模型和相关问题
2009/04/27 Javascript
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
jQuery中绑定事件的命名空间详解
2011/04/05 Javascript
jQuery中empty()方法用法实例
2015/01/16 Javascript
轻量级的原生js日历插件calendar.js使用指南
2015/04/28 Javascript
跟我学习javascript的this关键字
2020/05/28 Javascript
Vue.js组件通信的几种姿势
2017/10/23 Javascript
Angular实现模版驱动表单的自定义校验功能(密码确认为例)
2018/05/17 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
Python中的文件和目录操作实现代码
2011/03/13 Python
python二分法实现实例
2013/11/21 Python
Python实现的双色球生成功能示例
2017/12/18 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
Python走楼梯问题解决方法示例
2018/07/25 Python
利用Python将文本中的中英文分离方法
2018/10/31 Python
PyCharm鼠标右键不显示Run unittest的解决方法
2018/11/30 Python
python检测IP地址变化并触发事件
2018/12/26 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
Django 路由层URLconf的实现
2019/12/30 Python
pyqt5 QlistView列表显示的实现示例
2020/03/24 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
伦敦高达60%折扣的钻石珠宝商:Purely Diamonds
2018/06/24 全球购物
介绍一下JMS编程步骤
2015/09/22 面试题
诉讼财产保全担保书
2014/05/20 职场文书
2014年最新离婚协议书范本
2014/10/11 职场文书
教师个人培训总结
2015/02/11 职场文书
2015年安全教育月活动总结
2015/03/26 职场文书
2016教师节感恩话语
2015/12/09 职场文书