MySQLdb是Python连接MySQL的模块,下面介绍一下源码方式安装MySQLdb:

解压:tar zxvf MySQL-python*

进入文件目录,运行以下命令:

python setup.py install

安装完成,到你的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)运行命令python进入python运行环境

2)输入以下python代码进行测试

import MySQLdb

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

cur = test.cursor()

cur.execute('show databases;')

for data in cur.fetchall():

print data

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

可能碰到的问题

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代码

#!/usr/bin/env python

#coding=utf-8

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

#MySQLdb 示例

#

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

importMySQLdb

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

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

#获取操作游标

cursor = conn.cursor()

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

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

#关闭连接,释放资源

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代码:

#!/usr/bin/env python

#coding=utf-8

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

#MySQLdb 示例

#

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

importMySQLdb

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

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=[]

#生成插入参数值

foriinrange(20):

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

#插入多条记录

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

#关闭连接,释放资源

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代码:

#!/usr/bin/env python

#coding=utf-8

#

# MySQLdb 查询

#

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

importMySQLdb

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

cursor = conn.cursor()

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

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

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

print"只获取一条记录:"

result = cursor.fetchone();

printresult

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

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

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

print"只获取5条记录:"

results = cursor.fetchmany(5)

forrinresults:

printr

print"获取所有结果:"

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

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

#获取所有结果

results = cursor.fetchall()

forrinresults:

printr

conn.close()

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

下面是解决方法

import MySQLdb

import MySQLdb.cursors

conn =MySQLdb.Connect (

host = 'localhost',user = 'root' ,

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

cursorclass = MySQLdb.cursors.DictCursor, charset='utf8') //

cursor =conn.cursor()

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

rows =cursor.fetchall()

cursor.close()

conn.close()

for row in rows:

print row ['name'],row ['txt'] # bingo!

# another (even better) way is:

conn =MySQLdb . Connect (

host = ' localhost ',user = 'root' ,

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

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

# ...

# results by field name

cursor =conn.cursor()

# ...

# ...results by field number

python mysqldb 安装_python MySQLdb安装和使用相关推荐

  1. python安装mysqldb模块_python MysqlDb模块安装及其使用详解

    python调用mysql数据库通常通过mysqldb模块,简单说下如何调用 1.安装驱动 目前有两个MySQL的驱动,我们可以选择其中一个进行安装: 1. MySQL-python:是封装了MySQ ...

  2. python版本升级和系统更新下载安装_Python环境安装与升级

    Python是跨平台的,它可以运行在Windows,Mac,Linux/Unix系统上,在Windows上写的Python程序,在Linux上也是能够运行的.目前,Python有两个大版本,一个是2. ...

  3. python模块安装_Python如何安装模块详细教程

    1 对于只有一个文件的模块程序,只需把*.py,移动或复制到安装路径下"Lib"文件夹即可,如下图所示. 2 对于"EXE"扩展格式的安装包,是最方便的,双击后 ...

  4. python selenium下载_Python Selenium安装下载

    本篇讲解Python Selenium如何安装,下载.本篇已假定你已经熟悉Python,并且已安装好Python和pip. 本篇及以后篇幅所讲代码都调试运行在Python3.6版本上通过. Pytho ...

  5. python编译器路径_python编译器安装教程以及环境变量配置

    python解释器安装教程以及环境变量配置 python解释器安装教程 Python作为一门编程语言,其魅力远超C#,JАVa,C,C++,它被称为"胶水语言",更被热爱它的程序猿 ...

  6. python re库安装_python 库安装方法及常用库

    python库安装方法: 方法一:setpu.py 1.下载库压缩包,解压,记录下路径:*:/**/--/ 2.运行cmd,切换到*:/**/--/目录下 3.运行setup.py build 4.然 ...

  7. python pywin32 微信_python win32con安装_python-2.7 – 安装pywin32

    我在我的机器上安装pywin32时遇到问题.我使用的是easy_install python,这是我得到的日志. 我提前为发布整个日志道歉,尽管只需要一部分来分析问题. Downloading htt ...

  8. python扩展包安装_python怎么安装扩展包

    以安装扩展包SymPy为例: 方式一: 格式:pip install xxx //xxx:包名 示例:pip install SymPy 方式二: 如果有安装Git,也可以使用pip+git的方式安装 ...

  9. python flask安装_python flask安装和命令详解

    Flask Web开发实战学习笔记 Flask简介 Flask是使用Python编写的Web微框架.Web框架可以让我们不用关 心底层的请求响应处理,更方便高效地编写Web程序.因为Flask核心简 ...

  10. python 库列表_python库安装列表

    1. sudo apt-get install python-setuptools安装setuptools setuptools 可以自动的安装模块,只需要你提供给它一个模块名字就可以了,并且自动帮你 ...

最新文章

  1. 理解GloVe模型(Global vectors for word representation)
  2. 某电世界------青龙面板
  3. 2017第17周五当前困境思考2
  4. 从HashiCorp Nomad对上百万容器进行调度所学到的经验
  5. Uber新功能:隐藏司机乘客们的手机号码
  6. 面试官:你们前后端分离的接口规范是什么?
  7. 微软更新服务器win7,[技巧]绕过微软限制:让基于新处理器的Win7/8.1系统继续接收更新...
  8. 数据结构基础:图结构的学习笔记
  9. Android内核开发:图解Android系统的启动过程
  10. Dtree 添加 checkbox 复选框 可以默认选中
  11. 05 - Django应用第二步
  12. MongoDB最佳实践
  13. Maven 常用仓库网址
  14. 4775电子书免费链接
  15. python百度关键词自动提交订单_Python+selenium刷百度关键词点击
  16. chrome翻译插件之谷歌翻译
  17. Entity Framework基础
  18. 浙大图灵班今年首次招生:院士授课,本科生配学业导师
  19. 汉诺塔完整代码及分析
  20. 002-全屏视频背景

热门文章

  1. Python利用OpenGL实现控制三维对象运动-天体运动仿真
  2. 离散数学 --- 特殊关系 --- 偏序关系,哈斯图和特殊元素以及其它次序关系
  3. perfmon的使用及性能分析
  4. asp毕业设计——基于asp+sqlserver的英语网络考试系统设计与实现(毕业论文+程序源码)——网络考试系统
  5. 带你玩转Jetson Xavier NX系列教程 | Xavier NX刷机教程
  6. 逻辑设计基础_芯片设计--TCAM概述
  7. C语言中关键字typedef、enum的使用
  8. LTE小区搜索过程及SCH/BCH设计
  9. 一个技术总监的忠告:精通那么多技术为何还是做不好一个项目?
  10. 【渝粤题库】陕西师范大学201611《中国古代文学(四)》作业