pymysql模块的使用

 #1 基本使用
# import pymysql
# conn=pymysql.connect(host='localhost',user='root',password='123',database='db4') # 链接
# cursor=conn.cursor() #拿到游标,即mysql >,接收命令
# sql='select * from userinfo where id>1;'
# rows=cursor.execute(sql) #提交命令,拿到受影响的行数
# print('%s rows in set (0.00 sec)' %rows)
# cursor.close()
# conn.close() #2 小练习
# import pymysql
# user=input('用户名>>: ').strip()
# pwd=input('密码>>: ').strip()
# #链接,拿到游标
# conn=pymysql.connect(host='localhost',user='root',password='123',database='db4')
# cursor=conn.cursor() #拿到游标,即mysql >
# #执行sql
# sql='select * from userinfo where user="%s" and pwd="%s";' %(user,pwd)
# print(sql)
# rows=cursor.execute(sql) #拿到受影响的行数
# print('%s rows in set (0.00 sec)' %rows)
# cursor.close()
# conn.close()
# if rows:
# print('登录成功')
# else:
# print('登录失败') #** 上面有sql注入,‘select * from user where user="%s" and password="%s"’;%(user,pwd)
# user>>egon" -- hahahaha 这里--"粘起来就会报错,必须有空格才能跳过密码,因为strip的原因,所以后面有内容
# select * from user where user="egon" -- hahahaha" and password="%s"’
# user>> xxx" or 1=1 -- hahaha
# select * from user where user="xxx" or 1=1 -- hahaha" -- hahahaha" and password="%s"’ 用户名密码都不需要要 #3:解决sql注入
# import pymysql
# user=input('用户名>>: ').strip()
# pwd=input('密码>>: ').strip()
# conn=pymysql.connect(host='localhost',user='root',password='123',database='db4')
# cursor=conn.cursor()
#
# sql='select * from userinfo where user=%s and pwd=%s;'
# rows=cursor.execute(sql,[user,pwd]) #就是将双引号去除了
# print('%s rows in set (0.00 sec)' %rows)
# cursor.close()
# conn.close()
# if rows:
# print('登录成功')
# else:
# print('登录失败') #4 增删改
# import pymysql
# conn=pymysql.connect(host='localhost',user='root',password='123',database='db4',charset='utf8')#注意字符编码默认是latin
# cursor=conn.cursor()
# sql='insert into userinfo(user,pwd) values(%s,%s);'
# # rows=cursor.execute(sql,('alex','456')) #提交命令
# rows=cursor.executemany(sql,[('yuanhao','123'),('laowu','123'),('kgf','12323')]) #提交多组命令
# print('%s row in set (0.00 sec)' %rows)
# conn.commit() #执行命令
# cursor.close()
# conn.close() #5 查:fetchone,fetchmany,fetchall
# import pymysql
# conn=pymysql.connect(host='localhost',user='root',password='123',database='db4',charset='utf8')
# cursor=conn.cursor()
# sql='select * from userinfo;'
# rows=cursor.execute(sql) #5.1查单条,返回的是元祖
# res1=cursor.fetchone()
# res2=cursor.fetchone()
# res3=cursor.fetchone()
# print(res1[0])
# print(res2)
# print(res3) #5.2查多条
# print(cursor.fetchmany(3)) #显示在一个大元祖里
# print(cursor.fetchone()) #5.3查所有
# print(cursor.fetchall()) #显示在一个大元祖里
# print(cursor.fetchone()) #None #5.4光标的移动,绝对路径
# print(cursor.fetchall())
# print(cursor.fetchone())
# cursor.scroll(1,mode='absolute')
# print(cursor.fetchone())
# cursor.scroll(3,mode='absolute')
# print(cursor.fetchone()) #5.5相对路径
# print(cursor.fetchone())
# print(cursor.fetchone())
# cursor.scroll(-2,mode='relative')
# print(cursor.fetchone()) # cursor.close()
# conn.close() #6 查看当前光标ID,用于多表关联,插入ID时候,其他表可以获取这个ID递增
# import pymysql
# conn=pymysql.connect(host='localhost',user='root',password='123',database='db4',charset='utf8')
# cursor=conn.cursor()
# sql='insert into userinfo(user,pwd) values(%s,%s);'
# rows=cursor.execute(sql,('alex阿什顿发','123'))
# conn.commit()
# print(cursor.lastrowid)
# cursor.close()
# conn.close()

python开发mysql:Pymysql模块的更多相关文章

  1. python连接MySQL pymysql模块,游标,SQL注入问题,增删改查操作

    pymysql模块 pymysql是用python控制终端对MySQL数据库进行操作的第三方模块 import pymysql # 1.连接数据库 client = pymysql.connect( ...

  2. day40:python操作mysql:pymysql模块&SQL注入攻击

    目录 part1:用python连接mysql 1.用python连接mysql的基本语法 2.用python 创建&删除表 3.用python操作事务处理 part2:sql注入攻击 1.s ...

  3. Python安装MySQL数据库模块

    背景 折腾: [记录]使用Python操作MySQL数据库 的过程中,需要去安装MySQLdb. 下载MySQLdb 去官网: http://pypi.python.org/pypi/MySQL-py ...

  4. Python操作mysql之模块pymysql

    pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持3.x版本. 本文环境 python3.6.1  Mysql ...

  5. python如何使用pymysql模块

    Python 3.x 操作MySQL的pymysql模块详解 前言pymysql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而M ...

  6. mysql数据库----python操作mysql ------pymysql和SQLAchemy

    本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy 一.pymysql pymsql是Python中操作MySQL的模块,其使用方法和MySQ ...

  7. python基础(36):pymysql模块

    1. pymysql模块 在使用pymysql模块前需要学习数据库MySQL:<MySQL基础>. 1.1 pymysql的下载和使用 看完MySQL基础,我们都是通过MySQL自带的命令 ...

  8. python — 索引与pymysql模块

    1. 索引 1.1 索引原理 1.什么是索引 ?-- 目录 索引就是建立起的一个在存储表阶段就有的一个存储结构,能在查询的时候加速. 2.索引的重要性: 读写比例 为 10:1,所有读(查询)的速度就 ...

  9. python开发mysql:视图、触发器、事务、存储过程、函数

    一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...

随机推荐

  1. MYSQL变量和状态

    mysql设置变量是在my.cnf文件里,修改配置文件后需要重启mysql的服务,才能生效.但是在线上服务器是不允许随便重启的,我们可以用命令直接修改变量值,使其生效.然后再修改配置文件中的值,以防止 ...

  2. Log4j 发送 EMail 的配置

    项目上线后,运行时往往也还会有异常发生,在异常抛出时,希望即时的得到反馈.所以需要配置LOG4J的发送EMAIL功能. 项目中原来使用的的Log4j版本为1.2.9 ,但此版本并不支持邮件服务的认证功 ...

  3. WinForm---进度条的实现方法

    (转自:http://www.cnblogs.com/Sue_/articles/2024932.html) 看了好几个WinForm程序了,发现他们对进度条的处理完全失去了进度条的作用.他们都是采用 ...

  4. 内存保护机制及绕过方案——通过覆盖SEH异常处理函数绕过/GS机制

    通过SEH链绕过GS保护机制 ⑴.  原理分析: i.异常处理结构(SEH)处理流程如下: SEH是基于线程的,每一个线程都有一个独立的SEH处理结果,在线程信息块中的第一个结构指向线程的异常列表,F ...

  5. LeetCode OJ:Linked List Cycle(链表循环)

    Given a linked list, determine if it has a cycle in it. Follow up:Can you solve it without using ext ...

  6. pg_test_fsync使用记录

    pg_test_fsync pg_test_fsync旨在让您合理地了解特定系统上最快的wal_sync_method,以及在发生识别的I / O问题时提供诊断信息. 但是,pg_test_fsync ...

  7. Win7系统64位环境下使用Apache——安装Apache2.4时报错“Invalid command Order”问题的解决

    之前在文章Win7系统64位环境下使用Apache--Apache2.4整合Tomcat与mod_jk提到了安装Apache2.4时有可能报错: Invalid command 'Order', pe ...

  8. HAWQ取代传统数仓实践(十一)——维度表技术之维度合并

    有一种合并维度的情况,就是本来属性相同的维度,因为某种原因被设计成重复的维度属性.例如,在销售订单示例中,随着数据仓库中维度的增加,我们会发现有些通用的数据存在于多个维度中.客户维度的客户地址相关信息 ...

  9. 你必须知道的495个C语言问题,学习体会一

    C语言作为一门古老的语言,其灵活性和容易出错都让人 又爱又恨,书籍<你必须知道的495个C语言问题>,使用问答的形式,告诉读者 C语言使用的各个方面的知识,包括一些冷知识等.以下,我要摘录 ...

  10. 初识django框架

    django框架 1.框架介绍 根据第一部分内容介绍,我们可以总结出一个web框架应该包含如下三部分:a.sockect服务.b.根据不同的url调用不同函数(包含逻辑).c.返回内容(模板渲染).常 ...