Python使用MySQL数据库的方法以及一个实例

使用环境:Windows+python3.4+MySQL5.5+Navicat

一、创建连接

1.准备工作,想要使用Python操作MySQL,首先需要安装MySQL-Python的包,在Python 3.x下,该包已经改名为MySQLClient。可以使用pip方式安装:

pip install MySQLClient

或者下载包文件,进行安装也可以。

2.Python使用MySQL的流程:

3.启动MySQL服务器:以管理员身份启动“cmd”,输入命令:’net start mysql‘

Python中使用MySQL导入方法:import MySQLdb

4.创建Connection

  Connection:创建了Python客户端与数据库之间的网络通路。他的参数如下

参数名 类型 说明
host String MySQL的服务器地址
port int MySQL的端口号
user String 用户名
passwd String 密码
db String 使用的数据库
charset String 连接字符集

  Connection支持的方法:

方法名 说明
cursor() 创建并且返回游标
commit() 提交当前事物
rollback() 回滚当前事物r()
close() 关闭Connection

5.获取Cursor.

Cursor:游标对象,用于执行查询和获取结果,它支持的方法如下:

方法名 说明
execute() 用于执行一个数据库的查询命令
fetchone() 获取结果集中的下一行

fetchmany(size)

获取结果集中的下(size)行
fetchall() 获取结果集中剩下的所有行
rowcount 最近一次execute返回数据/影响的行数
close() 关闭游标

下面我们在Python中创建一个实例:

import MySQLdb

conn=MySQLdb.connect(host=‘127.0.0.1‘,port=3306,user=‘root‘,passwd=‘199331‘,db=‘test‘,charset=‘utf8‘)

cursor=conn.cursor()

print(conn)
print(cursor)

cursor.close()
conn.close()

运行程序结果如下:

从结果中我们可以看见成功创建了一个Connection和Cursor对象。

二、建立数据库,进行一些简单操作

1.简单的创建一个’user‘表,并且插入一些数据。user表中只有两个字段:userid和username。代码如下:

import MySQLdb
conn=MySQLdb.connect(host=‘127.0.0.1‘,port=3306,user=‘root‘,passwd=‘199331‘,db=‘test‘,charset=‘utf8‘)
cur=conn.cursor()

cur.execute("""
create table if not EXISTS user
(
  userid int(11) PRIMARY KEY ,
  username VARCHAR(20)
)
""")
for i in range(1,10):
    cur.execute("insert into user(userid,username) values(‘%d‘,‘%s‘)" %(int(i),‘name‘+str(i)))
conn.commit()

cur.close()
conn.close()

我们用Navicat打开数据库,查看一下结果,,可以看到成功创建表,并且插入了十个数据。

2.我们操作一下Cursor里面的一些方法。

  execute()方法:执行SQL,将一个结果从数据库获取到客户端

  fetch*()方法:移动rownumber,返回数据。

例如我们有如下代码:

sql=‘select * from user‘
cursor.execute(sql)

print(cursor.rowcount)

rs=cursor.fetchone()
print(rs)

rs=cursor.fetchmany(3)
print(rs)
rs=cursor.fetchall()print(rs)

结果如下:

我们可以看出执行查询全部数据后,rowcount为10

执行fetchone()方法后返回一个数据,执行fetchmany(3)后返回3条数据,执行fetchall()后返回剩下的所有数据。

再有如下代码:

res=cursor.fetchall()
for row in res:
    print(‘userid=%s,userna=%s‘ %row)

此时的执行结果为:

3.上面介绍的便是数据库中常说的Select操作,下面我们介绍数据的更新,即:insert、update、delete操作。值得注意的是在这部分操作时需要注意的是是否数据发生异常,如果数据没有发生异常,我们便可以直接使用commit()进行提交(注:如没有使用commit,则数据库不会发生任何变化)。但是如果出现了异常,那么久需要使用rollback()进行回滚。

3.1先来看一个没有异常,正常提交的例子:

sql_insert=‘insert into user(userid,username) values(10,"name10")‘
sql_update=‘update user set username="name91" where userid=9‘
sql_delete=‘delete from user where userid=3‘

cursor.execute(sql_insert)
print(cursor.rowcount)
cursor.execute(sql_update)
print(cursor.rowcount)
cursor.execute(sql_delete)
print(cursor.rowcount)
conn.commit()

上面的操作即是:添加一条(10,’name10‘)的数据、将userid=9的username修改为’name91‘,删除userid=3的数据,执行上面代码后我们来用Navicat查看一下数据:

从结果可以看到代码执行正常。

3.2.再来看一个有异常的数据

sql_insert=‘insert into user(userid,username) values(10,"name10")‘
sql_update=‘update user set username="name91" where userid=9‘
# sql_delete=‘delete from user where userid=3‘
# ##error
sql_delete=‘delete from user where useri=3‘
try:
    cursor.execute(sql_insert)
    print(cursor.rowcount)
    cursor.execute(sql_update)
    print(cursor.rowcount)
    cursor.execute(sql_delete)
    print(cursor.rowcount)
except Exception as e:
    print(e)
    conn.rollback()

这里的insert和update操作一样,只不过把delete里面的userid字段错误的写成了useri,执行代码:

可以看到显示出异常,这时我们来看一下数据库数据:

数据没有任何改变。这就是rollback()的作用

因此,我们以后再写增删改查操作时,最好把操作放入一个try控制块中,来避免一些不必要的错误。

时间: 2024-08-29 16:38:34

Python使用MySQL数据库的方法以及一个实例的相关文章

python使用mysql数据库

一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,我们只需要通过一个命令就可以下载安装: Ubuntu\deepin >>sudo apt-get install mysql-server >>Sudo apt-get install  mysql-client centOS/redhat >

使用Python创建MySQL数据库实现字段动态增加以及动态的插入数据

应用场景: 我们需要设计一个数据库来保存多个文档中每个文档的关键字.假如我们每个文档字符都超过了1000,取其中出现频率最大的为我们的关键字. 假设每个文档的关键字都超过了300,每一个文件的0-299号存储的是我们的关键字.那我们要建这样一个数据库,手动输入这样的一个表是不现实的,我们只有通过程序来帮我实现这个重复枯燥的操作. 具体的示意图如下所示: 首先图1是我们的原始表格: 图1 这个时候我们需要程序来帮我们完成自动字段的创建和数据的插入. 图2 上图是我们整个表的概况.下面我们就用程序来

python操作mysql数据库实现增删改查

Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: GadFly mSQL MySQL PostgreSQL Microsoft SQL Server 2000 Informix Interbase Oracle Sybase 你可以访问Python数据库接口及API查看详细的支持数据库列表. 不同的数据库你需要下载不同的DB API模块,例如你需要

python操作mysql数据库(一)

最近又开始重新学习python,研究了一些python操作mysql数据库的知识,记录在此,用作学习笔记, 基础环境:Python 3.5.1 mysql版本:5.6.35 (rpm安装方式) 操作系统:Centos7.3 和windows7 一.python连接数据库模块介绍: 目前主要用的有以下几种.MySQLdb和pymsql以及mysql官方提供的mysql-connector-python驱动,MySQLdb模块是python2.X使用比较多的,而python3.X使用的pymsql会

python使用mysql数据库(转)

一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,我们只需要通过一个命令就可以下载安装: Ubuntu\deepin >>sudo apt-get install mysql-server >>Sudo apt-get install  mysql-client centOS/redhat >

python3.4连接mysql数据库的方法

python3.4连接mysql数据库的方法 发布时间:2014-08-04编辑:www.jbxue.com 本文介绍了python3.4连接mysql数据库的方法,在python3.4中不能用mysqldb连接mysql,可以使用pymysql完成连接mysql数据库,需要的朋友参考下. 在python3.4中用原来python2.7的mysqldb已不能连接mysql数据库了. 喜欢mysqldb的朋友,可以参考: Python实例 mysqldb操作数据库 python MySQLdb操作

【转】python操作mysql数据库

python操作mysql数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: GadFly mSQL MySQL PostgreSQL Microsoft SQL Server 2000 Informix Interbase Oracle Sybase 你可以访问Python数据库接口及API查看详细的支持数据库列表. 不同的数据库你需要下载

Linux下使用Python操作MySQL数据库

安装mysql-python 1.下载mysql-python 打开终端: cd /usr/local sudo wget http://nchc.dl.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.2.2.tar.gz 官网地址:http://sourceforge.net/projects/mysql-python/ 2.解压 sudo tar -zxvf MySQL-python-1.2.2.tar.gz cd MySQL-

Python学习(21)python操作mysql数据库_操作

目录 数据库连接 创建数据库表 数据库插入操作 数据库查询操作 数据库更新操作 删除操作 执行事务 错误处理 数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TEST. 在TEST数据库中您已经创建了表 EMPLOYEE EMPLOYEE表字段为 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME. 连接数据库TESTDB使用的用户名为 "testuser" ,密码为 "test123",你可以可以自己设定或者直接使用