pymysql模块的操作实例
作者:猫-园 发布时间:2024-01-28 16:27:45
标签:pymysql,模块操作
pymysql 模块!
pymysql模块时一个第三方模块!需要下载:
pymysql的基本使用:
import pymysql
conn = pymysql.connect(
user = 'root',
password = '123',
host = '127.0.0.1', # ip地址
port = 3306, # 端口
charset = 'utf8',
database = 'day36_1'
)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 产生游标对象
# cursor=pymysql.cursors.DictCursor 将查询出来的结果制成字典的形式返回
sql = "select * from userinto"
res = cursor.execute(sql) #执行sql语句
res = cursor.fetchone() # 打印一条数据
res = cursor.fetchall() # 可以打印里面的所有数据
res = cursor.fetchmany(2) #制定获取几条数据,如果数字超了也不报错
print(res)
cursor.scroll(2, 'relative') #相对移动 , 基于指针所在位置, 往后偏移
cursor.scroll(3, 'absolute') #绝对移动,基于起始位置往后偏移
print(cursor.fetchall())
我们可以通过python导入模块来连接数据库,进行登陆注册功能,在使用时sql会遇到注入问题
sql注入问题 利用特殊符号和注释语法 巧妙的绕过真正的sql校验,是用户数据不安全
关键性的数据 不要自己手动去拼接 而是交由execute帮你去做拼接
import pymysql
conn = pymysql.connect(
user = 'root' ,
password = '123',
host = '127.0.0.1',
port = 3306,
database = 'day36_1',
charset = 'utf8'
)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
#获取用户名和密码,然后取数据库中校验
username = input('username>>>:').strip()
password = input('password>>>:').strip()
sql = "select * from userinto where name=%s and password=%s"
print(sql)
cursor.execute(sql, (username, password)) #交由execute帮你去做拼接,解决注入问题
res = cursor.fetchall()
if res:
print(res)
else:
print('username or password error!')
我们也可以利用pycharm来操作数据库文件的增删改查!
针对增 删 改操作 执行重要程度偏高
你如果真想操作 必须有一步确认操作(commit)
import pymysql
conn = pymysql.connect(
user = 'root',
passwd = '123456',
db = 'day36',
host = '127.0.0.1',
port = 3306,
charset = 'utf8',
autocommit = True # 自动提交确认
)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# #查: 获取用户输入的用户名和密码 然后取数据库中校验
# username = input('username>>>:').strip()
# password = input('password>>>:').strip()
# # sql = "select * from userinfo where name='%s' and password= '%s'"%(username,password)
# sql = "select * from userinfo where name=%s and password= %s"
# print(sql)
# 增
sql = "insert into userinfo(name,password,dep_id) values('jason',789,1)"
# 改
# sql = "update userinfo set name='egondsb' where id = 6"
# 删除
# sql = "delete from userinfo where id= 1"
res = cursor.execute(sql)
# conn.commit() # 确认当前操作 真正的同步到数据库
print(res)
来源:https://www.cnblogs.com/lishuangjian/p/12052058.html


猜你喜欢
- <?php/** * HOST: www.icbase.com *///set_time_limit(0);//
- 这边我是需要得到图片在Vgg的5个block里relu后的Feature Map (其余网络只需要替换就可以了)索引可以这样获得vgg =
- 因为要做移动梦网WAP的一些接口,所以要用到这种方式,接下来会有ASP.net版本的,这个是ASP版本的,利用了MSXML2.XMLHTTP
- 由于同事电脑上没有直接可以压缩gz.tar格式的压缩软件,而工作中这个又时常需要将zip文件转换为gz.tar格式,所以常常将压缩为zip格
- mysql优化表释放表空间方法一:optimize table table_name这是我们经常见到的方法,这里就不在过多介绍。方法二:al
- 数据库引擎以InnoDB为主1.磁盘碎片是什么InnoDB表的数据存储在页中,每个页可以存放多条记录,这些记录以树形结构组织,这棵树称为B+
- function cal_pace(d,h,m,s){ var distance = d; var hours = h;
- 控制字符控制字符(Control Character),或者说非打印字符,出现于特定的信息文本中,表示某一控制功能的字符,如控制符:LF(换
- 前言写过前端Javascript代码的同学肯定不会对console对象感到陌生,在调试的过程中我们经常会用console对象在控制台输出一些
- 基于python opencv人脸识别的签到系统前言先看下效果实现的功能开始准备页面的构建功能实现代码部分总结前言一个基于opencv人脸识
- 今天有点新的与大家分享,关于selenium与xpath之间爬数据获取指定位置的时候,方式不一样哦。详情可以看我的代码,以b站来看好吧:查看
- 前言该脚本的代码大部分是参考自阿里云的官方帮助文档。1, 脚本语言使用的是python, 我个人只是了解python,没有太深入的知识功底2
- 有一张错误上报表,下面只将与本文相关的字段罗列如下:上报人(ReportPerson)、上报错误ID(ErrorID)、上报时间(Repor
- 代码如下:from PIL import Image #图像处理模块import numpy as npa = np.asarr
- 我们大家都知道MySQL数据库在安装完之后,默认的MySQL数据库,其最大连接数为100,一般流量稍微大一点的论坛或网站这个连接数是远远不够
- 滑动拼图验证码可以算是滑块验证码的进阶版本,其验证机制相对复杂。本节将介绍两种滑动拼图验证码:初级版和高级版本。初级版滑块拼图验证码初级版滑
- 将一个列表数据写入output.xlsx的a,b,c……等sheet中import pandas as pddf1 = pd.DataFra
- 在写代码过程中,经常遇到一行代码很长的情况。为了让代码显得整齐干净,就需要把一行代码分成多行来写,Python中有两种小技巧可以实现该功能:
- 看到网上也有开源的代码,这不,我拿来进行了二次重写,呵呵,上代码: #encoding: utf-8&n
- 准备篇:1、配置防火墙,开启80端口、3306端口说明:Ubuntu默认安装是没有开启任何防火墙的,为了服务器的安全,建议大家安装启用防火墙