18 12 07 MySQL 与python 的交互
---恢复内容开始---
python 中 关于SQL语句的查询
- from pymysql import * # 由于只能用了一个MySQL 的包所以全部引进
- def main():
- # 创建Connection连接
- conn = connect(host='localhost',port=3306,user='root',password='root',database='jing_dong',charset='utf8')
- # 获得Cursor对象
- cs1 = conn.cursor()
- # 执行select语句,并返回受影响的行数:查询一条数据 execute语句后 用的是SQL语句
- count = cs1.execute('select id,name from goods where id>=4')
- # 打印受影响的行数
- print("查询到%d条数据:" % count)
- for i in range(count):
- # 获取查询的结果
- result = cs1.fetchone()
- # 打印查询的结果
- print(result)
- # 获取查询的结果
- # 关闭Cursor对象
- cs1.close()
- conn.close()
- if __name__ == '__main__':
- main()
fetch 用来进行取值 有 fecthone fecthmany fecthall
python 中 SQL 运用于增删改
- from pymysql import *
- def main():
- # 创建Connection连接
- conn = connect(host='localhost',port=3306,database='jing_dong',user='root',password='root',charset='utf8')
- # 获得Cursor对象
- cs1 = conn.cursor()
- # 执行insert语句,并返回受影响的行数:添加一条数据
- # 增加
- count = cs1.execute('insert into goods_cates(name) values("硬盘")')
- #打印受影响的行数
- print(count)
- count = cs1.execute('insert into goods_cates(name) values("光盘")')
- print(count)
- # # 更新
- # count = cs1.execute('update goods_cates set name="机械硬盘" where name="硬盘"')
- # # 删除
- # count = cs1.execute('delete from goods_cates where id=6')
- # 提交之前的操作,如果之前已经之执行过多次的execute,那么就都进行提交
- conn.commit()
- # 关闭Cursor对象
- cs1.close()
- # 关闭Connection对象
- conn.close()
- if __name__ == '__main__':
- main()
防止sql注入的安全问题
- sql语句的参数化,可以有效防止sql注入
- 注意:此处不同于python的字符串格式化,全部使用%s占位
- from pymysql import *
- def main():
- find_name = input("请输入物品名称:")
- # 创建Connection连接
- conn = connect(host='localhost',port=3306,user='root',password='mysql',database='jing_dong',charset='utf8')
- # 获得Cursor对象
- cs1 = conn.cursor()
- # # 非安全的方式
- # # 输入 " or 1=1 or " (双引号也要输入)
- # sql = 'select * from goods where name="%s"' % find_name
- # print("""sql===>%s<====""" % sql)
- # # 执行select语句,并返回受影响的行数:查询所有数据
- # count = cs1.execute(sql)
- # 安全的方式
- # 构造参数列表
- params = [find_name]
- # 执行select语句,并返回受影响的行数:查询所有数据
- count = cs1.execute('select * from goods where name=%s', params)
- # 注意:
- # 如果要是有多个参数,需要进行参数化
- # 那么params = [数值1, 数值2....],此时sql语句中有多个%s即可
- # 打印受影响的行数
- print(count)
- # 获取查询的结果
- # result = cs1.fetchone()
- result = cs1.fetchall()
- # 打印查询的结果
- print(result)
- # 关闭Cursor对象
- cs1.close()
- # 关闭Connection对象
- conn.close()
- if __name__ == '__main__':
- main()
自己写的很low逼的查询框架 以后或许可以用来修改修改
- //实验四
- #include<iostream>
- #include<string.h>
- using namespace std;
- int main()
- {
- float m,temp=0,sum=0;
- int n,i;
- float averge=0;
- cout<<"How many number do you input?\n";//询问输入的个数
- cin>>n;
- int a[n];
- cout<<"input 1 zheng shu\n";
- cin>>m;
- a[0]=m;
- cout<<"please input "<<n-1<<" numbers\n";
- for(i=1;i<n;i++)//循环输入整数
- {
- cin>>a[i];
- }
- int max=a[0],min=a[0];
- for(i=0;i<n;i++)
- {
- if(max<a[i]){max=a[i];}//比较max和各整数的大小
- if(min>a[i]){min=a[i];}
- sum+=a[i];
- }
- averge=sum/n;
- cout<<"the MAX numbers is :"<<max<<endl;
- cout<<"the Min numbers is :"<<min<<endl;
- cout<<"the averge is :"<<averge<<endl;
- return 0;
- }
18 12 07 MySQL 与python 的交互的更多相关文章
- mysql与python的交互
mysql是一种关系型数据库,是为了表示事物与事物之间的关系,本身存于数据库中的内容意义并不大,所以广泛应用于编程语言中,python中九含有与MySQL交互的模块 pymysql 编程对mysql的 ...
- python数据库-MySQL与python的交互
一.python3中安装PyMySQL模块 命令安装: sudo apt-get install python-mysql 或者 pip install pymysql 2.使用在pyCharm中安装 ...
- [18/12/07]String 字符串
一.基础概念 1. String类又称作不可变字符序列. 2. String位于java.lang包中,Java程序默认导入java.lang包下的所有类. 3. Java字符串就是Unicode字符 ...
- python进阶07 MySQL
python进阶07 MySQL 一.MySQL基本结构 1.认识MySQL #MySQL不是数据库,它是数据库管理软件 #MySQL如何组织数据 #如何进入MySQL数据库 #其他注意事项 #以表格 ...
- mysql及python交互
mysql在之前写过一次,那时是我刚刚进入博客,今天介绍一下mysql的python交互,当然前面会把mysql基本概述一下. 目录: 一.命令脚本(mysql) 1.基本命令 2.数据库操作命令 3 ...
- MySQL(Python+ORM)
本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb ...
- Python全栈 MySQL 数据库(SQL命令大全、MySQL 、Python调用)
为了梦想与了信仰 开局一张图 主要三个方面: 1.Linux终端命令 2.MySQL语句 3.Python调用 先删库 再跑路..... ...
- 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 ...
- Ubuntu 18.04 安装MySQL
最近在写东西的时候,需要用到MySQL,在网上查了一下,都说Ubuntu18.04不能安装MySQL5.7.22, 总觉的不可能,所以自己就研究了一下,然后分享给大家 工具/原料 VMware W ...
随机推荐
- 编程题目: 找出最小的k个数
找出最小或者最大的几个数我使用的是堆排序,效率为0(nlgn) 构建小顶堆返回末尾的k个数 或者 构建大顶堆返回前k个数 #!/usr/bin/env python3 def heap_sort(ar ...
- 015.Delphi插件之QPlugins,FMX插件窗口
内嵌FMX的插件窗口,效果还是很可以的.退出时,会报错,很诡异啊. 主窗口代码如下 unit Frm_Main; interface uses Winapi.Windows, Winapi.Messa ...
- IDA使用初步
按空格看结构图,再按空格看汇编代码,按F5反编译 shift+F12 搜索中文字符串,通过字符串所在位置定位关键信息. 双击可能出flag的语句跳转至关键字符串. 想F5生成C伪代码,先crtl+X打 ...
- 吴裕雄--天生自然java开发常用类库学习笔记:线程操作案例——生产者与消费者
class Info{ // 定义信息类 private String name = "李兴华"; // 定义name属性 private String content = &qu ...
- [强网杯 2019]Upload
0x00 知识点 代码审计,PHP 反序列化. 0x01 解题 先注册一个账号,再登陆 上传 简单测试一下: 只能上传能被正常查看的 png. F12看到文件上传路径 扫扫敏感文件 存在:/www.t ...
- nodeks —— fs模块 —— 从流中 读取和写入数据
Fs流读取和写入数据 使用文件流来读取大文件不会卡顿 1, 从流中读取数据 var fs = require("fs"); var data = ''; var count = 0 ...
- 分享一个简单的C#的通用DbHelper类(支持数据连接池)
每次新项目的时候,都要从头去找一遍数据库工具类.这里分享一个简单实用的C#的通用DbHelper工具类,支持数据连接池. 连接池配置 <connectionStrings> <add ...
- HDU 4862 JUMP 最小费用最大流
2014 多校的B题,由于我不怎么搞图论,当时碰到这个题目,我怎么想都没往网络流方面弄,不过网络流真的是个好东西,对于状态多变,无法用动规或者数据结构来很好表示的时候,非常有用 这个题目要求每个点一定 ...
- enlipse 快捷键
ctrl+shift+o 去掉多余的引用类
- 干货分享:学术Essay写作流程及写作技巧详解
Academic essay是指留学生作业中的一种,其范围非常广泛,可以是任何一种话题.而学术essay主要是指其中比较正式的.客观的话题,有明确的研究目的与研究对象.例如“Research on t ...