pymysql

Python 操作 MySQL

眉间皱痕 提交于 2019-12-02 14:35:20
本文链接 Python 操作 MySQL 开发环境与配置 win_x64 Ubuntu14.04 Python3.x pip安装pymysql模块 直接使用pip安装 pip install pymysql win64上直接在cmd中执行 连接本地数据库 使用模块 pymysql 连接数据库 本地数据库相关配置请参阅: http://rustfisher.github.io/2017/02/25/backend/MySQL_install/ #!/usr/bin/python # coding=utf-8 import pymysql # 连接本地数据库 conn = pymysql . connect ( host = 'localhost' , port = 3306 , user = 'root' , passwd = 'yourpwd' , db = 'samp_db1' , charset = 'utf8' ) cursor = conn . cursor ( ) cursor . execute ( 'select * from bigstu' ) for row in cursor . fetchall ( ) : print ( row ) # 查 cursor . execute ( 'select id, name from bigstu where age >

Python 操作 MySQL

好久不见. 提交于 2019-12-02 14:29:28
本文链接 Python 操作 MySQL 开发环境与配置 win_x64 Ubuntu14.04 Python3.x pip安装pymysql模块 直接使用pip安装 pip install pymysql win64上直接在cmd中执行 连接本地数据库 使用模块 pymysql 连接数据库 本地数据库相关配置请参阅: http://rustfisher.github.io/2017/02/25/backend/MySQL_install/ #!/usr/bin/python # coding=utf-8 import pymysql # 连接本地数据库 conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='yourpwd', db='samp_db1', charset='utf8') cursor = conn.cursor() cursor.execute('select * from bigstu') for row in cursor.fetchall(): print(row) # 查 cursor.execute('select id, name from bigstu where age > 22') for res in cursor.fetchall(): print

python操作mysql

让人想犯罪 __ 提交于 2019-12-02 11:33:05
pymysql:python操作mysql 安装pymysql >: pip3 install pymysql 增删改查 # 选取操作的模块 pymysql # pymysql连接数据库的必要参数:主机、端口、用户名、密码、数据库 # 注:pymysql不能提供创建数据库的服务,数据库要提前创建 import pymysql # 1)建立数据库连接对象 conn # 2)通过 conn 创建操作sql的 游标对象 # 3)编写sql交给 cursor 执行 # 4)如果是查询,通过 cursor对象 获取结果 # 5)操作完毕,端口操作与连接 # 1)建立数据库连接对象 conn conn = pymysql.connect(user='root', passwd='root', database='oldboy') # conn = pymysql.connect(user='root', passwd='root', database='oldboy', autocommit=True) # 2)通过 conn 创建操作sql的 游标对象 # 注:游标不设置参数,查询的结果就是数据元组,数据没有标识性 # 设置pymysql.cursors.DictCursor,查询的结果是字典,key是表的字段 cursor = conn.cursor(pymysql.cursors

Django设置两个主键后get查询报错的bug记录

走远了吗. 提交于 2019-12-02 10:44:31
场景还原 环境 Mysql 5.7 Python 3.7 Django 2.1 数据库表结构 数据表数据 反向生成后的models class TestTable ( models . Model ) : key1 = models . CharField ( primary_key = True , max_length = 10 ) key2 = models . CharField ( max_length = 10 ) value = models . CharField ( max_length = 255 , blank = True , null = True ) class Meta : managed = False db_table = 'test_table' unique_together = ( ( 'key1' , 'key2' ) , ) 测试函数 def bug_test ( request ) : obj = models . TestTable . objects . get ( key1 = '1' , key2 = '3' ) print ( obj . value ) obj . value = '6' obj . save ( ) return HttpResponse ( 'true' ) 测试结果 控制台报错 django.db

Web应用

拟墨画扇 提交于 2019-12-02 04:44:33
目录 web应用 Web应用程序是什么 Web应用程序的优点 Web应用程序的缺点 B/S架构优点 基于SOCKET写一个web应用 py文件 index.html 文件 手撸简单web框架 有架构 web应用 Web应用程序是什么 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助IE等浏览器来运行。WEB应用程序一般是B/S模式。Web应用程序首先是“应用程序”,和用标准的程序语言,如C、C++等编写出来的程序没有什么本质上的不同。然而Web应用程序又有自己独特的地方,就是它是基于Web的,而不是采用传统方法运行的。换句话说,它是典型的浏览器/服务器架构的产物。 Web应用程序的优点 网络应用程序不需要任何复杂的“展开”过程,你所需要的只是一个适用的浏览器; 网络应用程序通常耗费很少的用户硬盘空间,或者一点都不耗费; 它们不需要更新,因为所有新的特性都在服务器上执行,从而自动传达到用户端; 网络应用程序和服务器端的网络产品都很容易结合,如email功能和搜索功能; 因为它们在网络浏览器窗口中运行,所以大多数情况下它们是通过跨平台使用的

Web框架

陌路散爱 提交于 2019-12-02 04:43:42
Web框架 web框架 Web框架(Web framework)是一种开发框架,用来支持动态网站、网络应用和网络服务的开发。这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方法。web框架已经实现了很多功能,开发人员使用框架提供的方法并且完成自己的业务逻辑,就能快速开发web应用了。浏览器和服务器的是基于HTTP协议进行通信的。也可以说web框架就是在以上十几行代码基础张扩展出来的,有很多简单方便使用的方法,大大提高了开发的效率。 wsgiref模块 最简单的Web应用就是先把HTML用文件保存好,用一个现成的HTTP服务器软件,接收用户请求,从文件中读取HTML,返回。 如果要动态生成HTML,就需要把上述步骤自己来实现。不过,接受HTTP请求、解析HTTP请求、发送HTTP响应都是苦力活,如果我们自己来写这些底层代码,还没开始写动态HTML呢,就得花个把月去读HTTP规范。 正确的做法是底层代码由专门的服务器软件实现,我们用Python专注于生成HTML文档。因为我们不希望接触到TCP连接、HTTP原始请求和响应格式,所以,需要一个统一的接口协议来实现这样的服务器软件,让我们专心用Python编写Web业务。这个接口就是WSGI:Web Server Gateway Interface

How do PyMySQL prevent user from sql injection attack?

感情迁移 提交于 2019-12-02 04:43:33
Sorry for ask here but I cannot found much reference about pymysql's security guide about how do we prevent sql injection, When I do PHP develope I know use mysql preparedstatement(or called Parameterized Query or stmt),but I cannot found reference about this in pymysql simple code use pymysql like sqls="select id from tables where name=%s" attack="jason' and 1=1" cursor.execute(sqls,attack) How do I know this will prevent sql injection attack or not?if prevent succeed,how do pymysql prevent?Is cursor.execute already use preparedstatement by default? Python drivers do not use real query

Django杂录

三世轮回 提交于 2019-12-02 03:42:25
Django杂录 因为是概括性的讲解,每一个方面没有具体到点,所以这篇是杂录 HHTP协议 超文本传输协议 四大特性 基于TCP/IP之上作用于应用层 基于socket请求响应 无状态 无连接 数据格式 请求格式 请求首行(请求方式,协议版本...) 请求头(一大堆k:v键值对) \r\n 请求体()(真正的数据 发post请求的时候才有 如果是get请求不会有) 响应格式 响应首行 响应头 \r\n 响应体 响应状态码 用特定的数字表示一些意思 1XX:服务端已经成功接收到了你的数据 正在处理 你可以继续提交其他数据 2XX:服务端成功响应(200请求成功) 3XX:重定向 4XX:请求错误(404 请求资源不存在 403 拒绝访问) 5XX:服务器内部错误(500 ) 请求方式 get请求 朝别人要数据 post请求 向别人提交数据 url统一资源定位符 管理url python三大主流框架 Django : 大而全 自带的功能特别特别多 类似于航空母舰有时候过于笨重 Flask 小而精 自带的功能特别特别少 类似于游骑兵第三方的模块特别特别多,如果将flask第三方模块全部加起来 完全可以超过django 比较依赖于第三方模块 Tornado 异步非阻塞 牛逼到可以开发游戏服务器 A:socket部分 B:路由与视图函数对应关系 C:模板语法 Django: A用别人的

PyMySQL Access Denied “using password (no”) but using password

那年仲夏 提交于 2019-12-01 23:18:46
问题 Headscratcher here for me. I am attempting to connect to a database on my local MySQL 8.0.11.0 install from Python . Here's the code I'm using : conn = pymysql.connect(host='localhost', port=3306, user='root', password='placeholder', db='CustomerInfo') Python is returning the following : Traceback (most recent call last): File "D:\Python\FileCheck.py", line 38, in <module> conn = pymysql.connect(host='localhost', port=3306, user='root', password='placeholder', db='CustomerInfo') File "C:

Django MTV之model

痴心易碎 提交于 2019-12-01 23:06:41
Django MTV之model Django ORM O(objects):类和对象。 R(Relation):关系,关系数据库中的表格。 M(Mapping):映射。 Django ORM框架的功能: a) 建立模型类和表之间的对应关系,允许我们通过面向对象的方式来操作数据库。 b) 根据设计的模型类生成数据库中的表格。 c) 通过方便的配置就可以进行数据库的切换。 1. Djan go数据库配置 2.1 mysql 命令回顾 登录 mysql数据库:mysql –uroot –p 查看有哪些数据库 :show databases 创建数据库 :create database test charset=utf8 ; #切记:指定编码 使用数据库: use test; 查看数据库中的表: show tables; 2.2 Django 配置使用 mysql 数据库 修改 settings.py中的DATABASES。 注意: django框架不会自动帮我们生成mysql数据库,所以我们需要自己去创建(也就是说只能生成表)。 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test', 'USER': 'root', 'PASSWORD':'ROOT', 'HOST':'', #