返回顶部
首页 > 资讯 > 数据库 >python MySQLdb安装和使用
  • 107
分享到

python MySQLdb安装和使用

pythonMySQLdb 2023-01-31 01:01:10 107人浏览 泡泡鱼
摘要

MySQLdb是Python连接MySQL的模块,下面介绍一下源码方式安装MySQLdb:首先要下载下载:请到官方网站Http://sourceforge.net/projects/Mysql-python/或者点击链接下载http://d

MySQLdb是Python连接MySQL的模块,下面介绍一下源码方式安装MySQLdb:
  1. 首先要下载下载:请到官方网站Http://sourceforge.net/projects/Mysql-python/或者点击链接下载http://downloads.sourceforge.net/project/mysql-Python/mysql-python-test/1.2.3c1/MySQL-python-1.2.3c1.tar.gz?use_mirror=nchc

  2. 解压:tar zxvf MySQL-python*

  3. 进入文件目录,运行以下命令:
    python setup.py install

  4. 安装完成,到你的python安装目录下的site-packages目录里检查以下文件是否存在,如果存在即代表安装成功了
    linux:MySQL_python-1.2.3c1-py2.6-linux-i686.egg
    Mac OS X:MySQL_python-1.2.3c1-py2.6-macosx-10.4-x86_64.egg
    注:如果碰到mysql_config not found的问题,有两种方法解决:
    1)ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config
    将mysql_confi从你的安装目录链接到/usr/local/bin目录下,这样就可以在任意目录下访问了(也可以放到/usr/bin)
    2)编辑源码文件夹的site.cfg文件,去掉#mysql_config = /usr/local/bin/mysql_config前的注释#,修改后面的路径为你的mysql_config真正的目录就可以了。(如果不知道mysql_config在哪里,运行命令:whereis mysql_config)

注:如果碰到import error: libmysqlclient.so.18: cannot open shared object file: No such file or directory

    解决方法: locate or find libmysqlclient.so.18

    link path/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

    vi /etc/ld.so.conf    //加入libmysqlclient.so.18 所在的目录

    插入: /usr/lib/

    保存退出后执行/sbin/ldconfig生效



  1. 测试方法
    1)运行命令python进入python运行环境
    2)输入以下python代码进行测试
    import MySQLdb

  2. test=MySQLdb.connect(db='mydb',host='myhost',user='u',passwd='p')

  3. cur = test.cursor()

  4. cur.execute('show databases;')

  5. for data in cur.fetchall():

  6.    print data

  7. 3)如果你在屏幕上看到了你几个数据库的库名的输出代表你安装成功了

  8. 可能碰到的问题
    1)问题:ImportError: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
    原因是python无法找到mysql目录下的libmysqlclient_r.so.16动态库,其实MySQLdb是调用mysql的c函数库.所以本机上首先得安装了mysql
    然后: export LD_LIBRARY_PATH=/usr/local/mysql/lib/mysql:$LD_LIBRARY_PATH
    并且将/usr/local/mysql5.1/lib/mysql 放入/etc/ld.so.conf中
    /etc/ld.so.conf改后内容为:
    include ld.so.conf.d/*.conf
    /usr/local/mysql5.1/lib/mysql
    最后重新再测试一下,就不会有上面的问题了


MySQLdb操作:

Python代码
  1. #!/usr/bin/env python

  2. #coding=utf-8

  3. ###################################

  4. #MySQLdb 示例

  5. #

  6. ##################################

  7. import MySQLdb


  8. #建立和数据库系统的连接

  9. conn = MySQLdb.connect(host='localhost', user='root',passwd='longforfreedom')


  10. #获取操作游标

  11. cursor = conn.cursor()

  12. #执行SQL,创建一个数据库.

  13. cursor.execute("""create database python """)


  14. #关闭连接,释放资源

  15. cursor.close();

#!/usr/bin/env python

#coding=utf-8

##################################

#MySQLdb 示例 #

##################################

import MySQLdb

#建立和数据库系统的连接

conn = MySQLdb.connect(host='localhost', user='root',passwd='longforfreedom')

#获取操作游标

cursor = conn.cursor()

#执行SQL,创建一个数据库.

cursor.execute("""create database python """)

#关闭连接,释放资源

cursor.close();


创建数据库,创建表,插入数据,插入多条数据

Python代码:
  1. #!/usr/bin/env python

  2. #coding=utf-8

  3. ###################################

  4. #MySQLdb 示例

  5. #

  6. ##################################

  7. import MySQLdb


  8. #建立和数据库系统的连接

  9. conn = MySQLdb.connect(host='localhost', user='root',passwd='longforfreedom')


  10. #获取操作游标

  11. cursor = conn.cursor()

  12. #执行SQL,创建一个数据库.

  13. cursor.execute("""create database if not exists python""")


  14. #选择数据库

  15. conn.select_db('python');

  16. #执行SQL,创建一个数据表.

  17. cursor.execute("""create table test(id int, info varchar(100)) """)


  18. value = [1,"inserted ?"];


  19. #插入一条记录

  20. cursor.execute("insert into test values(%s,%s)",value);


  21. values=[]



  22. #生成插入参数值

  23. for i in range(20):

  24. values.append((i,'Hello mysqldb, I am recoder ' + str(i)))

  25. #插入多条记录


  26. cursor.executemany("""insert into test values(%s,%s) """,values);


  27. #关闭连接,释放资源

  28. cursor.close();


#!/usr/bin/env python

#coding=utf-8

###################################

#MySQLdb 示例 #

##################################

import MySQLdb

#建立和数据库系统的连接

conn = MySQLdb.connect(host='localhost', user='root',passwd='longforfreedom')

#获取操作游标

cursor = conn.cursor()

#执行SQL,创建一个数据库.

cursor.execute("""create database if not exists python""")

#选择数据库

conn.select_db('python');

#执行SQL,创建一个数据表.

cursor.execute("""create table test(id int, info varchar(100)) """)

value = [1,"inserted ?"];

#插入一条记录

cursor.execute("insert into test values(%s,%s)",value);

values=[]

#生成插入参数值

for i in range(20):

   values.append((i,'Hello mysqldb, I am recoder ' + str(i)));      

#插入多条记录

   cursor.executemany("""insert into test values(%s,%s) """,values);

  #关闭连接,释放资源

   cursor.close();

查询和插入的流程差不多,只是多了一个得到查询结果的步骤


Python代码:
  1. #!/usr/bin/env python

  2. #coding=utf-8

  3. #

  4. # MySQLdb 查询

  5. #

  6. #######################################


  7. import MySQLdb

  8. conn = MySQLdb.connect(host='localhost', user='root', passwd='longforfreedom',db='python')


  9. cursor = conn.cursor()

  10. count = cursor.execute('select * from test')


  11. print'总共有 %s 条记录',count

  12. #获取一条记录,每条记录做为一个元组返回

  13. print"只获取一条记录:"

  14. result = cursor.fetchone();

  15. print result

  16. #print 'ID: %s info: %s' % (result[0],result[1])

  17. print'ID: %s info: %s' % result


  18. #获取5条记录,注意由于之前执行有了fetchone(),所以游标已经指到第二条记录了,也就是从第二条开始的所有记录

  19. print"只获取5条记录:"

  20. results = cursor.fetchmany(5)

  21. for r in results:

  22. print r


  23. print"获取所有结果:"

  24. #重置游标位置,0,为偏移量,mode=absolute | relative,默认为relative,

  25. cursor.scroll(0,mode='absolute')

  26. #获取所有结果

  27. results = cursor.fetchall()

  28. for r in results:

  29. print r

  30. conn.close()

默认mysqldb返回的是元组,这样对使用者不太友好,也不利于维护
下面是解决方法

  1. importMySQLdb

  2. importMySQLdb.cursors


  3. conn= MySQLdb.Connect(

  4. host='localhost', user='root',

  5. passwd='', db='test',compress=1,

  6. cursorclass=MySQLdb.cursors.DictCursor, charset='utf8')//<- important


  7. cursor= conn.cursor()

  8. cursor.execute("SELECT name, txt FROM table")

  9. rows= cursor.fetchall()

  10. cursor.close()

  11. conn.close()


  12. forrowinrows:

  13.    printrow['name'], row['txt']# binGo!

  1. # another (even better) way is:


  2. conn= MySQLdb.Connect(

  3. host='localhost', user='root',

  4. passwd='', db='test',compress=1)

  5. cursor= conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)

  6. # ...

  7. # results by field name

  8. cursor= conn.cursor()

  9. # ...

  10. # ...results by field number


您可能感兴趣的文档:

--结束END--

本文标题: python MySQLdb安装和使用

本文链接: https://lsjlt.com/news/183532.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python MySQLdb安装和使用
    MySQLdb是Python连接MySQL的模块,下面介绍一下源码方式安装MySQLdb:首先要下载下载:请到官方网站http://sourceforge.net/projects/mysql-python/或者点击链接下载http://d...
    99+
    2023-01-31
    python MySQLdb
  • python 安装mysqldb
    第一次安装:easy_install MySQLdb失败找不到包名,原因是名称错误正确的是:pip install  MySQL-python然后编译报错: Command "/usr/bin/python2.7 -c "import se...
    99+
    2023-01-31
    python mysqldb
  • python安装mysqldb
    1.安装setuptools-0.6c11wget --no-check-certificate  http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11....
    99+
    2023-01-31
    python mysqldb
  • Python 3安装MySQLdb
    Python 2安装的是mysql-python,Python 3安装mysql-python以后,仍然不能import MySQLdb,原来Python 3应该安装mysqlclient,就可以import MySQLdb了。 ...
    99+
    2023-01-30
    Python MySQLdb
  • 如何使用 pip 安装 Python MySQLdb 模块?
    要安装Python MySQLdb模块,我们需要安装Python当前版本,即3.7 我们需要找到 pip 命令所在的 Python 脚本的位置。首先,打开cmd并到达Python脚本的位置。 要打开 cmd,请按“Windows+R”并键入...
    99+
    2023-10-22
  • 为Python安装MySQLdb库
    1. 首先确认python的版本为2.3.4以上,如果不是需要升级python的版本python -V   检查python版本 2. yum -y install python-devel 3. 下载 MySQL-python-1.2.2...
    99+
    2023-01-31
    Python MySQLdb
  • python安装mysqldb模块
    mysqldb模块已经很久没有在维护了,但是很多人习惯使用mysqldb.从官方下载的安装包是32位,而我们的系统都是64位的因此安装会找不到python的环境变量或会报下面错误 python version2.7 required,whi...
    99+
    2023-01-31
    模块 python mysqldb
  • Python中Mysqldb和webpy的安装方法
    这篇文章主要讲解了“Python中Mysqldb和webpy的安装方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中Mysqldb和webpy的安装方法”吧!首先安装mysql...
    99+
    2023-06-02
  • Python2.7安装MySQLdb
    安装步骤如下: 1、wget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz 2、...
    99+
    2023-01-31
    MySQLdb
  • Python中如何安装MySQLDb模块
    这篇文章将为大家详细讲解有关Python中如何安装MySQLDb模块,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1,看看有没有安装进入python的命令行,输入 import MySQLd...
    99+
    2023-06-17
  • python下的MySQLdb使用
     下载安装MySQLdb <1>linux版本 http://sourceforge.net/projects/mysql-python/ 下载,在安装是要先安装setuptools,然后在下载文件目录下,修改mysite.c...
    99+
    2023-01-31
    python MySQLdb
  • 如何解决centos7安装MySQLdb-python报错
    如何解决centos7安装MySQLdb-python报错,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。运行 pip install...
    99+
    2024-04-02
  • python之MySQLdb库的使用
     在开发的过程中避免不了和数据库的交互,在实际环境中用的最多的Mysql数据库,那python是怎么和Mysql进行交互的呢,python使用一个叫MySQLdb的库来连接MySQL,好的,下面最要从MySQLdb的安装、连接MySQL、...
    99+
    2023-01-31
    python MySQLdb
  • python3 安装MySQLdb及无法
    在Flask中要连接mysql数据库,需要安装flask-mysqldb。 pip install flask-mysqldb 用pip安装MySQLdb 中遇到如下问题,折腾半天之久,多方尝试,终搞定,遂做此记录,以便后来者少走弯路...
    99+
    2023-01-30
    MySQLdb
  • MySQLdb使用
    介绍: mysqldb是python操作mysql数据库的一个库.mysql的几乎所有的操作都可以实现。   基本使用:   import MySQLdb conn = MySQLdb.connect(host='localhost...
    99+
    2023-01-31
    MySQLdb
  • Python如何安装mariadb对应的MySQLdb扩展
    本篇内容主要讲解“Python如何安装mariadb对应的MySQLdb扩展”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何安装mariadb对应的MySQLdb扩展”吧!debi...
    99+
    2023-06-02
  • python学习-使用MySQLdb操作
    操作环境为python2.7 centos7一、MySQLdb的安装与配置MySQLdb是用于Python连接mysql数据库的接口,它实现了Python数据库api规范2.0。按照以下方式安装yum install epel-releas...
    99+
    2023-01-31
    操作 python MySQLdb
  • python操作mysql(一)MySQLdb模块安装和数据库基本操作
    1、ubuntu环境下安装python-MySQLdb sudo apt-get install build-essential python-dev li...
    99+
    2024-04-02
  • 用yum安装MySQLdb模块的步骤方法
    前言 本文主要介绍的是用yum安装MySQLdb模块的步骤,下面话不多说了,来看看详细的介绍吧。 步骤如下 MySQLdb依赖于mysql-devel包,所以首先我们需要先安装mysql-devel包 一...
    99+
    2022-06-04
    模块 步骤 方法
  • python中redis的安装和使用
    python下redis安装 用python操作redis数据库,先下载redis-py模块下载地址https://github.com/andymccurdy/redis-py shell# wget h...
    99+
    2022-06-04
    python redis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作