详解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创建模块及模块导入的方法
May 27 Python
完美解决Python2操作中文名文件乱码的问题
Jan 04 Python
Python中对象的引用与复制代码示例
Dec 04 Python
python 信息同时输出到控制台与文件的实例讲解
May 11 Python
tensorflow更改变量的值实例
Jul 30 Python
Python使用matplotlib绘制三维图形示例
Aug 25 Python
python面向对象法实现图书管理系统
Apr 19 Python
Django模型修改及数据迁移实现解析
Aug 01 Python
python代码 FTP备份交换机配置脚本实例解析
Aug 01 Python
Django中的cookie和session
Aug 27 Python
python爬取王者荣耀全皮肤的简单实现代码
Jan 31 Python
python实现飞机大战游戏(pygame版)
Oct 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
一台收音机,让一家人都笑逐颜开!
2020/08/21 无线电
php获取$_POST同名参数数组的实现介绍
2013/06/30 PHP
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
Laravel 5.3 学习笔记之 错误&日志
2016/08/28 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
显示、隐藏密码
2006/07/01 Javascript
javascript天然的迭代器
2010/10/29 Javascript
javascript ie6兼容position:fixed实现思路
2013/04/01 Javascript
jquery.mousewheel实现整屏翻屏效果
2015/08/30 Javascript
js控住DOM实现发布微博效果
2016/08/30 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)
2016/12/02 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
JS实现批量上传文件并显示进度功能
2017/06/27 Javascript
详解VUE中v-bind的基本用法
2017/07/13 Javascript
详解JavaScript事件循环机制
2018/09/07 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
JavaScript实现PC端四格密码输入框功能
2020/02/19 Javascript
微信小程序用canvas画图并分享
2020/03/09 Javascript
python开发之基于thread线程搜索本地文件的方法
2015/11/11 Python
python中异常报错处理方法汇总
2016/11/20 Python
Python变量和字符串详解
2017/04/29 Python
PyQt5打开文件对话框QFileDialog实例代码
2018/02/07 Python
python实现学生信息管理系统
2020/04/05 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
2020/03/09 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
2020/06/12 Python
python3.8动态人脸识别的实现示例
2020/09/21 Python
HTML5 使用 sessionStorage 进行页面传值的方法
2018/07/02 HTML / CSS
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
教学实验楼管理制度
2014/02/01 职场文书
股东授权委托书范文
2014/09/13 职场文书
党员干部民主生活会议批评与自我批评材料
2014/09/20 职场文书
餐厅感恩节活动策划方案
2014/10/11 职场文书
简单的个人租房协议书范本
2014/11/26 职场文书
情人节单身感言
2015/08/03 职场文书
使用Canvas绘制一个游戏人物属性图
2022/03/25 Javascript