Python --mysql数据库操作2
Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。
Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库.以下的以MySQLdb为实例
Python的DB-API,为大多数的数据库实现了接口,使用它连接各数据库后,就可以用相同的方式操作各数据库。
Python DB-API使用流程:
- 引入 API 模块。
- 获取与数据库的连接。
- 执行SQL语句和存储过程。
- 关闭数据库连接
以下实例要点:
1、数据库的连接
2、数据库连接编码:charset='utf8'
3、mysq的执行:cusor 游标、execute()执行、
4、查询结果获取方法:
- fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
- fetchall():接收全部的返回结果行.
- rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。
5、数据库执行异常输出:
try:
........
except Exception,ex:
#输出异常信息
print "查询失败:",Exception,":",ex
#!/usr/bin/python # -*- coding: UTF-8 -*- import sys reload(sys) sys.setdefaultencoding('utf8') import datetime import MySQLdb #打开数据库连接,注意加:charset,否则输出的中文内容将为?号 db=MySQLdb.connect("192.168.96.22","root","ktvtest123","viptest",charset='utf8') #使用cussor()方法获取操作游标 cusor = db.cursor() #使用execute()方法执行sql插入语句", #(1)Python代码换行就是每行后面加个 \ #(2)PYHTON 传参:%s--字符串,%d--整数类型,%f--float类型,%.2f---float类型(保留2位小数) sql="INSERT INTO weeks(modelname, versioname, tester, poster, innerstatus) VALUES ('mia','miao2','5','miao4','miao5')" sql1="INSERT INTO weeks (modelname, \ versioname, tester, poster, innerstatus) VALUES ('%s', '%s', '%s', '%s', '%s' )" % \ ('miao7', 'miao7', 'miao7', 'miao7', 'miao7') # try: #执行sql语句 #cusor.execute(sql1) # 使用execute()方法执行sql查询语句 cusor.execute("select * from weeks") # Python查询Mysql使用fetchone()方法获取单条数据 # 使用fetchall()方法获取多条数据。 # fetchone(): 该方法获取下一个查询结果集。结果集是一个对象 # fetchall():接收全部的返回结果行. # rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数 # 使用fetchone()方法获取一条数据 #data = cusor.fetchone() #print data[0], data[1], data[2], data[3], data[4], data[5] # 使用fetchall()方法获取所有数据列表 results = cusor.fetchall() for row in results: modelname=row[0] versioname=row[1] tester=row[2] poster=row[3] innerstatus=row[4] createTime=row[5] #print createTime print "modelname = %s,versioname= %s, tester= %s, poster= %s, innerstatus= %s" % \ (modelname, versioname, tester, poster, innerstatus),"createTime=",createTime #rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。 print cusor.rowcount # print results[0] #提交到数据库执行: #db.commit() #出现异常时,执行操作 except Exception,ex: #发生错误时,进行回滚 db.rollback() #输出异常信息 print "查询失败:",Exception,":",ex #关闭数据库 db.close() ######数据库插入操作