---恢复内容开始---

 python 中 关于SQL语句的查询

  1. from pymysql import * # 由于只能用了一个MySQL 的包所以全部引进
  2.  
  3. def main():
  4. # 创建Connection连接
  5. conn = connect(host='localhost',port=3306,user='root',password='root',database='jing_dong',charset='utf8')
  6. # 获得Cursor对象
  7. cs1 = conn.cursor()
  8. # 执行select语句,并返回受影响的行数:查询一条数据 execute语句后 用的是SQL语句
  9. count = cs1.execute('select id,name from goods where id>=4')
  10. # 打印受影响的行数
  11. print("查询到%d条数据:" % count)
  12.  
  13. for i in range(count):
  14. # 获取查询的结果
  15. result = cs1.fetchone()
  16. # 打印查询的结果
  17. print(result)
  18. # 获取查询的结果
  19.  
  20. # 关闭Cursor对象
  21. cs1.close()
  22. conn.close()
  23.  
  24. if __name__ == '__main__':
  25. main()

fetch 用来进行取值  有  fecthone  fecthmany  fecthall

python 中 SQL  运用于增删改

  1. from pymysql import *
  2.  
  3. def main():
  4. # 创建Connection连接
  5. conn = connect(host='localhost',port=3306,database='jing_dong',user='root',password='root',charset='utf8')
  6. # 获得Cursor对象
  7. cs1 = conn.cursor()
  8. # 执行insert语句,并返回受影响的行数:添加一条数据
  9. # 增加
  10. count = cs1.execute('insert into goods_cates(name) values("硬盘")')
  11. #打印受影响的行数
  12. print(count)
  13.  
  14. count = cs1.execute('insert into goods_cates(name) values("光盘")')
  15. print(count)
  16.  
  17. # # 更新
  18. # count = cs1.execute('update goods_cates set name="机械硬盘" where name="硬盘"')
  19. # # 删除
  20. # count = cs1.execute('delete from goods_cates where id=6')
  21.  
  22. # 提交之前的操作,如果之前已经之执行过多次的execute,那么就都进行提交
  23. conn.commit()
  24.  
  25. # 关闭Cursor对象
  26. cs1.close()
  27. # 关闭Connection对象
  28. conn.close()
  29.  
  30. if __name__ == '__main__':
  31. main()

防止sql注入的安全问题

  • sql语句的参数化,可以有效防止sql注入
  • 注意:此处不同于python的字符串格式化,全部使用%s占位
    1. from pymysql import *
    2.  
    3. def main():
    4.  
    5. find_name = input("请输入物品名称:")
    6.  
    7. # 创建Connection连接
    8. conn = connect(host='localhost',port=3306,user='root',password='mysql',database='jing_dong',charset='utf8')
    9. # 获得Cursor对象
    10. cs1 = conn.cursor()
    11.  
    12. # # 非安全的方式
    13. # # 输入 " or 1=1 or " (双引号也要输入)
    14. # sql = 'select * from goods where name="%s"' % find_name
    15. # print("""sql===>%s<====""" % sql)
    16. # # 执行select语句,并返回受影响的行数:查询所有数据
    17. # count = cs1.execute(sql)
    18.  
    19. # 安全的方式
    20. # 构造参数列表
    21. params = [find_name]
    22. # 执行select语句,并返回受影响的行数:查询所有数据
    23. count = cs1.execute('select * from goods where name=%s', params)
    24. # 注意:
    25. # 如果要是有多个参数,需要进行参数化
    26. # 那么params = [数值1, 数值2....],此时sql语句中有多个%s即可
    27.  
    28. # 打印受影响的行数
    29. print(count)
    30. # 获取查询的结果
    31. # result = cs1.fetchone()
    32. result = cs1.fetchall()
    33. # 打印查询的结果
    34. print(result)
    35. # 关闭Cursor对象
    36. cs1.close()
    37. # 关闭Connection对象
    38. conn.close()
    39.  
    40. if __name__ == '__main__':
    41. main()

自己写的很low逼的查询框架   以后或许可以用来修改修改

  1. //实验四
  2. #include<iostream>
  3. #include<string.h>
  4. using namespace std;
  5. int main()
  6. {
  7. float m,temp=0,sum=0;
  8. int n,i;
  9. float averge=0;
  10. cout<<"How many number do you input?\n";//询问输入的个数
  11. cin>>n;
  12. int a[n];
  13. cout<<"input 1 zheng shu\n";
  14. cin>>m;
  15. a[0]=m;
  16. cout<<"please input "<<n-1<<" numbers\n";
  17. for(i=1;i<n;i++)//循环输入整数
  18. {
  19. cin>>a[i];
  20. }
  21. int max=a[0],min=a[0];
  22. for(i=0;i<n;i++)
  23. {
  24. if(max<a[i]){max=a[i];}//比较max和各整数的大小
  25. if(min>a[i]){min=a[i];}
  26. sum+=a[i];
  27. }
  28. averge=sum/n;
  29. cout<<"the MAX numbers is :"<<max<<endl;
  30. cout<<"the Min numbers is :"<<min<<endl;
  31.  
  32. cout<<"the averge is :"<<averge<<endl;
  33. return 0;
  34. }

  

18 12 07 MySQL 与python 的交互的更多相关文章

  1. mysql与python的交互

    mysql是一种关系型数据库,是为了表示事物与事物之间的关系,本身存于数据库中的内容意义并不大,所以广泛应用于编程语言中,python中九含有与MySQL交互的模块 pymysql 编程对mysql的 ...

  2. python数据库-MySQL与python的交互

    一.python3中安装PyMySQL模块 命令安装: sudo apt-get install python-mysql 或者 pip install pymysql 2.使用在pyCharm中安装 ...

  3. [18/12/07]String 字符串

    一.基础概念 1. String类又称作不可变字符序列. 2. String位于java.lang包中,Java程序默认导入java.lang包下的所有类. 3. Java字符串就是Unicode字符 ...

  4. python进阶07 MySQL

    python进阶07 MySQL 一.MySQL基本结构 1.认识MySQL #MySQL不是数据库,它是数据库管理软件 #MySQL如何组织数据 #如何进入MySQL数据库 #其他注意事项 #以表格 ...

  5. mysql及python交互

    mysql在之前写过一次,那时是我刚刚进入博客,今天介绍一下mysql的python交互,当然前面会把mysql基本概述一下. 目录: 一.命令脚本(mysql) 1.基本命令 2.数据库操作命令 3 ...

  6. MySQL(Python+ORM)

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

  7. Python全栈 MySQL 数据库(SQL命令大全、MySQL 、Python调用)

    为了梦想与了信仰    开局一张图   主要三个方面: 1.Linux终端命令 2.MySQL语句 3.Python调用   先删库 再跑路.....                         ...

  8. How to Access MySQL with Python Version 3.4

    http://askubuntu.com/questions/630728/how-to-access-mysql-with-python-version-3-4 How to Access MySQ ...

  9. Ubuntu 18.04 安装MySQL

    最近在写东西的时候,需要用到MySQL,在网上查了一下,都说Ubuntu18.04不能安装MySQL5.7.22, 总觉的不可能,所以自己就研究了一下,然后分享给大家 工具/原料   VMware W ...

随机推荐

  1. 编程题目: 找出最小的k个数

    找出最小或者最大的几个数我使用的是堆排序,效率为0(nlgn) 构建小顶堆返回末尾的k个数 或者 构建大顶堆返回前k个数 #!/usr/bin/env python3 def heap_sort(ar ...

  2. 015.Delphi插件之QPlugins,FMX插件窗口

    内嵌FMX的插件窗口,效果还是很可以的.退出时,会报错,很诡异啊. 主窗口代码如下 unit Frm_Main; interface uses Winapi.Windows, Winapi.Messa ...

  3. IDA使用初步

    按空格看结构图,再按空格看汇编代码,按F5反编译 shift+F12 搜索中文字符串,通过字符串所在位置定位关键信息. 双击可能出flag的语句跳转至关键字符串. 想F5生成C伪代码,先crtl+X打 ...

  4. 吴裕雄--天生自然java开发常用类库学习笔记:线程操作案例——生产者与消费者

    class Info{ // 定义信息类 private String name = "李兴华"; // 定义name属性 private String content = &qu ...

  5. [强网杯 2019]Upload

    0x00 知识点 代码审计,PHP 反序列化. 0x01 解题 先注册一个账号,再登陆 上传 简单测试一下: 只能上传能被正常查看的 png. F12看到文件上传路径 扫扫敏感文件 存在:/www.t ...

  6. nodeks —— fs模块 —— 从流中 读取和写入数据

    Fs流读取和写入数据 使用文件流来读取大文件不会卡顿 1, 从流中读取数据 var fs = require("fs"); var data = ''; var count = 0 ...

  7. 分享一个简单的C#的通用DbHelper类(支持数据连接池)

    每次新项目的时候,都要从头去找一遍数据库工具类.这里分享一个简单实用的C#的通用DbHelper工具类,支持数据连接池. 连接池配置 <connectionStrings> <add ...

  8. HDU 4862 JUMP 最小费用最大流

    2014 多校的B题,由于我不怎么搞图论,当时碰到这个题目,我怎么想都没往网络流方面弄,不过网络流真的是个好东西,对于状态多变,无法用动规或者数据结构来很好表示的时候,非常有用 这个题目要求每个点一定 ...

  9. enlipse 快捷键

    ctrl+shift+o  去掉多余的引用类

  10. 干货分享:学术Essay写作流程及写作技巧详解

    Academic essay是指留学生作业中的一种,其范围非常广泛,可以是任何一种话题.而学术essay主要是指其中比较正式的.客观的话题,有明确的研究目的与研究对象.例如“Research on t ...