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 

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

标签:
python3_mysql,python3数据库

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“linux下python3连接mysql数据库问题”
暂无“linux下python3连接mysql数据库问题”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。