Python学习路程二:初探Mysql编程

上一篇 / 下一篇  2014-09-18 20:39:21 / 个人分类:python学习历程

  首先我们需要意识到利用python来对数据库进行增删改查,我们需要利用中间件来连接python与数据库。本次学习的数据库是mysql。对应的中间件版本是2.7,32bit,windows。该版本的确立是已经python版本而来。在windows环境下按安装很简单,这里就不多做记录了。安装成功后可以去目录下查看有哪些文件:../../Lib/site-packages/MySQLdb。
  接下来开始连接某一个数据库:

# -*- coding: utf8 -*-

import MySQLdb

#打开数据库连接

db = MySQLdb.connect("localhost", "root", "root", "test_python", 3306)

#获取游标

cursor = db.cursor()

cursor.execute("SELECT VERSION()")

data = cursor.fetchone()

print "Database version : %s " % data

#关闭游标

cursor.close()

#关闭数据库

db.close()
上述代码运行结果如下:Database version : 5.0.22-community-nt

在进行数据库连接时,连接函数connect对应的参数位置不能出错,该函数对应的参数可以到connections.py的模块文件中进行查看。“localhost”:是服务器地址;“root”,“root”分别对应数据库user,passwd;“test_python”:对应的是database;3306:端口。同时可以设置charset参数为utf-8来避免中文乱码。还有其他参数使用的频率不高,这里就不列出来了。
  学习过程中最大的收获是根据trace去MySQLdb源码中寻找答案:
Traceback (most recent call last):
  File "C:\Python27\2014-09-14-MySQLdb.py", line 5, in <module>
    db = MySQLdb.connect("localhost", "root", "test_python")
  File "C:\Python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
    return Connection(*args, **kwargs)
  File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 187, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (1045, "Access denied for user
'root'@'localhost'(using password: YES)")。很明显,我们可以先看看connections.py中查看connect函数都有哪些参数配置。有时候也许只是因为你的函数参数个数不对,或者参数位置不对而导致错误。
看到trace的第一反应不是copy错误信息,然后去google,去baidu而是自己先查看错误来源,从而形成自己对问题的初步判断。这样可以提高自己独立思考能力。同时以后尽量去看源码。python的模块源码还是很容易读懂的。
   接下更深入的扩展就是将cursor.execute(sql)中的sql转化为数据库的增删改查的合法语句,并带入参数进行DDL,DML操作!



TAG:

 

评分:0

我来说两句

日历

« 2024-04-24  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 12435
  • 日志数: 6
  • 建立时间: 2014-06-29
  • 更新时间: 2015-04-19

RSS订阅

Open Toolbar