python访问mysql数据库

开始python的学习!啦啦啦。

python的几个内建函数:apply(),filter(),map(),reduce()

使用python 访问 mysql数据库。
1,需要安装mysql,之所以需要安装mysql,是因为mysql-python包的编译安装需要读取配置文件。没有安装的话,会报如下错误:EnvironmentError: mysql_config not found
如果mysql安装在其他路径下,可以对mysql_config的文件路径可以指定:
修改setup_posix.py文件,在26行显示地设定mysql_config:mysql_config.path = "/data/mysql/bin/mysql_config"

python访问mysql数据库_第1张图片

一路安装,默认会安装再/usr/local/mysql下。
2,安装mysq-python包,下载地址为:http://sourceforge.net/projects/mysql-python/
运用python setup.py build ,python setup.py install安装。
不过会报如下错误:

python访问mysql数据库_第2张图片
根据提示信息,是缺少gcc,网上查阅资料,
http://waqasshabbir.tumblr.com/post/19073648382/llvm-gcc-4-2-exe-error-on-mac-osx-lion-when-building
通过安装gcc-10.7或者安装xcode可以解决。
本来想安装最新的xcode的,但是app store严重不给力,还有人说有bug啥的。就没有贸然去安装了。gcc-10.7这个据作者说卸载比较麻烦。

3,如果找不到libmysqlclient.18.dylib
则做一个软链接:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/

4,访问mysql数据的代码还是比较简单的。
1.导入MySQL模块
import MySQLdb

2.数据库连接 (打开/关闭)
conn = MySQLdb.connect(host="", user="", passwd="", db="")

conn.close()

3.游标 (是python数据库访问的中心)
cursor = conn.cursor()
cursor.execute(insertsql/updatesql/deletesql) #执行更新语句

参数化SQL--带占位符的sql语句
cursor.execute("insert into colors(color, abbr) values(%s, %s)", ('blue', 'bl'))
MySQLdb将所有值视为字符串值,即使其底层数据库类型为bigint, double, date...
cursor.executemany("insert into colors(color, abbr) values(%s, %s)", ('blue', 'bl'), ('red', 'rd'), ('orange', 'oe'))
等价于
cursor.execute("insert into colors(color, abbr) values(%s, %s)", ('blue', 'bl'))
cursor.execute("insert into colors(color, abbr) values(%s, %s)", ('red', 'rd'))
cursor.execute("insert into colors(color, abbr) values(%s, %s)", ('orange', 'oe'))

4.查询
cursor.execute(selectsql)
for row in cursor.fetchall():

获取结果集方法 (如果sql不是一个查询就抛出异常):
1) cursor.fetchall--获取所有结果
2) cursor.fetchone--逐行取出
3) cursor.fetchmany--取出预定义数目的行

你可能感兴趣的:(python)