使用python操作mysql
- 版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖。如要转贴,必须注明原文网址
- http://www.cnblogs.com/Colin-Cai/p/7643047.html
- 作者:窗户
- QQ:6679072
- E-mail:6679072@qq.com
python可以使用MYSQLdb来操作数据库。
我们先来建数据库,其SQL语句如下:
- -- http://www.cnblogs.com/Colin-Cai
- -- 数据库名称为test
- create database test;
- use test;
- -- 生成表t
- create table t ( a int, b int);
- -- 插入数据
- start transaction;
- insert into t(a,b) values (1,1000);
- insert into t(a,b) values (1,2000);
- insert into t(a,b) values (1,3000);
- insert into t(a,b) values (2,1000);
- insert into t(a,b) values (2,2000);
- insert into t(a,b) values (2,3000);
- insert into t(a,b) values (3,1000);
- insert into t(a,b) values (3,2000);
- insert into t(a,b) values (3,3000);
- commit work;
- -- 一个插入的存储过程myinsert
-- 一个返回两个结果集的存储过程myproc- delimiter //
create procedure myinsert(in a_in int, in b_in int)
begin
insert into t(a,b) values(a_in, b_in);
end
//- create procedure myproc(in a_max int, in b_max int)
- begin
- select a,b from t where a <= a_max;
- select a,b from t where b <= b_max;
- end
- //
- delimiter ;
python操作数据库代码如下:
- #!/usr/bin/python
- import MySQLdb
- db = MySQLdb.Connect(host='localhost', user='root', passwd='', db='test')
- cursor = db.cursor()
- sql = 'call myproc(4,2000)'
- #sql = 'select a,b from t'
- #sql = 'insert into t(a,b) values(100,10000)';
- print sql
- try:
- cursor.execute(sql)
- seq = 1
- while 1:
- if seq > 1:
- cursor.nextset()
- results = cursor.fetchall()
- if results:
- print "No.%d" % (seq)
- seq = seq + 1
- for row in results:
- print "%s %s" % (row[0],row[1])
- else:
- break
- except:
- print "Wrong"
- print "OK"
- db.close()
以上代码对于有无结果集,有多个结果集(存储过程)的SQL语句都是可以使用的。如果没有结果集,当然不需要cursor,自然也查不出结果集。
cursor.nextset()用于遍历下一个结果集,此用于多结果集的存储过程。
最终关闭打开的数据库。
运行一下
- $ ./test_mysql.py
- call myproc(4,2000)
- No.1
- 1 1000
- 1 2000
- 1 3000
- 2 1000
- 2 2000
- 2 3000
- 3 1000
- 3 2000
- 3 3000
- No.2
- 1 1000
- 1 2000
- 2 1000
- 2 2000
- 3 1000
- 3 2000
- OK
使用python操作mysql的更多相关文章
- Python(九) Python 操作 MySQL 之 pysql 与 SQLAchemy
本文针对 Python 操作 MySQL 主要使用的两种方式讲解: 原生模块 pymsql ORM框架 SQLAchemy 本章内容: pymsql 执行 sql 增\删\改\查 语句 pymsql ...
- 练习:python 操作Mysql 实现登录验证 用户权限管理
python 操作Mysql 实现登录验证 用户权限管理
- Python操作MySQL
本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb ...
- Python操作Mysql之基本操作
pymysql python操作mysql依赖pymysql这个模块 下载安装 pip3 install pymysql 操作mysql python操作mysql的时候,是通过”游标”来进行操作的. ...
- python成长之路【第十三篇】:Python操作MySQL之pymysql
对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎 ...
- python操作mysql数据库的相关操作实例
python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...
- Python 操作 MySQL 之 pysql 与 ORM(转载)
本文针对 Python 操作 MySQL 主要使用的两种方式讲解: 原生模块 pymsql ORM框架 SQLAchemy 本章内容: pymsql 执行 sql 增\删\改\查 语句 pymsql ...
- Python开发【第十九篇】:Python操作MySQL
本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb ...
- Python操作Mysql实例代码教程在线版(查询手册)
本文介绍了Python操作MYSQL.执行SQL语句.获取结果集.遍历结果集.取得某个字段.获取表字段名.将图片插入数据库.执行事务等各种代码实例和详细介绍,代码居多,是一桌丰盛唯美的代码大餐 实 ...
- Python操作MySQL以及中文乱码的问题
Python操作MySQL需要安装Python-MySQL可以从网上搜索一下,和一般的Python包一样安装 安装好之后,模块名字叫做MySQLdb ,在Window和Linux环境下都可以使用,试验 ...
随机推荐
- vue2
props 向子组件传递数据是经常会用到的,一般是在子组件定义 props 来接受数据,当父组件改变数据时子组件的数据也会进行更新.但这里是有一个坑的,先看代码: <pagination :pa ...
- 自制tunnel口建虚拟专网实验
R1: interface Tunnel12 ip address 192.168.12.1 255.255.255.0 ip ospf 1 area 0 tunnel source 123.123. ...
- 【Java线程】Java内存模型总结
学习资料:http://www.infoq.com/cn/articles/Java-memory-model-1 Java的并发采用的是共享内存模型(而非消息传递模型),线程之间共享程序的公共状态, ...
- About Cheating and Plagiarism
我先描述一下此次事件的具体经过.昨天3月15号的晚上十点,是第四次作业的deadline.在15号之前,只有五位同学提交了作业,而在临近deadline的这几个小时内密密麻麻地提交了二十多份作业.和第 ...
- 第四次作业 四则运算器在C++层面上的进一步思考
OOA(Object Oriented Analysis,面向对象分析) 从客观存在的事务和事务之间的关系,归纳出有关对象(包括对象的属性和行为)以及对象之间的联系,并将具有相同属性和行为的对象用一个 ...
- Alpha 版本测试和发布说明
Alpha版本测试报告 一bug汇总 做题时答案是错的.(已修复) 每次生成的题目一样(已经修复) 计时没有显示即倒计时,难度不同的功能没有实现(打算修复) 没有导入试卷和错题功能(不打算修复) 二. ...
- 201521123037 《Java程序设计》第10周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 创建自己的异常 1.自定义异常要继承已有的异常,需要手动throw异常:根据继承的异常不同以及具体情况,选择 ...
- 201521123069 《Java程序设计》 第12周学习总结
1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2.书面作业 Q1.将Student对象(属性:int id, String name,int age,doub ...
- 《JAVA程序设计》第14周学习总结
1. 本章学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自 ...
- 201521123038 《Java程序设计》 第十四周学习总结
201521123038 <Java程序设计> 第十四周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 接口: DriverManager ...