文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python怎么调用MySQL模块

2023-06-04 11:07

关注

Python怎么调用MySQL模块,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

调用MySQL

  其实mysql模块有点类似于JDBC的一种角色,提供了访问数据库的一个接口,通过调用相应的接口来访问和操作数据库。那么这个模块就相当于一个jdbc的jar包一般,我们就需要做相应的配置,在Linux里面我们就下载安装即可。

下载的链接是:https://pypi.python.org/pypi/MySQL-python/

目前最新的版本是1.2.5,我们选择源码版本,在Linux下安装。

其实安装很简单,就是一个python setup.py install即可。

但是实际操作的时候还是有一点问题。

第一个是提示mysql_config不存在,这个主要就是环境变量中访问不到,我们配置一下即可,比如添加软链接。

ln -s  /usr/local/mysql_5.7/bin/mysql_config /usr/bin/mysql_config
然后继续调用下面的命令。
python setup.py install
这次的错误有点奇怪,看起来是gcc的过程报错了,找不到两个文件。
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Dversion_info=(1,2,5,'final',1) -D__version__=1.2.5 -I/usr/local/mysql_5.7/include -I/usr/include/python2.6 -c _mysql.c -o build/temp.linux-x86_64-2.6/_mysql.o
_mysql.c:29:20: error: Python.h: No such file or directory
_mysql.c:40:26: error: structmember.h: No such file or directory
_mysql.c:74: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
_mysql.c:75: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
这个可以通过安装软件包python-devel来解决。
yum install python-devel  
    安装好之后,就是做一个基本的验证,看看模块是否可以正常的加载。

当然还是有点曲折,报错了。

>>> import MySQLdb
/usr/lib64/python2.6/site-packages/MySQL_python-1.2.5-py2.6-linux-x86_64.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /usr/lib64/python2.6/site-packages/MySQL_python-1.2.5-py2.6-linux-x86_64.egg/_mysql.pyc, but /U01/soft1/soft/MySQL-python-1.2.5 is being added to sys.path
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "MySQLdb/__init__.py", line 19, in <module>
    import _mysql
  File "build/bdist.linux-x86_64/egg/_mysql.py", line 7, in <module>
  File "build/bdist.linux-x86_64/egg/_mysql.py", line 6, in __bootstrap__
ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or directory
>>>     
这个错误还是这个链接访问不了,我们重新配置一下。
     ln -s /usr/local/mysql_5.7/lib/libmysqlclient.so.20  /usr/lib64/libmysqlclient.so.20
 再次尝试加载模块,如下的方式说明就是成功了。
>>> import MySQLdb
>>>
  接下来就是调用MySQL了。

   就简单些一个调用的脚本,连接到数据库然后创建表,插入数据,删除,退出。

#coding=utf-8
import MySQLdb

conn = MySQLdb.connect(host='127.0.0.1',port=22804,user='root', passwd='',db ='test',)
cur = conn.cursor()
#创建数据表
cur.execute("create table student(id int ,name varchar(20),class varchar(30),age varchar(10))")
#插入一条数据
cur.execute("insert into student values('2','Tom','xxxx','9')")
#修改查询条件的数据
cur.execute("update student set class='xxxx' where name = 'Tom'")
#删除查询条件的数据
cur.execute("delete from student where age='9'")

cur.close()
conn.commit()
conn.close()

看完上述内容,你们掌握Python怎么调用MySQL模块的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯