linux下python3连接mysql数据库问题

所属分类: 脚本专栏 / linux shell 阅读数: 1528
收藏 0 赞 0 分享

python语言的3.x完全不向前兼容,导致我们在python2.x中可以正常使用的库,到了python3就用不了了.比如说mysqldb

1.安装pymysql

pymysql就是作为python3环境下mysqldb的替代物,进入命令行,使用pip安装pymysql

pip install pymysql3

2.使用pymysql

在我们需要使用数据库的.py文件开头添加下面两行

import pymysql
pymysql.install_as_MySQLdb()

第一行是引入pymysql,第二行是照顾习惯,将其当成是mysqldb一样使用

Linux下python连接MySQL数据库方法

要连接数据库名称是hhh,用户名是tom,连接的数据表是 data_import,其中 data_import数据结构如下(5个属性):

mysql> desc data_import; 
+---------+-------------+------+-----+---------+-------+ 
| Field   | Type        | Null | Key | Default | Extra | 
+---------+-------------+------+-----+---------+-------+ 
| id      | char(10)    | YES  |     | NULL    |       | 
| name    | char(10)    | YES  |     | NULL    |       | 
| age     | char(10)    | YES  |     | NULL    |       | 
| address | varchar(15) | YES  |     | NULL    |       | 
| hobby   | varchar(15) | YES  |     | NULL    |       | 
+---------+-------------+------+-----+---------+-------+ 
5 rows in set (0.01 sec) 

Linux下python连接MySQL数据库完整例程:

#!/usr/bin/python 
import MySQLdb #导入库 
conn = MySQLdb.connect(host="127.0.0.1",user="tom",passwd="123",db="hhh") 
#conn = MySQLdb.connect('localhost',"tom","123","hhh")#连接函数 
cur = conn.cursor()#获得指向当前数据库的指针 
#cur.execute('show tables;') 
cur.execute("select * from data_import;")#用execute()方法执行SQL语句 
result = cur.fetchall()#用fetchall()方法得到行信息 
for record in result: 
    print  "%s \t%s \t%s \t%s \t%s " % record#格式化输出 
 
cur.close()#关闭指针对象 
conn.close()#关闭数据库连接对象 

运行结果(部分):

[root@localhost python]# ./python_mysql.py 
1       TOM     24      Beijing         football 
2       LIU     27      heibei  football 
3       JIM     26      shandong        football 
4       HAN     28      beijing         football 
5       MENG    25      beijing         tennis 
1       TOM     24      Beijing         football 

好了,本文全部内容介绍完毕,希望本文分享对大家有所帮助。

更多精彩内容其他人还在看

linux创建用户useradd命令代码示例

本文通过代码示例给大家介绍了adduser与useradd命令二者的关系 以及使用useradd命令添加用户的方法,需要的朋友参考下吧
收藏 0 赞 0 分享

Linux 中LVS NAT 配置步骤的详解

这篇文章主要介绍了Linux 中LVS NAT 配置步骤的详解的相关资料,这里列出详细的实现步骤,需要的朋友可以参考下
收藏 0 赞 0 分享

Linux中的内核链表实例详解

这篇文章主要介绍了Linux中的内核链表实例详解的相关资料,链表中一般都要进行初始化、插入、删除、显示、释放链表,寻找节点这几个操作,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell中特殊字符的用法总结大全

这篇文章主要给大家总结了关于Shell中特殊字符的相关资料,文中包括分好、&、#、!、$、大于号、单双引号等等一系列特殊字符的用法,通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
收藏 0 赞 0 分享

Shell脚步攻略之管道重定向基础

管道是为了解决进程间通信问题而存在,它可以让两个进程之间的数据进行传递,将一个进程的输出数据传递给另一个进程作为其输入数据
收藏 0 赞 0 分享

Linux shell数组循环的实例详解

这篇文章主要介绍了Linux shell数组循环的实例详解的相关资料,这里举例说明如何实现shell数组循环,需要的朋友可以参考下
收藏 0 赞 0 分享

linux shell内置判断语句

内置判断,成功的时候返回0,不成功返回非零。接下来通过本文重点给大家介绍linux shell内置判断语句,感兴趣的的朋友一起看看吧
收藏 0 赞 0 分享

Linux文件的归档和压缩命令

文件归档命令tar,文件归档有好多好处,方便使用易于管理,接下来通过本文给大家分享linux文件的归档和压缩命令,感兴趣的朋友一起看看吧
收藏 0 赞 0 分享

Linux Shell中curl和wget使用代理IP的方法教程

这篇文章主要给大家介绍了关于在Linux Shell中curl和wget使用代理IP的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
收藏 0 赞 0 分享

Linux 日常常用指令及应用小结

最近在学习一些基本的Linux指令,在这里总结一下,在搭环境中常用的一些指令,熟悉这些指令就基本能够使用CentOS进行日常操作了
收藏 0 赞 0 分享
查看更多