安装MySQLdb
pip install MySQL-python
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。
- fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
- fetchall():接收全部的返回结果行.
实例
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
'''
Created on 2016/08/19
File Name:py_mysql.py
author: LindenTao
Description : python mysqldb demo
'''
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("127.0.0.1", "root", "123456", "testsql")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# # 使用execute方法执行SQL语句
# cursor.execute("SELECT VERSION()")
# # 使用 fetchone() 方法获取一条数据库。
# data = cursor.fetchone()
# print "Database version : %s " % data
# # 创建数据库表
# # 如果数据表已经存在使用 execute() 方法删除表
# cursor.execute("DROP TABLE IF EXISTS person")
# # 创建数据表SQL语句
# sql = """CREATE TABLE person (
# `person_id` int(8) NOT NULL AUTO_INCREMENT COMMENT '人员ID',
# `person_name` varchar(16) COMMENT '姓名',
# `person_sex` varchar(1) COMMENT '性别',
# PRIMARY KEY (`person_id`)
# )ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;"""
# cursor.execute(sql)
# # 数据库插入操作
# # SQL 插入语句
# sql = """INSERT INTO person (person_id,person_name, person_sex) VALUES (1, 'Mohan', 'M')"""
# person_id = 2
# person_name = 'Linden'
# person_sex = 'M'
# try:
# # 执行sql语句
# cursor.execute(sql)
# cursor.execute('INSERT INTO person VALUES ("%d", "%s", "%s")' % \
# (person_id, person_name, person_sex))
# # 提交到数据库执行
# db.commit()
#
# except Exception, e:
# # Rollback in case there is any error
# db.rollback()
# print Exception, ":", e
# # 数据库查询操作
# # SQL 查询语句
# sql = "SELECT * FROM person \
# WHERE person_id > '%d'" % (2)
# try:
# # 执行SQL语句
# cursor.execute(sql)
# # 获取所有记录列表
# results = cursor.fetchall()
# for row in results:
# person_id = row[0]
# person_name = row[1]
# person_sex = row[2]
# # 打印结果
# print "person_id=%d, person_name=%s, person_sex=%s" % \
# (person_id, person_name, person_sex)
# except:
# print "Error: unable to fecth data"
# # 数据库更新操作
# # SQL 更新语句
# sql = "UPDATE person SET person_name = 'Lucy' \
# WHERE person_id = '%d'" % (2)
# try:
# # 执行SQL语句
# cursor.execute(sql)
# # 提交到数据库执行
# db.commit()
# except Exception, e:
# # 发生错误时回滚
# db.rollback()
# print Exception, ":", e
# 删除操作
# SQL 删除语句
sql = "DELETE FROM person WHERE person_name = '%s'" % ('Jack')
try:
# 执行SQL语句
cursor.execute(sql)
# 提交修改
db.commit()
except:
# 发生错误时回滚
db.rollback()
# 关闭数据库连接
db.close()
执行事务
事务机制可以确保数据一致性。
事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
- 原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
- 一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
- 隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
- 持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
问题
问题1:win6_64安装驱动报错–error: command ‘“C:\Users\fnngj\AppData\Local\Programs\Common\Microsoft\Visual C ++ for Python\9.0\VC\Bin\amd64\cl.exe”’ failed with exit status 2
解决:
原因之一是python官网搜索不到这个64位的驱动,下载安装即可。
驱动链接:http://download.csdn.net/detail/u011845833/9606731
赞助
如果您认为以上内容对您有所帮助或者您心情好,不妨支持我一下,谢谢。