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 相关文章推荐
Python实现抓取网页并且解析的实例
Sep 20 Python
玩转python爬虫之正则表达式
Feb 17 Python
python登录并爬取淘宝信息代码示例
Dec 09 Python
Python:Scrapy框架中Item Pipeline组件使用详解
Dec 27 Python
使用Python实现windows下的抓包与解析
Jan 15 Python
django 解决manage.py migrate无效的问题
May 27 Python
详解基于django实现的webssh简单例子
Jul 17 Python
Linux 修改Python命令的方法示例
Dec 03 Python
对python mayavi三维绘图的实现详解
Jan 08 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
Aug 09 Python
关于pymysql模块的使用以及代码详解
Sep 01 Python
使用tensorboard可视化loss和acc的实例
Jan 21 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
一个oracle+PHP的查询的例子
2006/10/09 PHP
支持oicq头像的留言簿(一)
2006/10/09 PHP
PHP 执行系统外部命令 system() exec() passthru()
2009/08/11 PHP
discuz程序的PHP加密函数原理分析
2011/08/05 PHP
一段实用的php验证码函数
2016/05/19 PHP
js获取元素在浏览器中的绝对位置
2010/07/24 Javascript
js onkeypress与onkeydown 事件区别详细说明
2012/12/13 Javascript
DOM节点的替换或修改函数replaceChild()用法实例
2015/01/12 Javascript
javascript常用功能汇总
2015/07/05 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
mpvue项目中使用第三方UI组件库的方法
2018/09/30 Javascript
vue基于两个计算属性实现选中和全选功能示例
2019/02/08 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
2019/02/14 jQuery
详解js获取video任意时间的画面截图
2019/04/17 Javascript
jQuery操作cookie的示例代码
2019/06/05 jQuery
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
layui实现数据表格自定义数据项
2019/10/26 Javascript
JavaScript如何操作css
2020/10/24 Javascript
[05:59]2018DOTA2国际邀请赛寻真——只为胜利的Secret
2018/08/13 DOTA
python分块读取大数据,避免内存不足的方法
2018/12/10 Python
对python xlrd读取datetime类型数据的方法详解
2018/12/26 Python
对python列表里的字典元素去重方法详解
2019/01/21 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
Python截图并保存的具体实例
2021/01/14 Python
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
品牌服务方案
2014/06/03 职场文书
党支部对照检查材料
2014/08/25 职场文书
服务员态度差检讨书
2014/10/28 职场文书
班级管理经验交流材料
2015/11/02 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书