我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python对mysql的操作

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python对mysql的操作

 http://sourceforge.net/projects/mysql-python

如果你不确定你的python环境里有没有这个库,那就打开python shell,输入 import MySQLdb,如果返回错误信息,那就表示你的机器上没有,赶紧去下载一个.我的机器是win xp,所以我下载了win环境下的exe那个,直接双击完成安装.
在介绍具体的操作前,先花点时间来说说一个程序怎么和数据库进行交互
1.和数据库建立连接
2.执行sql语句,接收返回值
3.关闭数据库连接
使用MySQLdb也要遵循上面的几步.让我们一步步的进行.
[b]0.引入MySQLdb库[/b]
import MySQLdb
[b]1.和数据库建立连接[/b]
conn=MySQLdb.connect(host="localhost",user="root",passwd="sa",db="mytable")
提供的connect方法用来和数据库建立连接,接收数个参数,返回连接对象.
比较常用的参数包括
host:数据库主机名.默认是用本地主机.
user:数据库登陆名.默认是当前用户.
passwd:数据库登陆的秘密.默认为空.
db:要使用的数据库名.没有默认值.
port:MySQL服务使用的TCP端口.默认是3306.
更多关于参数的信息可以查这里
http://mysql-python.sourceforge.net/MySQLdb.html
然后,这个连接对象也提供了对事务操作的支持,标准的方法
commit() 提交
rollback() 回滚
[b]2.执行sql语句和接收返回值[/b]
cursor=conn.cursor()
n=cursor.execute(sql,param)
首先,我们用使用连接对象获得一个cursor对象,接下来,我们会使用cursor提供的方法来进行工作.这些方法包括两大类:1.执行命令,2.接收返回值
cursor用来执行命令的方法:
callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数
execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数
executemany(self, query, args):执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数
nextset(self):移动到下一个结果集
cursor用来接收返回值的方法:
fetchall(self):接收全部的返回结果行.
fetchmany(self, size=None):接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.
fetchone(self):返回一条结果行.
scroll(self, value, mode='relative'):移动指针到某一行.如果mode='relative',则表示从当前所在行移动value条,如果 mode='absolute',则表示从结果集的第一行移动value条.
下面的代码是一个完整的例子.
#使用sql语句,这里要接收的参数都用%s占位符.要注意的是,无论你要插入的数据是什么类型,占位符永远都要用%s
sql="insert into cdinfo values(%s,%s,%s,%s,%s)"
#param应该为tuple或者list
param=(title,singer,imgurl,url,alpha)
#执行,如果成功,n的值为1
n=cursor.execute(sql,param)
#再来执行一个查询的操作
cursor.execute("select * from cdinfo")
#我们使用了fetchall这个方法.这样,cds里保存的将会是查询返回的全部结果.每条结果都是一个tuple类型的数据,这些tuple组成了一个tuple
cds=cursor.fetchall()
#因为是tuple,所以可以这样使用结果集
print cds[0][3]
#或者直接显示出来,看看结果集的真实样子
print cds
#如果需要批量的插入数据,就这样做
sql="insert into cdinfo values(0,%s,%s,%s,%s,%s)"
#每个值的集合为一个tuple,整个参数集组成一个tuple,或者list
param=((title,singer,imgurl,url,alpha),(title2,singer2,imgurl2,url2,alpha2))
#使用executemany方法来批量的插入数据.这真是一个很酷的方法!
n=cursor.executemany(sql,param)
需要注意的是(或者说是我感到奇怪的是),在执行完插入或删除或修改操作后,需要调用一下conn.commit()方法进行提交.这样,数据才会真正保 存在数据库中.我不清楚是否是我的mysql设置问题,总之,今天我在一开始使用的时候,如果不用commit,那数据就不会保留在数据库中,但是,数据 确实在数据库呆过.因为自动编号进行了累积,而且返回的受影响的行数并不为0.
[b]3.关闭数据库连接[/b]
需要分别的关闭指针对象和连接对象.他们有名字相同的方法
cursor.close()
conn.close()
三步完成,基本的数据库操作就是这样了.下面是两个有用的连接
MySQLdb用户指南: http://mysql-python.sourceforge.net/MySQLdb.html
MySQLdb文档: http://mysql-python.sourceforge.net/MySQLdb-1.2.2/public/MySQLdb-module.html
 
例子:
#!/usr/bin/env python
import MySQLdb
try:
    conn=MySQLdb.connect(host='localhost',user='root',passwd='root',port=3306,charset='utf8')
    cur=conn.cursor()
     
    cur.execute('create database if not exists python')
    conn.select_db('python')
    cur.execute('create table test(id int,info varchar(20))')
     
    value=[1,'hi rollen']
    cur.execute('insert into test values(%s,%s)',value)
     
    values=[]
    for i in range(20):
        values.append((i,'hi rollen'+str(i)))
         
    cur.executemany('insert into test values(%s,%s)',values)
 
    cur.execute('update test set info="I am rollen" where id=3')
 
    conn.commit()
    cur.close()
    conn.close()
 
except MySQLdb.Error,e:
     print "Mysql Error %d: %s" % (e.args[0], e.args[1])

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python对mysql的操作

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python对mysql的操作

http://sourceforge.net/projects/mysql-python如果你不确定你的python环境里有没有这个库,那就打开python shell,输入 import MySQLdb,如果返回错误信息,那就表示你的机器
2023-01-31

27. Python对Mysql的操作(

1.游标游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由python进一步处理,一组主变量一次只能存放一条记录仅使用主变量并不能完全满足SQL语句向应用程序输出数据的
2023-01-31

Python 对mysql数据库的操作

Python 对mysql数据库的操作#!/usr/bin/python# -*- coding: utf-8 -*-import MySQLdbclass mysql:    def __init__(self, sql, host='1
2023-01-31

python-对于mysql数据库的操作

python操作mysql数据库问题:DDL,DCL,DML的区别?语言与框架:jdbc/odbc操作数据库   java(ibatis/hibernate/jpa)操作数据库客户端工具:navicat for mysql 步骤:1.连接上
2023-01-30

使用Python对MySQL数据操作

本文介绍Python3使用PyMySQL连接数据库,并实现简单的增删改查。 什么是PyMySQL? PyMySQL是Python3.x版本中用于连接MySQL服务器的一个库,Python2.x中则使用mysqldb。 PyMySQL安装 在
2022-06-04

python 对文件的操作

python对文件的操作    打开文件的方式:    r :  读数据  默认方式;    w :  只写,打开文件之前重写这个文件,打开文件的同时把文件清空;    a :   以追加的方式写在文件最后,因为指针在最后;    + :
2023-01-31

python对文件的操作

python对文件的操作创建与打开对文件的读写操作对文件的复制,删除,重命名等操作举例说明python打开一个文件可以用open或file>>> fo=open('./12.txt')>>> fo.read()'abc\nthis is \
2023-01-31

python操作mysql

# rpm -qa |grep MySQL-python 查询是否有mysqldb库MySQL-python-1.2.3-0.3.c1.1.el6.x86_64>>> import MySQLdb #导入mysqldb模块>>> conn
2023-01-31

python对数据库mysql的操作(增删改查)

#coding=utf-8import pymysql# #查询# def connMySQL():# try:# conn=pymysql.connect(‘localhost‘,‘root‘,‘admin‘)# co
python对数据库mysql的操作(增删改查)
2015-11-13

python对kafka的基本操作

from kafka import KafkaProducerfrom kafka import KafkaConsumerfrom kafka.structs import TopicPartitionimport timebootstr
2023-01-31

Python操作MySQL(2)

查询数据使用execute()函数执行查询sql语句后,得到的只是受影响的行数,并不能真正拿到我们查询的内容。没关系,这里游标cursor中还提供了三种提取数据的方法:fetchone、fetchmany、fetchall,每个方法都会导致
2023-01-31

python中操作mysql的pymy

简述pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。本文测试python版本:3.5.2。mysql版本:5.7.18一、安装pip i
2023-01-31

Python对数据库操作

Windows下安装MySQL-python下载地址:https://pypi.python.org/pypi/MySQL-python/1.2.5 安装到系统即可。linux下安装MySQL-python以连接MySQL:下载地址:htt
2022-06-04

使用python对redis操作

写在前面首先声明,这是为了学习python对redis操作而写的一个小demo,包括了这几天网站找到的一些资料,综合总结出来一些东西,最后附上我写的一个用python操作redis的一个demo:模块安装python提供了一个模块redis
2023-01-31

python关于Mysql操作

一.安装mysqlwindows下,直接下载mysql安装文件,双击安装文件下一步进行操作即可,下载地址:http://dev.mysql.com/downloads/mysql/Linux下的安装也很简单,除了下载安装包进行安装外,一般的
2023-01-31

python如何操作mysql

mysql 使用 启动服务sudo systemctl start mysql pip3 install pymysqlpython 操作数据库:定义类import pymysqlclass MyDb():def __init__(self
2022-05-13

python安装mysql的依赖包mysql-python操作

一般情况下,使用pip命令安装即可:[root@dthost27 ~]# pip install mysql-python但是在实际工作环境中,往往会安装失败,这是因为系统缺少mysql的相关依赖组件。所以必须先安装mysql-devel类
2022-05-24

编程热搜

目录