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中函数的参数传递
Jun 21 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
Jul 04 Python
python中lambda()的用法
Nov 16 Python
浅谈django model postgres的json字段编码问题
Jan 05 Python
面向初学者的Python编辑器Mu
Oct 08 Python
想学python 这5本书籍你必看!
Dec 11 Python
PyQt4编程之让状态栏显示信息的方法
Jun 18 Python
Python代码生成视频的缩略图的实例讲解
Dec 22 Python
使用Tensorboard工具查看Loss损失率
Feb 15 Python
解决django的template中如果无法引用MEDIA_URL问题
Apr 07 Python
Python爬取网站图片并保存的实现示例
Feb 26 Python
python非标准时间的转换
Jul 25 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
一个odbc连mssql分页的类
2006/10/09 PHP
php抓即时股票信息
2006/10/09 PHP
Ajax+PHP 边学边练 之二 实例
2009/11/24 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
php防止网站被攻击的应急代码
2015/10/21 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
jQuery实现的经典滑动门效果
2015/09/22 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
js日期相关函数dateAdd,dateDiff,dateFormat等介绍
2016/09/24 Javascript
angularjs $http实现form表单提交示例
2017/06/09 Javascript
Vue + Vue-router 同名路由切换数据不更新的方法
2017/11/20 Javascript
vue中使用props传值的方法
2019/05/08 Javascript
[41:37]DOTA2北京网鱼队选拔赛——冲击职业之路
2015/04/13 DOTA
[48:20]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[01:10:03]OG vs EG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
Python SQLite3简介
2018/02/22 Python
解决Django migrate No changes detected 不能创建表的问题
2018/05/27 Python
Django处理文件上传File Uploads的实例
2018/05/28 Python
Django实现学员管理系统
2019/02/26 Python
pytorch 固定部分参数训练的方法
2019/08/17 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
完美解决Django2.0中models下的ForeignKey()问题
2020/05/19 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
Python 如何在字符串中插入变量
2020/08/01 Python
StubHub德国:购买和出售门票
2017/09/06 全球购物
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
记账会计岗位职责
2014/06/16 职场文书
挂职学习心得体会
2014/09/09 职场文书
交警失职检讨书
2015/01/26 职场文书
检讨书范文
2015/01/27 职场文书
前台文员岗位职责
2015/02/04 职场文书
在校学生证明格式
2015/06/24 职场文书
85句关于理想的名言警句大全
2019/08/22 职场文书