返回顶部
首页 > 资讯 > 数据库 >python对mysql的操作
  • 607
分享到

python对mysql的操作

操作pythonmysql 2023-01-31 01:01:38 607人浏览 独家记忆
摘要

 Http://sourceforge.net/projects/Mysql-python 如果你不确定你的Python环境里有没有这个库,那就打开python shell,输入 import mysqldb,如果返回错误信息,那就表示你的

 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])
您可能感兴趣的文档:

--结束END--

本文标题: python对mysql的操作

本文链接: https://lsjlt.com/news/185140.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python对mysql的操作
     http://sourceforge.net/projects/mysql-python 如果你不确定你的python环境里有没有这个库,那就打开python shell,输入 import MySQLdb,如果返回错误信息,那就表示你的...
    99+
    2023-01-31
    操作 python mysql
  • 27. Python对Mysql的操作(
    1.游标游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由python进一步处理,一组主变量一次只能存放一条记录仅使用主变量并不能完全满足SQL语句向应用程序输出数据的...
    99+
    2023-01-31
    操作 Python Mysql
  • Python 对mysql数据库的操作
    Python 对mysql数据库的操作 #!/usr/bin/python # -*- coding: utf-8 -*- import MySQLdb class mysql:     def __init__(self, sql, h...
    99+
    2023-01-31
    操作 数据库 Python
  • python-对于mysql数据库的操作
    python操作mysql数据库 问题:DDL,DCL,DML的区别? 语言与框架:jdbc/odbc操作数据库    java(ibatis/hibernate/jpa)操作数据库 客户端工具:navicat for mysql   步...
    99+
    2023-01-30
    操作 数据库 python
  • 使用Python对MySQL数据操作
    本文介绍Python3使用PyMySQL连接数据库,并实现简单的增删改查。 什么是PyMySQL? PyMySQL是Python3.x版本中用于连接MySQL服务器的一个库,Python2.x中则使用mys...
    99+
    2022-06-04
    操作 数据 Python
  • python对文件的操作
    python对文件的操作创建与打开对文件的读写操作对文件的复制,删除,重命名等操作举例说明python打开一个文件可以用open或file>>> fo=open('./12.txt')>>> fo.rea...
    99+
    2023-01-31
    操作 文件 python
  • python 对文件的操作
    python对文件的操作    打开文件的方式:    r :  读数据  默认方式;    w :  只写,打开文件之前重写这个文件,打开文件的同时把文件清空;    a :   以追加的方式写在文件最后,因为指针在最后;    + : ...
    99+
    2023-01-31
    操作 文件 python
  • python操作mysql
    # rpm -qa |grep MySQL-python 查询是否有mysqldb库MySQL-python-1.2.3-0.3.c1.1.el6.x86_64>>> import MySQLdb #导入mysqldb模块...
    99+
    2023-01-31
    操作 python mysql
  • python对数据库mysql的操作(增删改查)
    #coding=utf-8import pymysql# #查询# def connMySQL():# try:# conn=pymysql.connect(‘localhost‘,‘root‘,‘admin‘)# ...
    99+
    2015-11-13
    python对数据库mysql的操作(增删改查) 数据库入门 数据库基础教程 数据库 mysql
  • python对kafka的基本操作
    from kafka import KafkaProducerfrom kafka import KafkaConsumerfrom kafka.structs import TopicPartitionimport time boots...
    99+
    2023-01-31
    操作 python kafka
  • Python 操作Mysql(PyMysql)
    Python 操作 Mysql 常用方式: PyMysql:纯 Python 语言编写的 Mysql 操作客户端,安装方便,支持 Python3。SQLAlchemy:是一个非常强大的 ORM 框架,...
    99+
    2023-09-09
    Python 操作Mysql Python使用PyMysql
  • Python操作MySQL(2)
    查询数据 使用execute()函数执行查询sql语句后,得到的只是受影响的行数,并不能真正拿到我们查询的内容。没关系,这里游标cursor中还提供了三种提取数据的方法:fetchone、fetchmany、fetchall,每个方法都会...
    99+
    2023-01-31
    操作 Python MySQL
  • python中操作mysql的pymy
    简述 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。本文测试python版本:3.5.2。mysql版本:5.7.18 一、安装 p...
    99+
    2023-01-31
    操作 python pymy
  • Python对数据库操作
    Windows下安装MySQL-python 下载地址:https://pypi.python.org/pypi/MySQL-python/1.2.5 安装到系统即可。 linux下安装MySQL-py...
    99+
    2022-06-04
    操作 数据库 Python
  • 使用python对redis操作
    写在前面首先声明,这是为了学习python对redis操作而写的一个小demo,包括了这几天网站找到的一些资料,综合总结出来一些东西,最后附上我写的一个用python操作redis的一个demo:模块安装python提供了一个模块redis...
    99+
    2023-01-31
    操作 python redis
  • MySQL中对数据的操作案例
    小编给大家分享一下MySQL中对数据的操作案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、增加数据普通的插入INSERT ...
    99+
    2024-04-02
  • python如何操作mysql
    mysql 使用 启动服务 sudo systemctl start mysql pip3 install pymysql python 操作数据库: 定义类 import pymysql cla...
    99+
    2022-05-13
    python MySQL python 操作MySQL
  • python操作oracle和mysql
    1、安装相关包yum install python-devel mysql-devel zlib-devel openssl-devel 2、安装setup、mysql-python包wget h...
    99+
    2024-04-02
  • python怎么操作mysql
    这篇文章将为大家详细讲解有关python怎么操作mysql,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python操作mysql的方法:首先输入命令行pip insta...
    99+
    2024-04-02
  • Python操作MySQL(二) ORM
    SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 一、安装 pip3 install ...
    99+
    2023-01-31
    操作 Python ORM
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作