一、连接库安装

Python2.x:MySQLdb

Python3.x :pymysql

二、接口信息

#创建数据库连接
pymysql.Connect()参数说明
host(str): MySQL服务器地址
port(int): MySQL服务器端口号
user(str): 用户名
passwd(str): 密码
db(str): 数据库名称
charset(str): 连接编码,存在中文的时候,连接需要添加charset='utf8',否则中文显示乱码。 connection对象支持的方法
cursor() 使用该连接创建并返回游标
commit() 提交当前事务,不然无法保存新建或者修改的数据
rollback() 回滚当前事务
close() 关闭连接 cursor对象支持的方法
execute(op) 执行SQL,并返回受影响行数
fetchone() 取得结果集的下一行
fetchmany(size) 获取结果集的下几行
fetchall() 获取结果集中的所有行
rowcount() 返回数据条数或影响行数
close() 关闭游标对象

三、数据库准备

MySQL数据库安装详见https://www.cnblogs.com/dangjf/p/13570602.html

1、创建数据库

2、创建测试表

四、数据库操作

1、连接数据库

import pymysql

# 连接数据库
connect = pymysql.Connect(
host='localhost',
port=3306,
user='root',
passwd='root',
db='pytest',
charset='utf8'
) # 获取游标
cursor = connect.cursor()

2、查询数据

# 查询数据
sql = "SELECT name,saving FROM trade WHERE account = '%s' "
data = ('13512345678',)
cursor.execute(sql % data)
for row in cursor.fetchall():
print("Name:%s\tSaving:%.2f" % row)
print('共查找出', cursor.rowcount, '条数据')

3、插入数据

插入一条数据

# 插入数据
sql = "INSERT INTO trade (name, account, saving) VALUES ( '%s', '%s', %.2f )"
data = ('雷军', '13512345678', 10000)
cursor.execute(sql % data)
connect.commit()
print('成功插入', cursor.rowcount, '条数据')

插入多条数据

    # 插入数据
sql2 = "INSERT INTO team (v1,v2,v3) VALUES ( %s,%s,%s )"#%s没有引号
data = (('1','1','1'),('2','2','2'))
cursor.executemany(sql2, data)#注意使用executemany
connect.commit()
print('成功插入', cursor.rowcount, '条数据')

4、删除数据

sql = "DELETE FROM trade WHERE account = '%s' LIMIT %d"
data = ('13512345678', 1)
cursor.execute(sql % data)
connect.commit()
print('成功删除', cursor.rowcount, '条数据')

5、修改数据

# 事务处理
sql_1 = "UPDATE trade SET saving = saving + 1000 WHERE account = '18012345678' "
sql_2 = "UPDATE trade SET expend = expend + 1000 WHERE account = '18012345678' "
sql_3 = "UPDATE trade SET income = income + 2000 WHERE account = '18012345678' " try:
cursor.execute(sql_1) # 储蓄增加1000
cursor.execute(sql_2) # 支出增加1000
cursor.execute(sql_3) # 收入增加2000
except Exception as e:
connect.rollback() # 事务回滚
print('事务处理失败', e)
else:
connect.commit() # 事务提交
print('事务处理成功', cursor.rowcount)

6、清空数据

# 清空数据
sql = "truncate table team"
cursor.execute(sql)
connect.commit()
print('成功清空')

7、关闭连接

# 关闭连接
cursor.close()
connect.close()
  • 添加到短语集

     
    • 没有此单词集:英语 → 中文(简体)...

       
    • 创建新的单词集...
  • 拷贝

【20】python之操作MySQL数据库的更多相关文章

  1. python 之操作mysql 数据库实例

    对于python操作mysql 数据库,具体的步骤应为: 1. 连接上mysql host 端口号 数据库 账号 密码2. 建立游标3. 执行sql(注意,如果是update,insert,delet ...

  2. Python之 操作 MySQL 数据库

    什么是MySQLdb? MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的. 安装 Pytho ...

  3. python实现操作mysql数据库

    实现代码如下: #mysql数据库的查询等 import pymysql from xctest_tools.xc_ReadFile.get_ReadTxt import * class mysql: ...

  4. python 安装操作 MySQL 数据库.

    以ubuntu和mysql为例 检查自己的机器上面有没有安装数据库 xpower@xpower-CW65S:~$ sudo service mysql start [sudo] xpower 的密码: ...

  5. Python之操作MySQL数据库

      一.操作步骤 1.导入pymysql模块 2.建立连接(ip.用户名.密码.数据库名.端口号.字符集.(自动提交参数)) 3.建立游标 4.执行sql语句 (4.需要提交的提交) 5.关闭游标 6 ...

  6. python 连接操作mysql数据库

    开发数据库程序流程: 1.创建connection对象,获取cursor 2.使用cursor执行SQL 3.使用cursor获取数据.判断执行状态 4.提交事务 或者 回滚事务 import: 数据 ...

  7. python,java操作mysql数据库,数据引擎设置为myisam时能够插入数据,转为innodb时无法插入数据

    今天想给数据库换一个数据引擎,mysiam转为 innodb 结果 python 插入数据时失败,但是自增id值是存在的, 换回mysiam后,又可以插入了~~ 想换php插入试试,结果php数据引擎 ...

  8. python 3 操作mysql数据库的方法

    参考:http://www.cnblogs.com/txw1958/archive/2012/07/22/python3-mysql.html http://www.jb51.net/article/ ...

  9. python接口自动化(三十八)-python操作mysql数据库(详解)

    简介 现在的招聘要求对QA人员的要求越来越高,测试的一些基础知识就不必说了,来说测试知识以外的,会不会一门或者多门开发与语言,能不能读懂代码,会不会Linux,会不会搭建测试系统,会不会常用的数据库, ...

  10. Python操作MySQL数据库(步骤教程)

    我们经常需要将大量数据保存起来以备后续使用,数据库是一个很好的解决方案.在众多数据库中,MySQL数据库算是入门比较简单.语法比较简单,同时也比较实用的一个.在这篇博客中,将以MySQL数据库为例,介 ...

随机推荐

  1. python虚拟环境解决不能执行脚本的问题

    1 安装虚拟环境 pip install virtualenv 2 创建虚拟文件夹 mkdir .venvs 3.设置虚拟目录 virtualenv --system-site-packages .v ...

  2. netstate查找端口占用

    netstat -nao 列出本机端口占用信息加上|findstr 筛选 各个字段的意思: 协议  本地地址:端口          外部地址:端口        状态           PID 这 ...

  3. myql数据库新建之后,本地可以访问,远程访问不了

    通过如下命令去修改: use mysql; update user set user.Host='%' where user.User='root'; flush privileges;

  4. ubuntu安装nvidia-docker2

    1.配置源: distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && curl -s -L https://nvidia.gi ...

  5. 【狂刷面试题】GO常见面试题汇总

    先给大家推荐一个实用面试题库  1.前端面试题库 (面试必备)            推荐:★★★★★ 地址:前端面试题库 2.前端技术导航大全      推荐:★★★★★ 地址:前端技术导航大全 3 ...

  6. pytorch gpu安装cuda11.*

    conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio cudatoolkit=11.3

  7. M1芯片使用pod报错 *** for architecture arm64

    1.添加如下配置 pod 和 工程都需要修改 2.Podfile最后添加如下代码 post_install do |installer| installer.pods_project.build_co ...

  8. 正则过滤http|https地址

    let reg = /(\w+):\/\/([^/:]+)(:\d*)?/; let s = http.match(reg); let s1 = http1.match(reg); console.l ...

  9. 记一次 turbostat 的使用

    场景:为了测试海光cpu的性能,从而使用turbostat 来监测cpu工作时候的相关频率. cpu 型号: 1.Hygon C86 7165 24-core Processor 1.9GHz 384 ...

  10. 地理信息技术GIS学习(3):数据表操作、图表制作、地图编辑(上海市行政区划图)

    数据表操作.图表制作内容主要来自 张明明的<ArcGis 10.1 超级学习手册>,其博客的电子数据已经找不到. 一.数据表操作 ArcMap中以属性表的形式来组织和管理要素的属性信息.每 ...