mysql数据库是跨平台的,不是说python一定就要连接mongodb。
python连接mysql数据库是很简单的。
首先,你要配置好python的开发环境,详见《【python】windows版本的python开发环境的配置,helloworld,python中文问题,输入输出、条件、循环、数组、类》(点击打开链接),与mysql的开发环境,详见《【mysql】mysql的安装、部署与图形化》(点击打开链接)。
之后,打开python的官网(点击打开链接),如下图,直接下载一键安装包mysql-python-1.2.5.win32-py2.7.exe,小心不要手抖点到旁边的md5
为何不下载下方的手动安装包zip呢?主要是在我的windows7 x64系统,如果你没有装visual c++ 9.0的运行环境,也就是vs2008平台。即使你的电脑有vs2010,在微软的官网下载了vcforpython27.msi,这个手动安装包不知为何还是安装不了的。因此不要折腾了,直接一键安装。
随后,打开控制台,输入python,之后输入:
import mysqldb
注意大小写,如果如下图一样没有报错,证明python已经具备操作mysql数据库的能力的。
但是,你依然需要配置eclipse中的pydev环境,否则在编程的时候会不断报错。具体如下:
1、打开eclipse的pydev界面,通过工具栏上的windows->preferences打开如下图的属性配置窗口
pydev->python interpreters打开如下图的界面,如图所示,添加刚刚安装的mysqldb包。
具体的位置就是你的python的安装目录下的lib\site-packages中,这个目录准备存放一些供python所import的安装包
2、之后还要在命令行中添加这条命令,如图切换的forced builtins的标签库,new一个mysqldb命令,点击确定,保存退出,完事。正式可以在以后的开发中,开启python对mysql数据库的操作。
如下图,是一张在用户名为pc密码为admin的mysql中test数据库中的一张usertable表:
以下的python完成对这张表的增删改查操作,唯一值得注意的是,在连接数据库的时候,host一定要写成127.0.0.1,python是不认localhost的。
#-*-coding:utf-8-*-import mysqldbconn=mysqldb.connect(host=127.0.0.1,user=pc,passwd=admin,db=test,port=3306);#数据库连接cur=conn.cursor();#初始化游标result=cur.fetchmany(cur.execute(select * from usertable));#查询test数据库中的usertable表for r in result:#打印查询结果 print r;print cur.execute(select * from usertable);#求查询结果的数量cur.execute(insert into usertable(username,password) values(%s,%s),[sadasd,sssss]);#插入数据cur.execute(delete from usertable where username=%s,[sadasd]);#删除数据conn.commit();#提交上面的sql语句到数据库执行cur.close();#销毁游标conn.close();#关闭数据库连接
运行结果如下图所示,其中l代表这个数据是long,先把整张usertable表查询出来,之后查usertable有多少项,之后删除插入的语句。
在查询语句中,返回的结果一个二维数组result,利用foreach遍历其中的每一项皆为一维数组r,根据需要可以再遍历。
如果不用cur.fetchmany方法格式化cur.execute(select * from usertable)这条语句的话,直接就是当前查询结果的数量。
对于没有返回值的insert into与delete from语句,其值利用%s代替,后面补上一个同长度的数组,替换这些值。如果其值为数字,则用%d。这样能避免字符串连接与注入问题。