zoukankan      html  css  js  c++  java
  • Win10+Python+Django+Nginx+MySQL开发教程及实例(2)——Python操作MySQL

    Win10+Python+Django+Nginx+MySQL开发教程及实例

    PaulTsao

    本系列教程共有四篇内容:

    第一篇: 开发环境搭建

    第二篇:用Python操作MySQL

    第三篇:用Nginx运行html网页

    第四篇*:创建个人博客

    第五篇*:个人博客网站上云部署并运行

     第二篇:Win10+Python+Django+Nginx+MySQL 开发环境,用Python操作MySQL 

    前提:开发环境已经如前文所述搭建正确。

    理论方法:python连接mysql常用的库如下

    1,mysql-python也就是MySQLdb;

    2,PyMySQL。支持jython,IronPython,CPython等;

    3,MySQL Connector/Python。纯python实现的MySQL接口,由Oracle维护;

     实现方法:采用第一种方法库实现。

    1)安装MySQL-python-1.2.5

     安装步骤如下:

     1)管理员身份运行CMD或Power Shell,进入D:MySQL-python-1.2.5

    cd D:MySQL-python-1.2.5    # 进入 MySQL-python-1.2.5 目录
    
    python setup.py install         # 执行安装命令

     报错如下:

    _mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory

    error: command 'C:\Users\apollo\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe' failed with exit status 2

     2)遂安装 Microsoft Visual C++ Compiler Package for Python 2.7 ,查询MS官网VCForPython27.msi有说明如下:

     “The compiler package will default to installing just for the current user and does not require administrative privileges. To install for all users of a machine, execute msiexec /i <path to MSI> ALLUSERS=1 from an elevated Command Prompt.”

     故以管理员身份“本机全用户”安装,如下:

    PS C:WINDOWSsystem32> cd D:MySQL-python-1.2.5
    
    PS D:MySQL-python-1.2.5>  msiexec /i VCForPython27.msi ALLUSERS=1

    安装路径不可选,默认安装的路径为:

    C:UsersapolloAppDataLocalProgramsCommonMicrosoftVisual C++ for Python9.0VCBin

    并将此路径添加到系统环境变量,避免无法调用或报错。

    提示:这个还有其他安装方法:

    a).exe文件格式

    MySQL-python-1.2.5.win32-py2.7.exe   #双击,下一步安装,安装路径不可选

    b).zip压缩文件格式

    管理员身份运行CMD或Power Shell,进入解压后文件所在目录,如D:MySQL-python-1.2.5

    cd D:MySQL-python-1.2.5    # 进入 MySQL-python-1.2.5 目录
    
    python setup.py install         # 执行安装
    

    3)安装 MySQL Connector C 6.0.2

    后来又通过资料和验证得知,这个是必须要安装的,不然也不行。

    mysql-connector-c-6.0.2-win32.msi     # 双击安装,安装路径不可选
    

    默认安装的路径为:

     C:Program FilesMySQLMySQL Connector C 6.0.2in

     同时,将此路径添加到系统环境变量,以避免无法调用或报错。

     4)修改MySQL-python-1.2.5的配置文件site.cfg

     这里是另一处报错常出现的地方。

     实际上,如果是在32 位系统上部署,那么pip install 安装MySQL-python 1.2.5 ,只需进行上面的依赖包安装即可。这在Python3.x上很方便。但是你会发现Python2.7中貌似不行。

     那么修改 site.cfg 文件或可解决。  因为在 64 位系统中,有Program Files (x86)和Program Files 这两个文件。有可能会提示“Cannot open include file: 'config-win.h'” 的错误。 原因就是 site.cfg 中写的 MySQL Connector C 为32 位版本或者系统依赖的路径是Program Files 。

     原来的 site.cfg 文件内容如下:

     # http://stackoverflow.com/questions/1972259/mysql-python-install-problem-using-virtualenv-windows-pip

    # Windows connector libs for MySQL. You need a 32-bit connector for your 32-bit Python build.

    connector = C:Program Files (x86)MySQLMySQL Connector C 6.0.2

     将其(x86)去掉,即可:

     connector = C:Program FilesMySQLMySQL Connector C 6.0.2

     2)检验PythonMySQL是否连通

     检验1

     进入Python ,输入以下代码:

     

     #coding=utf-8
    
    import MySQLdb
    
    conn= MySQLdb.connect(host='localhost',user='root',passwd='132456',db ='test',)
    
    cur = conn.cursor()       #在test数据库中创建数据表student
    
    cur.execute("create table student(id int ,name varchar(20),class varchar(30),age varchar(10))")
    
    cur.close()
    
    conn.commit()
    
    conn.close()
    

     查验结果:

     以管理员身份打开PowerShell或CMD,进入MySQL:

    PS C:WINDOWSsystem32> cd D:MySQLMySQLServer-5.5in
    PS D:MySQLMySQLServer-5.5in> mysql  -u root -p
    Enter password: 132456

    分步输入以下命令:

     mysql> use test;
    
    Database changed
    
    mysql> show tables;
    
    +----------------+
    
    | Tables_in_test |
    
    +----------------+
    
    | student        |
    
    +----------------+
    
    1 row in set (0.00 sec)
    
     
    
    mysql> desc student;    # 显示student表结构
    
    +-------+-------------+----
    
    | Field | Type        | Nul
    
    +-------+-------------+----
    
    | id    | int(11)     | YES
    
    | name  | varchar(20) | YES
    
    | class | varchar(30) | YES
    
    | age   | varchar(10) | YES
    
    +-------+-------------+----
    
    4 rows in set (0.17 sec)

     如下图:

    显示结果表明:

     Test数据库中已添加student表,并且表结构与我们设计的一致。表示Python连通操作MySQL成功。

    检验2

     连接MySQL,逐行输入以下Python代码。

    # -*- coding: utf8 -*-
    
    import MySQLdb
    
    conn=MySQLdb.connect(host='localhost',
    
              user='root',
    
              passwd='1',
    
              db='test')
    
    cursor = conn.cursor()
    
    cursor.execute ("SELECT VERSION()")
    
    row = cursor.fetchone ()
    
    print "server version:", row[0]
    
    cursor.close()
    
    conn.close()
    

     输出:

    server version: 5.5.58

     说明:Win10下Python连通MySQL正确。

    作者信息:

    PaulTsao

    Github: github.com/apollocaoy

    Linkedin:www.limkedin.com/apollocaoy

    E-mail:apollocaoy@foxmail.com

    转载引用请注明出处。 文章作者:PaulTsao 文章来源:http://www.cnblogs.com/PaulTsao/ 作者信息:www.linkedin.com/apollocaoy
  • 相关阅读:
    Maven实战(六)依赖
    Maven实战(五)坐标详解
    Maven实战(四)生命周期
    Maven实战(三)Eclipse构建Maven项目
    Maven实战(二)构建简单Maven项目
    Maven实战(一)安装与配置
    哈佛图书馆自习室墙上的训言——觉得为时已晚的时候,恰恰是最早的时候——不是缺乏时间,而是缺乏努力
    JQuery中国省市区无刷新三级联动查询
    思科VSS配置指南
    思科IS-IS多区域和汇总配置
  • 原文地址:https://www.cnblogs.com/PaulTsao/p/8267584.html
Copyright © 2011-2022 走看看