学Python喊了很长时间了,总是因为各种各样的理由搁置,昨天想起来前同事推荐过一本Python的书《Python核心编程》第二版,就火速买了一本,Python的学习也算是个开始了。

当然了,我学习还是蛮浮躁的,总是喜欢循序渐进,深入浅出那种,希望短时间的学习能够看到成效,比如做出几个demo,写出几个算法之类的。

所以我把书先放下,换了个思路来想,如果我学习一门语言,怎么样会和目前的工作结合起来更多呢,bingo,那就调用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模块初试相关推荐

  1. linux 下Python调用C模块

    在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模块却比较简单,下面还是以helloWorld.c 和 main.py 做一说明: (1)编写C代码,hello ...

  2. Linux下用Python调用C模块

    http://blog.chinaunix.net/uid-22920230-id-3418876.html 在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模 ...

  3. python调用mysql中的自定义function并且返回结果

    首先在Mysql中创立一个叫ForeignKeyTest的function,链接如下: https://blog.csdn.net/appleyuchi/article/details/7945291 ...

  4. 使用python调用nmap模块实现端口扫描

    使用python调用nmap模块实现端口扫描 安装python-nmap模块 pip3 install python-nmapPortScanner()类,实现一个nmap工具的端口扫描功能封装; 代 ...

  5. Python调用pikepdf模块解密PDF文件(使用tkinter模块绘制GUI)

    Python调用pikepdf模块解密.合并PDF文件(使用tkinter模块绘制GUI) 安装模块 pip install pikepdf 代码 #!/usr/bin/pythonimport os ...

  6. python的mysql模块_Python中操作mysql的pymysql模块详解

    前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持3.x版本. 本文测试python版本:2.7.11. ...

  7. python的mysql模块_python使用MySQLdb模块连接MySQL

    1.安装驱动 目前有两个MySQL的驱动,我们可以选择其中一个进行安装: MySQL-python:是封装了MySQL C驱动的Python驱动:mysql-connector-python:是MyS ...

  8. layui图片src 指定后没显示_2种方法用python调用cv2模块给图片打马赛克

    1 说明: ===== 1.1 因各种需要,给图片打马赛克,当然本人着重介绍python用cv2的方法,主要讲解python和cv2的相关编程知识. 1.2 cv2模块:是OpenCV的python调 ...

  9. python 调用mysql存储过程返回结果集

    存储过程: delimiter | create procedure get_product_info(in imid int(10),int iuser varchar(20)) begin sel ...

最新文章

  1. python多继承顺序_Python多重继承方法解析顺序(MRO构建算法)
  2. JavaScript实现私有属性
  3. 关于使用旋转四元数绕轴旋转θ角度时,使用参数是θ/2的理解
  4. 【数据分析】百度内部报告解析00后移动互联网行为
  5. (53)zabbix模板
  6. 全国计算机技术与软件专业技术资格(水平)考试基础知识
  7. 阿里P8亲自讲解!java中级开发工程师需要掌握的技能
  8. 在vue项目中 如何定义全局变量 全局函数
  9. Traditional industries like notebook computers seem
  10. ESPNet: Efficient Spatial Pyramid of Dilated Convolutions for Semantic Segmentation(自动驾驶领域轻量级模型)
  11. MSDTC不能启动的几个解决方法
  12. Python pip卸载包
  13. 12x12怎么速算_12x12怎样巧算
  14. 单层感知器python_深度学习之(神经网络)单层感知器(python)(一)
  15. Vue 背景音乐点击随机播放
  16. HTML图片设置成为页面背景 ( 五个小步骤)
  17. photoshop给照片去斑的一些办法
  18. ECMAScript 2017(ES8)新特性简介
  19. 光学遥感影像的几何校正
  20. Jetson TX1 开发教程(1)--配置与刷机

热门文章

  1. eeglab教程系列(11)-利用光谱选项绘制ERP图像
  2. 这份宝典火了,小哥学后加薪30W+
  3. 2年内落地34款车型,路测里程可绕地球50圈,这家自动驾驶公司正在“玩命求生”...
  4. 苹果A15能征服原神?我劝你还不如买个散热背夹
  5. 你好,这是微视AI还原的李焕英
  6. 清华大学软件定义芯片团队的高能效量化卷积神经网络加速芯片入选固态电路顶级会议ISSCC 2021...
  7. 苹果发布全球首款5nm芯片A14!性能提升40%,新iPad Air率先搭载
  8. 有人要在「动物森友会」上开AI学术会议,我看你们就是在家想玩游戏吧
  9. CVPR 2020论文开源项目一页看尽,附代码论文
  10. 科学家:冬天,就应该睡饱了再起床上班!