pymysql模块初识

  1. pymysql模块初识
  2. SQL的注入问题
  3. pymysql的增删改
  4. pymysql的查询


1.pymysql模块初识

import pymysql

conn = pymysql.connect(host=‘localhost‘,user=‘root‘,password=‘ren666666‘,database=‘test1‘,charset=‘utf8‘)

cursor = conn.cursor()

print(‘----1----‘)

sql = "SELECT * FROM chart1"

cursor.execute(sql)

result = cursor.fetchone()

cursor.close()

conn.close()

print(result)



2.SQL注入的问题:

sql = "SELECT * FROM chart1 where username=‘%s‘ and password=‘%s‘"%(user,pwd)    #这样以字符串拼接会出现sql注入的问题

cursor.execute(sql)

问题如下:

假如输入的user=uu‘ or 1=1 --

会发生一下情况

select * from chart1 where username=‘uu‘ or 1=1 --‘ and password=‘%s‘    #注意这里的--是mysql中的注释

这将会导致,即使不输入密码,账号也不知道的情况下,依然能够登陆成功



3.pymysql的增删改:

插入单个值

import pymysql

user = 1

pwd = ‘pycharm‘

conn = pymysql.connect(host=‘localhost‘,user=‘root‘,password=‘ren666666‘,database=‘test1‘)

cursor = conn.cursor()

print(‘----1----‘)

sql = "insert into chart1(id,name) values(%s,%s)"

cursor.executemany(sql,[user,pwd])

conn.commit()    #数据修改必须要用这个命令提交

result = cursor.fetchone()

cursor.close()

conn.close()

print(result)

#插入多个值

import pymysql

conn = pymysql.connect(host=‘localhost‘,user=‘root‘,password=‘ren666666‘,database=‘test1‘)

cursor = conn.cursor()

print(‘----1----‘)

sql = "insert into chart1(id,name) values(%s,%s)"

cursor.executemany(sql,[(5,‘pycharm‘),(6,‘sublime‘)])

conn.commit()    #数据修改必须要用这个命令提交

result = cursor.fetchone()

cursor.close()

conn.close()

print(result)



4.pymysql的查询:

import pymysql

conn = pymysql.connect(host=‘localhost‘,user=‘root‘,password=‘ren666666‘,database=‘test1‘)

cursor = conn.cursor()

print(‘----1----‘)

sql = "select * from chart1"

cursor.execute(sql)

# result = cursor.fetchone()    #只能拿到一个数据

# result = cursot.fetchall()    #拿到所以数据

result = cursor.fetchmany(4)    #拿到4个数据

print(result)

cursor.close()

conn.close()

import pymysql

conn = pymysql.connect(host=‘localhost‘,user=‘root‘,password=‘ren666666‘,database=‘test1‘)

#cursor = conn.cursor()    #这个的话会返回元组类型的结果

cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)    #这个会以字典形式返回

print(‘----1----‘)

sql = "select * from chart1"

cursor.execute(sql)

result = cursor.fetchmany(4)    #拿到4个数据

print(result)

cursor.close()

conn.close()

# [{‘id‘: 1, ‘name‘: ‘python‘}, {‘id‘: 2, ‘name‘: ‘pycharm‘}, {‘id‘: 3, ‘name‘: ‘pycharm‘}, {‘id‘: 4, ‘name‘: ‘anaconda‘}]

原文地址:https://www.cnblogs.com/changwoo/p/9568529.html

时间: 2024-10-09 18:36:15

pymysql模块初识的相关文章

python如何使用pymysql模块

Python 3.x 操作MySQL的pymysql模块详解 前言pymysql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而MySQLdb不支持3.x版本. 一.安装 pip3 install pymysql 二.pymysql方法 pymysql.connect()参数说明 参数 类型 说明 host str mysql服务器地址 port int mysql服务器端口号 user str 用户名 passwd str

python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sys.argv) #打印相对路径,在pycharm输出结果是绝对路径,因为在pycharm中调用 print(sys.argv[2]) #可以从数据列表中取值,[2]指取第三位.        标准库存放位置:C:\Python35\Lib 第三方库存放位置C:\Python35\Lib\site-p

pymysql模块

一.安装的两种方法 第一种 #安装 pip3 install pymysql 第二种 二.链接,执行sql,关闭(游标) import pymysql user= input('用户名:>>').strip() pwd= input('密码:>>').strip() #先链接,拿到游标 conn=pymysql.connect(host='localhost',user='root',password='123456', database='day47',charset='utf8

Python模块初识

放暑假了,明天就回家,今天晚上写一篇,后面几天没机会写了..... 模块初识: 模块:就是将一堆功能封装在一起,直接引入使用 模块又称之为库,分为两大类: 标准库:不需要安装可以直接引用的库 第三方库:必须安装才能使用的库 看下都有哪些库.在Python的安装目录下的lib目录: 这里的就是标准库. 在Lib目录下的site-packages目录就是第三方库,我就不截图了... 我们接下来看两个模块:sys和os sys: 我们来看一下sys下的path功能 1 # Author:学无止境 2

mysql:数据备份、pymysql模块

一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接数据库 #2. 新建库 #3. 新建表,新增字段+类型+约束 #4. 设计表:外键 #5. 新建查询 #6. 备份库/表 #注意: 批量加注释:ctrl+?键 批量去注释:ctrl+shift+?键 二 MySQL数据备份 #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境.但不能恢复到异

python04 模块初识

模块初识 模块有标准库和第三方库 标准库:python自带的一些常用模块,直接导入就可以使用. 第三方库:需要单独下载安装. 模块其实就是一个.py的文件,这个文件就称之为模块,模块中会有很多不同的方法 sys模块     注意在起名字的时候,不要与库中模块的名字重复,否则当你导入模块的时候可能会导入的.py文件是错误的. 模块一定要在这些目录下面,否则导入的时候就会找不到,会无法加载 Lib是python的标准库目录 第三方库安装的模块一般都会存在site-packages目录中,site-p

第二百七十九节,MySQL数据库-pymysql模块

MySQL数据库-pymysql模块 pymysql模块是python操作数据库的一个模块 connect()创建数据库链接,参数是连接数据库需要的连接参数使用方式: 模块名称.connect() 参数: host=数据库ip port=数据库端口 user=数据库用户名 passwd=数据库密码 db=数据库名称 cursor()创建数据库操作游标,无参使用方式: 游标变量.cursor() execute()操作数据库,参数1 sql语句,参数2 字符串占位符变量使用方式: 游标变量.exe

python修行之路(三 模块初识及数据运算类型)

在python修行路上,果不其然的遇到了第一个困处,开始看不懂代码,开始出现理解苦难的现象,这是小白修行路上的正常现象.其实自己是很慌的,感觉很无助,能做的就是把自己学的慢慢记录下来,理一个自己的逻辑,尽量写清楚,写的通俗易懂,为与我类似的修行者做参考. 一.模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,使用时安装调用就好,现在先象征性的学习2个简单的. sys模块--sys pass功能#!/usr/bin/env python# -*- coding: utf-8

python学习笔记(模块初识、pyc和PyCodeObject是什么)

一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sys.argv) #打印相对路径,在pycharm输出结果是绝对路径,因为在pycharm中调用 print(sys.argv[2]) #可以从数据列表中取值,[2]指取第三位.        标准库存放位置:C:\Python35\Lib 第三方库存放位置C:\Python35\Lib\site-p