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 数据库接口支持非常多的数据库 ...
随机推荐
- Ant Design的Form
Ant Design的Form 使用onFieldsChange时不要与 mapPropsToFields一起使用,将导致表单校验等失效
- 引入jquery时,页面一直加载
注意jquery的引用位置最好放在<head>下面.
- K8s集群认证之RBAC
kubernetes认证,授权概括总结: RBAC简明总结摘要:API Server认证授权过程: subject(主体)----->认证----->授权[action(可做什么)]--- ...
- nmap 速查手册
0x00:说明 只是一个快速查询手册,理论的东西都没有补充,欢迎大家积极在评论区补充自己常用的参数,O(∩_∩)O 0x01:nmap功能介绍 1.主机存活检测2.端口探测3.服务识别4.操作系统识 ...
- mongodb连接认证失败
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_29143909/arti ...
- IntelliJ IDEA编辑器的使用技巧
目录 1. 使用技巧 1. 跳转小工具 2. 无处不在的跳转 3. 精准搜索 4. 列操作: 5. live template 6. postfix 7. ALT+ENTER智能提示,代码优化 8. ...
- 使用vue搭建应用六实现登录页
1.js_cookie js-cookie插件是一个JS操作cookie的插件 安装 yarn add js-cookie 使用 写入 Cookies.set('name', 'value'); 读取 ...
- kali 命令
1.添加用户 如下命令是用root执行的 adduser dong 会直接在/home 目录创建 dong 目录 2.将用户划分到某个组 gpasswd -a user group 3.ifconfi ...
- Python的WEB框架
Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其他模块. ? 1 2 ...
- LinkedHashMap源码
TreeMap是一颗红黑树做Map.HashMap是数组+链表+红黑树.HashTable是数组+链表. LinkedHashMap底层存储结构与HashMap一样,不同的是LinkedHashMap ...