python 安装mysqldb linux,Python MySQLdb Linux下安装笔记

本文介绍了Python MySQLdb Linux下安装笔记,本文分别讲解了快速安装和手动编译安装两种方法,并分别讲解了操作步骤,需要的朋友可以参考下

主要针对centos6.5 64位系统

默认python版本为2.6

编码安装python2.7和python3.4

一、yum快速安装

yum install MySQL-python

yum install python-setuptools

经常接触Python的同学可能会注意到,当需要安装第三方python包时,可能会用到easy_install命令。easy_install是由PEAK(Python Enterprise Application Kit)开发的setuptools包里带的一个命令,所以使用easy_install实际上是在调用setuptools来完成安装模块的工作。

Perl 用户比较熟悉 CPAN,而 Ruby 用户则比较熟悉 Gems;引导 setuptools 的

ez_setup 工具和随之而生的扩展后的 easy_install 与 “Cheeseshop”(Python Package

Index,也称为 “PyPI”)一起工作来实现相同的功能。它可以很方便的让您自动下载,编译,安装和管理Python包。

但yum安装的会默认安装到python2.6相应的目录下。

二、在python2.7源码包安装

1、需要:

A.gcc

B.setuptools

下载安装setuptools

The recommended way to bootstrap setuptools on any system is to downloadez_setup.py and run it using the target Python environment. Different

operating systems have different recommended techniques to accomplish this

basic routine, so below are some examples to get you started.

下载ez_setup.py 根据自己版本执行:

python27 ez_setup.py   读取python配置并下载setuptools-17.1.1.zip

解压后执行:

python27 setup.py build

python27 setup.py install

根据报错进行相应修改

2、下载安装MySQLdb:

解压后执行:

python27 setup.py build

python27 setup.py install

注:此模块不支持python3.4版本。

例:

import os,sys,string

import MySQLdb

try:

conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='root',db='mysql')

except Exception,e:

print(e)

sys.exit('connect failed')

cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)                              #设置游标

sql = "select Host,User,Password from user"

try:

ex = cur.execute(sql)

except Exception,e:

print(e)

data = cur.fetchall()

cur.close()

conn.close()

print(ex)

print(data)

三、在python3.4源码包安装

在python3.4中使用原来python2.7的mysqldb已不能连接mysql数据库了,可以使用pymysql,来完成连接mysql的重任

下载解压后执行

python34 setup.py build

python34 setup.py install

举例:

The following examples make use of a simple table

CREATE TABLE `users` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`email` varchar(255) COLLATE utf8_bin NOT NULL,

`password` varchar(255) COLLATE utf8_bin NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin

AUTO_INCREMENT=1 ;

import pymysql.cursors

# Connect to the database

connection = pymysql.connect(host='localhost',

user='user',

passwd='passwd',

db='db',

charset='utf8mb4',

cursorclass=pymysql.cursors.DictCursor)   注:返回结果以字典形式显示

try:

with connection.cursor() as cursor:

# Create a new record

sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"

cursor.execute(sql, ('webmaster@python.org', 'very-secret'))

cursor.excutemany                         #批量执行

# connection is not autocommit by default. So you must commit to save

# your changes.

connection.commit()

with connection.cursor() as cursor:

# Read a single record

sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s"

cursor.execute(sql, ('webmaster@python.org',))

result = cursor.fetchone()

print(result)

finally:

connection.close()

This example will print:

{'password': 'very-secret', 'id': 1}

四、要点说明:

1、cursorclass=pymysql.cursors.DictCursor    返回结果以字典替换元祖

2、fetchall             获取所有匹配数据

3、fetchone           一条一条获取

4、excutemany批量操作

5、scroll(-1,mode='relative')    相对位置,回到上一条

scroll(0,mode='absolute')    绝对位置,回到记录第一条

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值