pymysql的基本操作
1、Python3连接MySQL
import pymysql pymysql.connect(host='localhost',user='root',password='1',database='demo_db',port=3306)
2、Python3操作MySQL
(1)查询数据
import pymysql #连接MySQL
db = pymysql.connect('localhost','root','1','demo_db') #获取游标
cursor = db.cursor() #查询数据的SQL语句
sql = "select * from demo_tb;" #执行SQL语句
cursor.execute(sql) #获取查询的结果
res = cursor.fetchall() #打印结果
print(res) #结果为两条数据记录如下:
#(('alvin', 21, 'game'), ('rain', 24, 'ball'))
(2)插入数据
import pymysql con = pymysql.connect(host='localhost',user='root',password='1',database='demo_db',port=3306)
cursor = con.cursor() #插入的SQL语句
sql = "insert into demo_tb(name,age,hobby) values('tom',19,'football')" #执行SQL,没有写入数据库
cursor.execute(sql) #提交,此时才会真正写入数据库
con.commit()
(3)修改数据
import pymysql con = pymysql.connect(host='localhost',user='root',password='1',database='demo_db',port=3306)
cursor = con.cursor() #修改数据的SQL语句
sql = "update demo_tb set name='new_name' where hobby='ball'" #执行SQL
cursor.execute(sql) #提交修改,写入到数据库
con.commit()
(4)删除数据
import pymysql con = pymysql.connect(host='localhost',user='root',password='1',database='demo_db',port=3306)
cursor = con.cursor() #SQL语句
sql = "delete from demo_tb where name='tom'" #执行SQL
cursor.execute(sql) #提交,从数据库删除数据
con.commit()
(5)关闭游标和关闭数据库连接
调用close方法,例如:
import pymysql user = input("username:")
pwd = input("password:") conn = pymysql.connect(host="localhost",user='root',password='',database="db666")
cursor = conn.cursor()
sql = "select * from userinfo where username=%s and password=%s"
cursor.execute(sql,user,pwd)
# cursor.execute(sql,[user,pwd])
# cursor.execute(sql,{'u':user,'p':pwd})
result = cursor.fetchone()
cursor.close()
conn.close()
if result:
print('登录成功')
else:
print('登录失败')
pymysql的基本操作的更多相关文章
- 使用with语句优化pymysql的操作
一.with语句的好处 with语句的好处在于,它可以自动帮我们释放上下文,就比如文件句柄的操作,如果你不使用with语句操作,你要先open一个文件句柄,使用完毕后要close这个文件句柄,而使用w ...
- 5月11日 python学习总结 子查询、pymysql模块增删改查、防止sql注入问题
一.子查询 子查询:把一个查询语句用括号括起来,当做另外一条查询语句的条件去用,称为子查询 select emp.name from emp inner join dep on emp.dep_id ...
- MySQL学习基础知识2
1.基础语句 查 select(* | 字段名 | 四则运算 | 聚合函数) from 表名称; 加上as取别名 as可省略 如:select name, (math+english)/2 total ...
- 让对象支持with语句
一.with语句的好处 with语句的好处在于,它可以自动帮我们释放上下文,就比如文件句柄的操作, 如果你不使用with语句操作,你要先open一个文件句柄,使用完毕后要close这个文件句柄, 而使 ...
- python数据库操作 - MySQL入门【转】
python数据库操作 - MySQL入门 python学院 2017-02-05 16:22 PyMySQL是Python中操作MySQL的模块,和之前使用的MySQLdb模块基本功能一致,PyMy ...
- mysql操作和详解
温馨提示 mysql安装包里面:mysqld是服务端,mysql是客户端. mysqld其实是SQL后台程序(也就是MySQL服务器),它是关于服务器端的一个程序,mysqld意思是mysql dae ...
- PyMySQL - Python3 MySQL数据库连接 - 基本操作
一.Python连接MySQL数据库 1.导入模块 #导入模块 import pymysql 2.打开数据库连接 #打开数据库连接 #注意:这里已经假定存在数据库testdb,db指定了连接的 ...
- pymysql基本操作
https://www.cnblogs.com/woider/p/5926744.html https://www.runoob.com/python3/python3-mysql.html 注意: ...
- python数据库操作之pymysql模块和sqlalchemy模块(项目必备)
pymysql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 1.下载安装 pip3 install pymysql 2.操作数据库 (1).执行sql #! ...
- Python自动化运维之18、Python操作 MySQL、pymysql、SQLAchemy
一.MySQL 1.概述 什么是数据库 ? 答:数据的仓库,和Excel表中的行和列是差不多的,只是有各种约束和不同数据类型的表格 什么是 MySQL.Oracle.SQLite.Access.MS ...
随机推荐
- Visual Studio 2019汇编报错 warning LNK4258: 指令“/ENTRY:main@0”与开关“/ENTRY:main”不兼容;已忽略
Visual Studio 2019汇编报错 warning LNK4258: 指令"/ENTRY:main@0"与开关"/ENTRY:main"不兼容:已忽略 ...
- Android、iOS、jenkins全自动化打包
主要流程思路[粗略讲处理思路,若遇到具体问题可留言交流]: 1.android的打包命令 2.ios的打包命令 3.jenkins的参数化构建 4.七牛的上传命令等 5.处理ipa的下载操作及ipa过 ...
- 使用纯c#在本地部署多模态模型,让本地模型也可以理解图像
之前曾经分享过纯c#运行开源本地大模型Mixtral-8x7B 当时使用的是llamasharp这个库和Mixtral的模型在本地部署和推理,前段时间我看到llamasharp更新到了0.11.1版本 ...
- 【笔记】go语言--结构体,方法,包与封装
[笔记]go语言--结构体,方法,包与封装 结构体和方法 面向对象 go语言仅支持封装,不支持继承和多态 go语言没有class,只有struct //结构的定义 type TreeNode stru ...
- 一文说清linux system load
简介:双十一压测过程中,常见的问题之一就是load 飙高,通常这个时候业务上都有受影响,比如服务rt飙高,比如机器无法登录,比如机器上执行命令hang住等等.本文就来说说,什么是load,load是 ...
- Kettle on MaxCompute使用指南
简介: Kettle是一款开源的ETL工具,纯java实现,可以运行于Windows, Unix, Linux上运行,提供图形化的操作界面,可以通过拖拽控件的方式,方便地定义数据传输的拓扑.Kett ...
- 快手基于 Flink 构建实时数仓场景化实践
简介: 一文了解快手基于 Flink 构建的实时数仓架构,以及一些难题的解决方案. 本文整理自快手数据技术专家李天朔在 5 月 22 日北京站 Flink Meetup 分享的议题<快手基于 F ...
- 微信小程序支付实现流程
基本流程 用户操作流程 小程序流程 整体支付流程 代码实现 创建订单 创建订单,主要是前端将订单的信息提交到后端.但是在创建订单之前还有一些准备工作要做: 获取用户数据GetUserInfo 获取用户 ...
- .NET开源、功能强大、跨平台的图表库 - LiveCharts2
前言 今天大姚给大家分享一个.NET开源(MIT License).功能强大.简单.灵活.跨平台的图表.地图和仪表库:LiveCharts2. 项目介绍 LiveCharts2是一个.NET开源. ...
- Partition和ReduceTask的关系
先看源码: numPartitions = conf.getNumReduceTasks(); if (numPartitions > 1) { //设置了ReduceTask个数后(大于1), ...