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删除java文件头上版权信息的方法
Jul 31 Python
Python获取Linux系统下的本机IP地址代码分享
Nov 07 Python
Python 的内置字符串方法小结
Mar 15 Python
python使用mysql数据库示例代码
May 21 Python
python 环境变量和import模块导入方法(详解)
Jul 11 Python
python 循环读取txt文档 并转换成csv的方法
Oct 26 Python
python 自动重连wifi windows的方法
Dec 18 Python
Python中的枚举类型示例介绍
Jan 09 Python
linux环境下Django的安装配置详解
Jul 22 Python
解决jupyter运行pyqt代码内核重启的问题
Apr 16 Python
python使用Word2Vec进行情感分析解析
Jul 31 Python
python tkinter Entry控件的焦点移动操作
May 22 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上传大文件设置方法
2016/04/14 PHP
PHP中字符与字节的区别及字符串与字节转换示例
2016/10/15 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
2017/02/08 PHP
PHP聊天室简单实现方法详解
2018/12/08 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
javascript Math.random()随机数函数
2009/11/04 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
2013/01/15 Javascript
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
angularjs 处理多个异步请求方法汇总
2015/01/06 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
一波JavaScript日期判断脚本分享
2016/03/06 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
vuex分模块后,实现获取state的值
2020/07/26 Javascript
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
[00:48]食人魔魔法师至宝“金鹏之幸”全新模型和自定义特效展示
2019/12/19 DOTA
基于python时间处理方法(详解)
2017/08/14 Python
Python3 模块、包调用&路径详解
2017/10/25 Python
Python中请不要再用re.compile了
2019/06/30 Python
Python with用法:自动关闭文件进程
2019/07/10 Python
python实现银行管理系统
2019/10/25 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
解决python图像处理图像赋值后变为白色的问题
2020/06/04 Python
web页面录屏实现
2019/02/12 HTML / CSS
浅析HTML5中的download属性使用
2019/03/13 HTML / CSS
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
高级护理专业毕业生推荐信
2013/12/25 职场文书
拾金不昧锦旗标语
2014/06/27 职场文书
临时租车协议范本
2014/09/23 职场文书
人事局接收函
2015/01/31 职场文书
堂吉诃德读书笔记
2015/06/30 职场文书
餐厅服务员管理制度
2015/08/05 职场文书
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
2021/04/24 Python
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL