Python 操作 MySQL 数据库
使用示例:
import pymysql #python3
conn=pymysql.connect(host="localhost",port=3306,user="root",password="abcd",database="bank",charset="utf8") #字符集不是必须的
cursor = conn.cursor()
sql="select * from user_info"
result=cursor.execute(sql) #不论增删查改,result都是受影响的记录数,int型
for row in cursor: #遍历结果集
print(row) #输出一条记录,元组形式
print(row[0]) #输出记录中的某个字段
cursor.close()
conn.close()
提取一条记录:
import pymysql #python3
conn=pymysql.connect(host="localhost",user="root",password="abcd",database="bank",charset="utf8") #字符集不是必须的
cursor = conn.cursor()
sql="select * from user_info"
result=cursor.execute(sql)
print(cursor.fetchone()) #提取并返回一条记录,指针会自动后移。最初指针指向第一条之前。第一条
print(cursor.fetchone()) #第二条。元组形式。
print(cursor.fetchone()[0]) #一个字段,不能使用字段名,只能使用索引
cursor.close()
conn.close()
提取多条记录:
import pymysql #python3
conn=pymysql.connect(host="localhost",user="root",password="abcd",database="bank",charset="utf8") #字符集不是必须的
cursor = conn.cursor()
sql="select * from user_info"
result=cursor.execute(sql)
print(cursor.fetchmany(2)) #提取指定的条数,指针会自动后移。只要是提取,指针都会自动后移。
for row in cursor: #cursor中是从第三行开始的记录
print(row)
#fetchmany()返回值是嵌套的元组形式。 ((1, 'chy', 200.0), (2, 'zhangsan', 200.0))。一个元素即一条记录。
#fetchall()是提取结果集的所有记录
#cursor存放结果集,提取就是把一些记录从cursor中提取出来(从cursor中拿出来,cursor中不再有这些记录了)
cursor.close()
conn.close()
设置sql语句参数:
import pymysql #python3
conn=pymysql.connect(host="localhost",user="root",password="abcd",database="bank",charset="utf8") #字符集不是必须的
cursor = conn.cursor()
id=1
name="chy"
# sql="select * from user_info where id=%d and name='%s'"%(id,name) #如果是字符串,%s要加引号
sql="select * from user_info where id={} and name='{}'".format(id,name) #如果是字符串,{}也要加引号
result=cursor.execute(sql)
print(cursor.fetchall()) #提取结果集中所有的记录数
cursor.close()
conn.close()
插入一条记录:
import pymysql #python3
conn=pymysql.connect(host="localhost",user="root",password="abcd",database="bank",charset="utf8") #字符集不是必须的
cursor = conn.cursor()
id=3
name="wangwu"
money=100
sql="insert into user_info (id,name,money) values (%d,'%s',%d)"%(id,name,money) #如果是字符串,占位的要加引号
result=cursor.execute(sql) #增删查改都是execute
print(result) #1 搜相应的记录数
print(cursor.fetchall()) #不会报错,空元组
conn.commit() #需要提交才会同步到数据库。缺少此句代码,不会同步到数据库。
cursor.close()
conn.close()
增删改的操作类似,注意增删改都需要conn.commit()才会提交到数据库。
另一种设置参数的方式:
import pymysql #python3
conn=pymysql.connect(host="localhost",user="root",password="abcd",database="bank",charset="utf8")
cursor = conn.cursor()
sql="insert into user_info (id,name,money) values (%s,%s,%s)" #如果是在execute()中注入数据,不管是什么类型,都必须写成%s,且不能加引号
result=cursor.execute(sql,(5,"name",10)) #在execute()中注入数据。在这里区分数据类型。使用元组、列表均可
#result=cursor.execute(sql,[5,"name",10])
conn.commit()
cursor.close()
conn.close()
批量操作:
import pymysql #python3
conn=pymysql.connect(host="localhost",user="root",password="abcd",database="bank",charset="utf8")
cursor = conn.cursor()
sql="insert into user_info (id,name,money) values (%s,%s,%s)" #如果是在execute()中注入数据,不管是什么类型,都必须写成%s,且不能加引号
data=((17,"chy",90),(18,"chy",99)) #至少2个元素,使用嵌套的元组、列表均可
#data=[[17,"chy",90],[18,"chy",99]]
try:
result=cursor.executemany(sql,data) #批量操作,注入嵌套的元组。注意是executemany(),且必须是嵌套的元组,元组中至少要有2个元组(记录),只有一条会出错。
conn.commit() #executemany()是执行2条及以上的操作,所以至少2个元素
except Exception as e:
print(e)
conn.rollback() #失败就回滚
cursor.close()
conn.close()
Python 操作 MySQL 数据库的更多相关文章
- python操作mysql数据库的相关操作实例
python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...
- Windows下安装MySQLdb, Python操作MySQL数据库的增删改查
这里的前提是windows上已经安装了MySQL数据库,且配置完成,能正常建表能操作. 在此基础上仅仅需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了.仅仅有1M ...
- 使用python操作mysql数据库
这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...
- python操作三大主流数据库(1)python操作mysql①windows环境中安装python操作mysql数据库的MySQLdb模块mysql-client
windows安装python操作mysql数据库的MySQLdb模块mysql-client 正常情况下应该是cmd下直接运行 pip install mysql-client 命令即可,试了很多台 ...
- python操作mysql数据库增删改查的dbutils实例
python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...
- python操作mysql数据库的常用方法使用详解
python操作mysql数据库 1.环境准备: Linux 安装mysql: apt-get install mysql-server 安装python-mysql模块:apt-get instal ...
- python 操作mysql数据库之模拟购物系统登录及购物
python 操作mysql数据库之模拟购物系统登录及购物,功能包含普通用户.管理员登录,查看商品.购买商品.添加商品,用户充值等. mysql 数据库shop 表结构创建如下: create TAB ...
- 【Python】使用python操作mysql数据库
这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...
- python + docker, 实现天气数据 从FTP获取以及持久化(二)-- python操作MySQL数据库
前言 在这一节中,我们主要介绍如何使用python操作MySQL数据库. 准备 MySQL数据库使用的是上一节中的docker容器 “test-mysql”. Python 操作 MySQL 我们使用 ...
- 【转】python操作mysql数据库
python操作mysql数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库 ...
随机推荐
- 【Mybatis】传入参数 对象+单参
Integer update( @Param(value="bean") TXNJSTXNDetailTBBean bean, @Param(value="table&q ...
- Anaconda3(5-2)程序编辑器 win10下PyCharm安装及配置Pytorch流程
由于破解和付费问题,不推荐.优先用自带的spyder Win10 下PyCharm安装流程:(1)官网:https://www.jetbrains.com/pycharm/download/#sect ...
- [Algorithm] 118. Pascal's Triangle
Given a non-negative integer numRows, generate the first numRows of Pascal's triangle. In Pascal's t ...
- Windows server 2003 粘滞键后门+提权
Windows server 2003中可以建立粘滞键与cmd的连接来绕过已经设置好的安全机制做一些事情,比如新建用户.提权 粘滞键介绍 网上查了一些资料,也没怎么说明白,不如自己试一下,大概意思就是 ...
- 学习-guava
Guava Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库 例如:集合 [collections] .缓存 [caching] .原生类型支持 [primitives sup ...
- Problem C. 欧皇 ————2019.10.12
题目: 再次感激土蛋 #include <bits/stdc++.h> using namespace std; typedef long long ll; ; ll C[][]; voi ...
- 【luoguP1168】中位数
题目链接 用一个大根堆和一个小根堆维护中位数即可 #include<iostream> #include<cstring> #include<cstdio> #in ...
- R包的安装 卸载 加载 移除等
R包的安装 1)使用 Rstudio 手动安装 Rstudio的窗口默认为四个,在右下角的窗口的 packages 下会显示所有安装的 R 包 点击 Install -> 输入R 包名 -> ...
- POI开发:Java中的Excel相关操作
一.Apache POI 1.简介: Apache POI支持大多数中小规模的应用程序开发,提供API给Java程序对Microsoft Office格式档案读和写的功能,呈现和文本提取是它的主要特点 ...
- k8s之发布管理架构图01
k8s发布管理所用到的组件