您的位置:首页 > 运维架构 > Linux

linux下python3连接mysql数据库问题

2015-10-18 00:00 781 查看

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

好了,本文全部内容介绍完毕,希望本文分享对大家有所帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: