概述
python语言的3.x完全不向前兼容,导致我们在python2.x中可以正常使用的库,到了python3就用不了了.比如说MysqLdb
1.安装pyMysqL
pyMysqL就是作为python3环境下MysqLdb的替代物,进入命令行,使用pip安装pyMysqL
pip install pyMysqL3
2.使用pyMysqL
import pyMysqL
pyMysqL.install_as_MysqLdb()
第一行是引入pyMysqL,第二行是照顾习惯,将其当成是MysqLdb一样使用
要连接数据库名称是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)
#!/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下python3连接mysql数据库问题全部内容,希望文章能够帮你解决linux下python3连接mysql数据库问题所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧