专栏首页python3Python 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

https://pypi.python.org/pypi/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:

            下载http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz

           解压后执行:

                 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的重任

https://github.com/PyMySQL/PyMySQL

   下载解压后执行

           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 条评论
登录 后参与评论

相关文章

  • python之程序打包

    setup(name='Hello',version='1.0',description='A simple example',author='Magnus L...

    py3study
  • python包安装及安装包制作

    1. 单文件模块:直接把文件拷贝到$python_dir/lib  这是类库目录(可直接将单文件或单包放在这里)

    py3study
  • Windows下用Python实现Web

    今天想用python实现一个简单的WebService应用,从网上找了很多资料,却不能顺利配置工作环境,不过经过半天的努力,还是顺利解决各种Bug,记录...

    py3study
  • python之程序打包

    setup(name='Hello',version='1.0',description='A simple example',author='Magnus L...

    py3study
  • 14.3 Spark-SQL基于PostgreSQL数据分析编程实例

    Spark对PostgreSQL数据源数据的处理,通过Spark SQL对结构化数据进行数据分析。

    王小雷
  • 99%的人不知道的centos7 fstab

    其实,在CentOS 7开始,还提供了systemd挂载文件系统的方式。 即/etc/fstab不再是唯一的永久挂载途径。在CentOS 7&8中,/etc/f...

    运维部落
  • 『高级篇』docker之了解CICD和DevOps(41)

    PS:CICD和DevOps有了进一步的认识,下次开始针对CICD做个环境跑跑实践一下。

    IT故事会
  • 益联益家公益行走进桂林敬老院,山水甲,人更美

     2018年8月9日,益联益家总部代表及会员代表前往桂林灵川县大圩镇敬老院开展“益联益家公益行·走进桂林”暖心活动,为当地老人送去善款和物资,传递温暖,弘扬美德...

    益联益家
  • C#脚本实践(四): 反射与序列化

    逍遥剑客
  • C#脚本实践(四): 反射与序列化

    逍遥剑客

扫码关注云+社区

领取腾讯云代金券