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

1
2
3
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.”

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

1
2
3
PS C:\WINDOWS\system32> cd D:\MySQL-python-1.2.5
 
PS D:\MySQL-python-1.2.5>  msiexec /i VCForPython27.msi ALLUSERS=1

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

C:\Users\apollo\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin

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

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

a).exe文件格式

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

b).zip压缩文件格式

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

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

3)安装 MySQL Connector C 6.0.2

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

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

默认安装的路径为:

 C:\Program Files\MySQL\MySQL Connector C 6.0.2\bin

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

 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)\MySQL\MySQL Connector C 6.0.2

 将其(x86)去掉,即可:

 connector = C:\Program Files\MySQL\MySQL Connector C 6.0.2

 2)检验PythonMySQL是否连通

 检验1

 进入Python ,输入以下代码:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#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:

1
2
3
PS C:\WINDOWS\system32> cd D:\MySQL\MySQLServer-5.5\bin
PS D:\MySQL\MySQLServer-5.5\bin> mysql  -u root -p
Enter password: 132456

分步输入以下命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# -*- 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()

 输出:

1
server version: 5.5.58

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

作者信息:

PaulTsao

Github: github.com/apollocaoy

Linkedin:www.limkedin.com/apollocaoy

E-mail:apollocaoy@foxmail.com

posted @   PaulTsao  阅读(1529)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示