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实现汉诺塔递归算法经典案例
Mar 01 Python
python subprocess 杀掉全部派生的子进程方法
Jan 16 Python
使用Pyinstaller的最新踩坑实战记录
Nov 08 Python
Python实现的FTP通信客户端与服务器端功能示例
Mar 28 Python
Python基于opencv的图像压缩算法实例分析
May 03 Python
python爬取哈尔滨天气信息
Jul 14 Python
python自动化实现登录获取图片验证码功能
Nov 20 Python
Python while true实现爬虫定时任务
Jun 08 Python
使用matplotlib的pyplot模块绘图的实现示例
Jul 12 Python
python爬虫selenium模块详解
Mar 30 Python
pandas取dataframe特定行列的实现方法
May 24 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
PHP计划任务之关闭浏览器后仍然继续执行的函数
2010/07/22 PHP
php inc文件使用的风险和注意事项
2013/11/12 PHP
php图像处理类实例
2015/07/28 PHP
我整理的PHP 7.0主要新特性
2016/01/07 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
学习ExtJS Column布局
2009/10/08 Javascript
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
2010/06/30 Javascript
HTML Color Picker(js拾色器效果)
2013/08/27 Javascript
技术男用来对妹子表白的百度首页
2014/07/23 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
使用travis-ci如何持续部署node.js应用详解
2017/07/30 Javascript
mpvue 如何使用腾讯视频插件的方法
2018/07/16 Javascript
es6基础学习之解构赋值
2018/12/10 Javascript
nodejs基础之buffer缓冲区用法分析
2018/12/26 NodeJs
react+redux仿微信聊天界面
2019/06/21 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
2019/10/15 Javascript
解决vue初始化项目时,一直卡在Project description上的问题
2019/10/31 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
vant中的toast轻提示实现代码
2020/11/04 Javascript
Python的迭代器和生成器使用实例
2015/01/14 Python
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
asyncio 的 coroutine对象 与 Future对象使用指南
2016/09/11 Python
python3 遍历删除特定后缀名文件的方法
2018/04/23 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
2021/01/06 Python
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
送给他或她的礼物:FUN.com
2018/08/17 全球购物
如何用JQuery进行表单验证
2013/05/29 面试题
酒店管理求职信
2014/06/09 职场文书
2014年行政助理工作总结
2014/11/19 职场文书
家长反馈意见及建议
2015/06/03 职场文书
网吧员工管理制度
2015/08/05 职场文书
工作服管理制度范本
2015/08/06 职场文书
2019年度政务公开考核工作总结模板
2019/11/11 职场文书