python操作MySQL
2016-08-18 15:27
435 查看
安装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
赞助
如果您认为以上内容对您有所帮助或者您心情好,不妨支持我一下,谢谢。相关文章推荐
- python tornado 操作 mysql
- python操作mysql
- python 3 mysql操作
- python操作mysql--银行转账实例
- Python中操作mysql的pymysql模块详解
- python操作mysql中文显示乱码的解决方法
- Python 操作mysql
- 【Python】python3.6 操作mysql
- Python操作数据库之 MySQL
- 封装的python mysql操作ORM类
- python操作MySQL
- Python操作Mysql实例代码教程(查询手册)
- python mysql简单操作,报错处理
- python使用pymysql实现操作mysql
- 『python工作』mysql 数据库的一些操作数据库的函数
- Python中操作mysql的pymysql模块详解
- Python---MySQL相关操作
- Python与Mysql之间的操作MySQLdb
- Python3.x操作MYSQL