一、安装pymysql
sudo pip install pymysql
二、win7上python2.7连接mysql数据库,配置写到配置文件中,本例子找那个包括:
1、单条插入
2、批量插入
3、事务处理
myapp.conf
# database source
[downdb]
host = XXX.XXX.XXX.XXX
port = 3306
user = funnel
pass = 1qaz@<2wsx
dbName = user_privileges
[ondb]
host = XXX.XXX.XXX.XXX
port = 3306
user = funnel
pass = 1qaz@<2wsx
dbName = bi_data
mysqlHelper.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import ConfigParser
import codecs
import pymysql
DBSource = "ondb"
cp = ConfigParser.SafeConfigParser()
with codecs.open('myapp.conf', 'r', encoding='utf-8') as f:
cp.readfp(f)
'''mysql的连接'''
conn = pymysql.connect(host=cp.get(DBSource, 'host'), user=cp.get(DBSource, 'user'), password=cp.get(DBSource, 'pass'),
database=cp.get(DBSource, 'dbName'), use_unicode=True)
'''mysql的游标'''
cursor = conn.cursor()
def mysqlExecute(sql):
try:
cursor.execute(sql)
conn.commit()
except:
cursor.rollback()
def mysqlSearch(sql):
try:
cursor.execute(sql)
return cursor.fetchall()
except:
cursor.rollback()
def mysqlBatchInset(sql, args):
try:
cursor.executemany(sql, args)
conn.commit()
except:
cursor.rollback()
def mysqlClose():
conn.close()
if __name__ == "__main__":
sql = "select * from hdfs_delete_file_record order by DATE DESC limit 100 "
# sql = "select * from hdfs_path_Monitor order by DATE DESC limit 100 "
# 使用 fetchone() 方法获取一条数据库。
values = mysqlSearch(sql)
for row in values:
#print row
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
# 打印结果
print "fname=%s,lname=%s,age=%d,sex=%s" % \
(fname, lname, age, sex)
mysqlClose()