当前位置: 首页 > 编程笔记 >

pymysql模块的操作实例

司空赞
2023-03-14
本文向大家介绍pymysql模块的操作实例,包括了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)

以上就是相关知识点内容,感谢大家的学习和对小牛知识库的支持。

 类似资料:
  • 本文向大家介绍Python 解析pymysql模块操作数据库的方法,包括了Python 解析pymysql模块操作数据库的方法的使用技巧和注意事项,需要的朋友参考一下 pymysql 是 python 用来操作MySQL的第三方库,下面具体介绍和使用该库的基本方法。 1.建立数据库连接 通过 connect 函数中 parameter 参数 建立连接,连接成功返回Connection对象 pymy

  • 本文向大家介绍python 3.6 +pyMysql 操作mysql数据库(实例讲解),包括了python 3.6 +pyMysql 操作mysql数据库(实例讲解)的使用技巧和注意事项,需要的朋友参考一下 版本信息:python:3.6  mysql:5.7  pyMysql:0.7.11 测试代码: 测试表: 执行结果: 以上这篇python 3.6 +pyMysql 操作mysql数据库(实

  • Important 要用内核模块操作,必须有一个在运行的 Ceph 集群。 获取映像列表 要挂载块设备映像,先罗列出所有的映像。 rbd list 映射块设备 用 rbd 把映像名映射为内核模块。必须指定映像名、存储池名、和用户名。若 RBD 内核模块尚未加载, rbd 命令会自动加载。 sudo rbd map {pool-name}/{image-name} --id {user-name}

  • 原生URL模式下:http://YourDomain/index.php?m=User&a=reg PATHINFO模式下:http://YourDomain/User/reg 那User就是当前模块,reg就是当前操作,执行的方法是 App1/Controller/Home/UserController.php中的public function reg() 理解了模块和操作的概念,才能看到路径后

  • 本文向大家介绍Python使用cookielib模块操作cookie的实例教程,包括了Python使用cookielib模块操作cookie的实例教程的使用技巧和注意事项,需要的朋友参考一下 cookielib是一个自动处理cookies的模块,如果我们在使用爬虫等技术的时候需要保存cookie,那么cookielib会让你事半功倍!他最常见的搭档模块就是python下的urllib和reques

  • 获取组集详情 接口 GET https://cloud.minapp.com/userve/v1/user-supergroup/:group_id/ 其中 :group_id 需替换为你的用户组 ID 代码示例 var axios = require('axios').create({ withCredentials: true }) axios.get('https://cloud.min