安装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

赞助

如果您认为以上内容对您有所帮助或者您心情好,不妨支持我一下,谢谢。
pay

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐