Python3.6实现连接mysql或mariadb的方法分析


Posted in Python onMay 18, 2018

本文实例讲述了Python3.6实现连接mysql或mariadb的方法。分享给大家供大家参考,具体如下:

python3.6的安装查看前面一篇文章https://3water.com/article/108938.htm

mysql或mariadb数据库的安装查看以前的相关文章,这里不再赘述

首先在mariadb数据库中创建相应的库和表:

MariaDB [(none)]> create database oracle default character set utf8 default collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
MariaDB [oracle]> create table oracle_indexmonitor( index_name varchar(200) not null, ipaddress varchar(39) not null, tnsname varchar(100) not null, insert_time timestamp default current_timestamp, primary key(index_name) ) engine=InnoDB default charset=utf8; 
Query OK, 0 rows affected (0.01 sec)
MariaDB [oracle]> desc oracle_indexmonitor;
+-------------+--------------+------+-----+-------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+-------------------+-------+
| index_name | varchar(200) | NO | PRI | NULL | |
| ipaddress | varchar(39) | NO | | NULL | |
| tnsname | varchar(100) | NO | | NULL | |
| insert_time | timestamp | NO | | CURRENT_TIMESTAMP | |
+-------------+--------------+------+-----+-------------------+-------+
4 rows in set (0.00 sec)

安装需要用到的模块pymysql:

[root@wadeson Python-3.6.1]# /usr/local/python36/bin/pip3 install PyMysql
Collecting PyMysql
Downloading PyMySQL-0.7.11-py2.py3-none-any.whl (78kB)
100% |¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?¨?| 81kB 87kB/s 
Installing collected packages: PyMysql
Successfully installed PyMysql-0.7.11

检测模块是否安装成功:

[root@wadeson Python-3.6.1]# python
Python 3.6.1 (default, Jul 13 2017, 15:41:38) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymysql
>>> exit()

然后编写py脚本:

[root@wadeson Python-3.6.1]# cd /root/tools/scripts/
[root@wadeson scripts]# vim connectmysql.py
#!/usr/bin/python
#coding=utf8
import pymysql
#连接数据库,host、账号、密码、库
db = pymysql.connect('localhost','root','redhat','oracle')
#创建游标使用的cursor方法
cursor = db.cursor()
#使用execute方法执行sql语句
cursor.execute('select version()')
#使用fetchone方法获取单条数据
data = cursor.fetchone()
print('Database version:%s' % data)
#关闭游标,并关闭数据库
cursor.close()
db.close()
[root@wadeson scripts]# python connectmysql.py 
Database version:5.5.55-MariaDB

note:

Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。

fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
fetchall(): 接收全部的返回结果行.
rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。

note:如果使用以上方法安装报错:ssl模块不可用

那么可以使用编译安装:

wget https://pypi.python.org/packages/f5/d9/976c885396294bb1c4ca3d013fd2046496cde2efbb168e4f41dd12552dd9/PyMySQL-0.7.6.tar.gz#md5=d1353d9ad6e6668c3c463603b12cadb0
tar xf PyMySQL-0.7.6.tar.gz
cd PyMySQL-0.7.6
python setup.py build
python setup.py install

然后验证是否安装成功:

[root@oracle PyMySQL-0.7.6]# python 
Python 3.6.1 (default, Jul 13 2017, 14:31:18) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymysql
>>>

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
精确查找PHP WEBSHELL木马的方法(1)
Apr 12 Python
python遍历文件夹并删除特定格式文件的示例
Mar 05 Python
Python操作MySQL简单实现方法
Jan 26 Python
Django中更新多个对象数据与删除对象的方法
Jul 17 Python
Python文件处理
Feb 29 Python
Python之自动获取公网IP的实例讲解
Oct 01 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
Feb 06 Python
pytorch 实现cross entropy损失函数计算方式
Jan 02 Python
解决python replace函数替换无效问题
Jan 18 Python
如何在python中实现线性回归
Aug 10 Python
python使用布隆过滤器的实现示例
Aug 20 Python
python中类与对象之间的关系详解
Dec 16 Python
对python中使用requests模块参数编码的不同处理方法
May 18 #Python
Python3.6连接Oracle数据库的方法详解
May 18 #Python
python爬虫之模拟登陆csdn的实例代码
May 18 #Python
解决phantomjs截图失败,phantom.exit位置的问题
May 17 #Python
python自动截取需要区域,进行图像识别的方法
May 17 #Python
Python使用Phantomjs截屏网页的方法
May 17 #Python
Python 实现网页自动截图的示例讲解
May 17 #Python
You might like
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
jQuery选择id属性带有点符号元素的方法
2015/03/17 Javascript
javascript实现复选框选中属性
2015/03/25 Javascript
javascript事件委托的方式绑定详解
2015/06/10 Javascript
JS功能代码集锦
2016/05/04 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
bootstrap输入框组件使用方法详解
2017/01/19 Javascript
jQuery表格的维护和删除操作
2017/02/03 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
JavaScript字符串检索字符的方法
2017/06/23 Javascript
JavaScript中附件预览功能实现详解(推荐)
2017/08/15 Javascript
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
echarts统计x轴区间的数值实例代码详解
2019/07/07 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
微信小程序实现滑动翻页效果(完整代码)
2019/12/06 Javascript
vue使用nprogress实现进度条
2019/12/09 Javascript
原生js实现表格翻页和跳转
2020/09/29 Javascript
[01:05]主宰至宝剑心之遗
2017/03/16 DOTA
python 多进程通信模块的简单实现
2014/02/20 Python
python装饰器初探(推荐)
2016/07/21 Python
Python编程实现的简单Web服务器示例
2017/06/22 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
2019/02/13 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
python sqlite的Row对象操作示例
2019/09/11 Python
python列表返回重复数据的下标
2020/02/10 Python
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
Delphi笔试题
2016/11/14 面试题
工商管理专业实习大学生自我鉴定
2013/09/19 职场文书
岗位竞聘演讲稿范文
2014/04/24 职场文书
毕业生见习报告总结
2014/11/08 职场文书
网络舆情信息简报
2015/07/21 职场文书
《鲸》教学反思
2016/02/23 职场文书
廉政党课工作报告案例
2019/06/21 职场文书