下载 mysql for python,最新版 mysql-python-1.2.4b4.tar.gz
1) 提前安装:mysql_config 环境
否则后面 python setup.py build 会提示找不到 “environmenterror: mysql_config not found”,安装命令如下:
sudo apt-get install libmysqlclient-dev
sudo apt-get install python-dev (解决fatal error: python.h: no such file or directory)
centos 安装 yum install mysql-devel 和 yum install python-devel(解决error: command 'gcc' failed with exit status 1)
2) 然后,再安装mysqldb
$ tar zxvf mysql-python-1.2.2.tar.gz
$ cd mysql-python-1.2.2
$ sudo python setup.py build
$ sudo python setup.py install
3) 验证成功安装
homer@ubuntu:~/mycode/python$ python
python 2.7.3 (default, aug 1 2012, 05:14:39)
[gcc 4.6.3] on linux2
type help, copyright, credits or license for more information.
>>> import mysqldb
>>>
import mysqldb 没有出错,说明安装成功!
测试示例:
import mysqldbdb = mysqldb.connect(localhost,myusername,mypassword,mydb )cursor = db.cursor()cursor.execute(select version())data = cursor.fetchone() print database version : %s % data db.close()
python 连接mysql示例:
##################### it-homer# 2013-05-10####################import mysqldbdb = mysqldb.connect(host=localhost, user=root, passwd=abcd1234, db=testdb)cursor = db.cursor()cursor.execute(select * from gametestdb limit 10)result = cursor.fetchall()for row in result: #print row #print row[0], row[1], row[2] #print '%s, %s, %s' % (row[0], row[1], row[2]) print ', '.join([str(row[0]), str(row[1]), str(row[2])])cursor.close()'''import sysimport mysqldbreload(sys)sys.setdefaultencoding('utf-8')db = mysqldb.connect(user='root', passwd='abcd1234', charset='utf8')cur = db.cursor()cur.execute('use testdb')cur.execute('select * from gametestdb limit 10')f = file(/home/homer/tmp_mysql.txt, 'w')for row in cur.fetchall(): f.write(str(row)) f.write(\n)f.close()cur.close()'''
##################### it-homer# 2013-05-10####################import mysqldb# local mysql# db = mysqldb.connect(host=localhost, user=root, passwd=abcd1234, db=testdb)# aws rds mysqldb = mysqldb.connect(host=ithomer.aliyun.com, user=ithomer, passwd=abcd1234, db=dman)cursor = db.cursor()cursor.execute(select * from score limit 10)result = cursor.fetchall()for row in result: #print row #print row[0], row[1], row[2] #print '%s, %s, %s' % (row[0], row[1], row[2]) print ', '.join([str(row[0]), str(row[1]), str(row[2])])cursor.close()'''import sysimport mysqldbreload(sys)sys.setdefaultencoding('utf-8')db = mysqldb.connect(user='root', passwd='abcd1234', charset='utf8')cur = db.cursor()cur.execute('use testdb')cur.execute('select * from gametestdb limit 10')f = file(/home/homer/tmp_mysql.txt, 'w')for row in cur.fetchall(): f.write(str(row)) f.write(\n)f.close()cur.close()
python 连接mongodb
1) 安装pymongo
pymongo 下载,最新 pymongo-2.6.tar.gz
安装
$ tar zxvf pymongo-2.6.tar.gz
$ cd pymongo-2.6
$ sudo python setup.py build
$ sudo python setup.py install
2)连接mongodb
#!/usr/bin/pythonimport pymongoimport randomhost = '172.27.22.21'port = 27017_db='test'_table='testuser'conn = pymongo.connection(172.27.22.21, 27017)db = conn[_db] # get dbdb.authenticate(yanggang, 123456)table = db[_table] # get collectiontable.drop()table.save({id:1, name:homer, age:18})for id in range(2,10): name = random.choice(['it', 'homer', 'sunboy', 'yanggang']) age = random.choice([10, 20, 30, 40, 50, 60]) table.insert({id:id, name:name, age:age})cursor = table.find()for user in cursor: print user'''conn = pymongo.connection(172.27.22.21, 27017)db = conn.testdb.authenticate(yanggang, 123456)db.testuser.drop()db.testuser.save({id:1, name:homer, age:18})for id in range(2,10): name = random.choice(['it', 'homer', 'sunboy', 'yanggang']) age = random.choice([10, 20, 30, 40, 50, 60]) db.testuser.insert({id:id, name:name, age:age})cursor = db.testuser.find()for user in cursor: print user'''
运行结果
python 连接 redis
1)前往 redis-py 下载发布版本 release,最新发布版本: redis-py-2.8.0.zip
2)解压 redis-py-2.8.0.zip: unzip redis-py-2.8.0.zip, 安装: sudo python setup.py install
3)验证安装成功:
# python
>>> import redis
>>>
4)简单示例:
>>> import redis>>> r = redis.strictredis(host='localhost', port=6379, db=0)>>> r.set('foo', 'bar')true>>> r.get('foo')'bar'
5)python脚本示例#!/usr/bin/python# -*- coding: utf-8 -*-import sysreload(sys)sys.setdefaultencoding('utf-8')import redis_redis_host = '172.27.9.104'_redis_port = 6379_redis_db = 0def read_redis(): r = redis.redis(host=_redis_host, port=_redis_port, db=_redis_db) # 删除当前数据库的所有数据 r.flushdb() r.set('foo', 'bar') print(r.get('foo')) # bar r.set('blog', 'ithomer.net') r.set('name', 'yanggang') # 查询没有key,返回 none print(r.get('none123')) # none # 库里有多少key,就多少条数据 print(r.dbsize()) # 3 # 列出所有键值 print(r.keys()) # ['blog', 'foo', 'name']if __name__ == __main__: read_redis()
运行结果:bar
none
3
['blog', 'foo', 'name']
参考推荐:
python 連接 mysql
mysqldb user's guide
python 字符串操作
mysql_config not found(stackover flow)
python 创建mysql数据库
python连接mongodb并操作
redis-py(github)
