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中的列表与位运算符
Oct 12 Python
Python cx_freeze打包工具处理问题思路及解决办法
Feb 13 Python
Python中struct模块对字节流/二进制流的操作教程
Jan 21 Python
Python实现的多线程http压力测试代码
Feb 08 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
Feb 25 Python
Python中的pathlib.Path为什么不继承str详解
Jun 23 Python
基于Python2、Python3中reload()的不同用法介绍
Aug 12 Python
python 命令行传入参数实现解析
Aug 30 Python
Python更换pip源方法过程解析
May 19 Python
Django DRF路由与扩展功能的实现
Jun 03 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
Oct 27 Python
pycharm实现猜数游戏
Dec 07 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+MySQL 制作简单的留言本
2009/11/02 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
2014/06/19 PHP
php简单实现快速排序的方法
2015/04/04 PHP
Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
jQuery 操作XML入门
2008/12/25 Javascript
JS解析XML的实现代码
2009/11/12 Javascript
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
2010/02/07 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
将光标定位于输入框最右侧实现代码
2012/12/04 Javascript
如何使用jQuery Draggable和Droppable实现拖拽功能
2013/07/05 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
2013/11/27 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
2015/10/26 Javascript
JavaScript预解析及相关技巧分析
2016/04/21 Javascript
nodejs中全局变量的实例解析
2017/03/07 NodeJs
AngularJS路由切换实现方法分析
2017/03/17 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
2017/08/16 Javascript
bootstrap fileinput实现文件上传功能
2017/08/23 Javascript
Nodejs连接mysql并实现增、删、改、查操作的方法详解
2018/01/04 NodeJs
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
python中sleep函数用法实例分析
2015/04/29 Python
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
Python Flask基础教程示例代码
2018/02/07 Python
Python实现使用卷积提取图片轮廓功能示例
2018/05/12 Python
详解Python的循环结构知识点
2019/05/20 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
Python try except finally资源回收的实现
2021/01/25 Python
俄罗斯天然和有机产品、健康生活网上商店:Fitomarket.ru
2020/10/09 全球购物
如何理解委托
2012/01/06 面试题
采购主管工作职责
2013/12/12 职场文书
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
评职称个人总结
2015/03/05 职场文书
运动会广播稿20字
2015/08/19 职场文书