详解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使用urllib模块开发的多线程豆瓣小站mp3下载器
Jan 16 Python
web.py在模板中输出美元符号的方法
Aug 26 Python
Django中对通过测试的用户进行限制访问的方法
Jul 23 Python
Python+Wordpress制作小说站
Apr 14 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
pandas 数据实现行间计算的方法
Jun 08 Python
基于python实现简单日历
Jul 28 Python
pandas求两个表格不相交的集合方法
Dec 08 Python
Python代码中如何读取键盘录入的值
May 27 Python
python中常见错误及解决方法
Jun 21 Python
浅析Python 序列化与反序列化
Aug 05 Python
健身房被搭讪?用python写了个小米计时器助人为乐
Jun 08 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
php获取开始与结束日期之间所有日期的方法
2016/11/29 PHP
PHP 文件锁与进程锁的使用示例
2017/08/07 PHP
javascript第一课
2007/02/27 Javascript
javascript 检测浏览器类型和版本的代码
2009/09/15 Javascript
最常用的12种设计模式小结
2011/08/09 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
javascript日期格式化示例分享
2014/03/05 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
JavaScript中的继承方式详解
2015/02/11 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
javascript笛卡尔积算法实现方法
2015/04/08 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
使用coffeescript编写node.js项目的方法汇总
2015/08/05 Javascript
Vue 2.0 服务端渲染入门介绍
2017/03/29 Javascript
JS中正则表达式要注意lastIndex属性
2017/08/08 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
Vue实现商品分类菜单数量提示功能
2019/07/26 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
2019/08/17 Javascript
JS实现简单日历特效
2020/01/03 Javascript
vue简单封装axios插件和接口的统一管理操作示例
2020/02/02 Javascript
Python通过select实现异步IO的方法
2015/06/04 Python
Python 调用Java实例详解
2017/06/02 Python
从CentOS安装完成到生成词云python的实例
2017/12/01 Python
详解Django的model查询操作与查询性能优化
2018/10/16 Python
python实现贪吃蛇游戏
2020/03/21 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
Tensorflow实现神经网络拟合线性回归
2019/07/19 Python
django框架auth模块用法实例详解
2019/12/10 Python
pytorch 状态字典:state_dict使用详解
2020/01/17 Python
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
2014年机关植树节活动方案
2014/02/27 职场文书
运动会口号8字
2014/06/07 职场文书
尊老爱亲美德少年事迹材料
2014/08/14 职场文书
2015年元宵节活动总结
2015/02/06 职场文书
给老婆的检讨书(搞笑版)
2015/05/06 职场文书