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实现CET查分的方法
Mar 10 Python
python登录pop3邮件服务器接收邮件的方法
Apr 30 Python
简单了解Python下用于监视文件系统的pyinotify包
Nov 13 Python
Python中使用多进程来实现并行处理的方法小结
Aug 09 Python
使用Python自动化破解自定义字体混淆信息的方法实例
Feb 13 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
Apr 23 Python
python求绝对值的三种方法小结
Dec 04 Python
python使用SQLAlchemy操作MySQL
Jan 02 Python
40个你可能不知道的Python技巧附代码
Jan 29 Python
基于Python爬取爱奇艺资源过程解析
Mar 02 Python
解决Keras中CNN输入维度报错问题
Jun 29 Python
python使用pycharm安装pyqt5以及相关配置
Apr 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一些有意思的小区别
2006/12/06 PHP
Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
2008/10/13 PHP
$_GET['goods_id']+0 的使用详解
2013/06/06 PHP
PHP使用DES进行加密与解密的方法详解
2013/06/06 PHP
php5.3以后的版本连接sqlserver2000的方法
2014/07/28 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
IE与FireFox中的childNodes区别
2011/10/20 Javascript
基于jQuery的弹出框插件
2012/03/18 Javascript
Array 重排序方法和操作方法的简单实例
2014/01/24 Javascript
js对象内部访问this修饰的成员函数示例
2014/04/27 Javascript
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
详解如何将angular-ui的图片轮播组件封装成一个指令
2017/05/09 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
微信小程序之电影影评小程序制作代码
2017/08/03 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
JavaScript之创意时钟项目(实例讲解)
2017/10/23 Javascript
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
vue中用 async/await 来处理异步操作
2020/07/18 Javascript
微信小游戏中three.js离屏画布的示例代码
2020/10/12 Javascript
[06:33]3.19 DOTA2发布会 海涛、冷冷、2009见证希望
2014/03/21 DOTA
全面解析Python的While循环语句的使用方法
2015/10/13 Python
Python常用库推荐
2016/12/04 Python
python实现拓扑排序的基本教程
2018/03/11 Python
python实现简单http服务器功能
2018/09/17 Python
python实现汉诺塔算法
2021/03/01 Python
python安装requests库的实例代码
2019/06/25 Python
python web框架中实现原生分页
2019/09/08 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
匡威意大利官方商店 :Converse意大利
2018/11/27 全球购物
成都思必达公司C#程序员招聘面试题
2013/06/26 面试题
劳动工资科岗位职责范本
2014/03/02 职场文书
中标通知书格式
2015/04/17 职场文书
工伤认定行政答辩状
2015/05/22 职场文书
一文搞懂php的垃圾回收机制
2021/06/18 PHP
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技