MySQLdb库连接MySQL数据库
来源:互联网 发布:sql创建存储过程语法 编辑:程序博客网 时间:2024/06/06 00:07
Python DB-API是Python的数据库应用程序接口,支持包括Oracle,MySQL,DB2,MSSQL,Sybase等主流数据库,但不同的数据库,需要下载不同的模块,比如说:MySQLdb模块支持MySQL. 虽然模不一样,但所有这些API执行步骤是一致的:
1. 导入API模
2. 获取与数据库的连接.
3. 发出SQL语句和存储过程.
4. 关闭连接
下面以MySQLdb模块来做说明:
安装
首先必须安装。Windows下载链接:http://www.codegood.com/archives/4
插入
#导入相关模块import MySQLdb#建立和mysql数据库的连接dbconn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='abcd')#获取游标cursor = dbconn.cursor()#执行SQL,创建一个数据库cursor.execute("drop database if exists test")cursor.execute("create database test")#选择连接哪个数据库dbconn.select_db('test')#引入异常处理try: #执行SQL,创建一个表cursor.execute("create table log(id int,message varchar(50))") #插入一条记录value = [0,"Log Information ID is:0"]cursor.execute("insert into log values(%s,%s)",value) #插入多条记录values = []for i in range(1,11):values.append((i,'Log Information ID is:' + str(i)))cursor.executemany("insert into log values(%s,%s)",values) #提交修改 dbconn.commit()except: #如果执行SQL语句有错,则回滚!dbconn.rollback()#关闭游标连接,释放资源cursor.close()#关闭连接dbconn.close()
查询
数据库建立连接后,可以使用fetchone()方法来获取单个记录或者fetchAll方法fetech从数据库表的多个值.
fetchone(): 这种方法获取查询结果集的下一行。结果集是一个对象时,将返回一个游标对象用于查询表.
fetchall(): 这种方法获取结果集的所有行。如果某些行已经从结果集中提取,fetchAll()方法检索结果集的其余行.
rowcount: 这是一个只读属性,返回受影响的行数execute()方法.
#导入模块import MySQLdb #也可以将数据库名放到Connect()dbconn = MySQLdb.Connection('127.0.0.1', 'root', 'abcd', 'test') cursor = dbconn.cursor() count = cursor.execute('select * from log') print '总共有 %s 条记录',count #获取一条记录,每条记录做为一个元组返回 print "只获取一条记录:" result = cursor.fetchone(); print result print 'ID: %s Log Info: %s' % result #获取5条记录,注意由于之前执行有了fetchone(),所以游标已经指到第二条记录了,也就是从第二条开始的所有记录 print "只获取5条记录:" results = cursor.fetchmany(5) for res in results: print res print "获取所有结果:" #重置游标位置,0,为偏移量,mode=absolute | relative,默认为relative, cursor.scroll(0,mode='absolute') #获取所有结果 results = cursor.fetchall() for res in results: print res dbconn.close()
C:\Work\Python\Learn>python select.py总共有 %s 条记录 11只获取一条记录:(0L, 'Log Information ID is:0')ID: 0 Log Info: Log Information ID is:0只获取5条记录:(1L, 'Log Information ID is:1')(2L, 'Log Information ID is:2')(3L, 'Log Information ID is:3')(4L, 'Log Information ID is:4')(5L, 'Log Information ID is:5')获取所有结果:(0L, 'Log Information ID is:0')(1L, 'Log Information ID is:1')(2L, 'Log Information ID is:2')(3L, 'Log Information ID is:3')(4L, 'Log Information ID is:4')(5L, 'Log Information ID is:5')(6L, 'Log Information ID is:6')(7L, 'Log Information ID is:7')(8L, 'Log Information ID is:8')(9L, 'Log Information ID is:9')(10L, 'Log Information ID is:10')
3 0
- MySQLdb库连接MySQL数据库
- 使用MySQLdb连接MySQL数据库
- MySQLdb 连接Mysql 数据库出错解决
- MySQLdb 连接Mysql 数据库出错解决
- Python3.5,django连接mysql数据库MySQLdb
- python使用mysqldb连接mysql数据库
- python连接MYSql数据库python连接MYSql数据库 使用 MySQLdb
- MYSQLDB不能连接MYSQL
- Python连接MYSQL --- MySQLdb
- python模块之MySQLdb: 用python连接mysql数据库
- python模块之MySQLdb: 用python连接mysql数据库
- python学习笔记 安装MySQLdb,连接mysql数据库
- Python连接Mysql数据库报错,安装MySQLdb模块
- Python连接Mysql数据库报错,安装MySQLdb模块
- python使用mysqldb连接数据库
- python26 mysqldb连接数据库问题
- 安装MySQLdb与连接数据库
- Python连接mysql数据库及python使用mysqldb连接数据库教程
- 相似图片搜索的三种哈希算法
- wikioi1082 线段树和lazy思想
- 初来乍到。
- HDL输入设计详解攻略
- C++链表的创建与操作
- MySQLdb库连接MySQL数据库
- 【quartus】原理图输入设计详解攻略
- 黑马程序员_异常及处理
- c++ ActiveX基础:使用VS2010创建MFC ActiveX工程项目
- JAVA 对象的初始化过程
- 黑马程序员--高新技术--泛型
- uboot实验0
- 字符串常量的存储区
- 526php之小题目-可买鸭子的数量