pymysql

Formatting in pymysql multiline statement

倾然丶 夕夏残阳落幕 提交于 2019-12-08 09:14:30
问题 The following gets a list of company names from one columns in a database, then iteratively uses MATCH AGAINST to match them against another column. The code is: cur = conn.cursor() cur.execute("SELECT DISTINCT company FROM opportunities;") o_companies = cur.fetchall() results = [] for n in o_companies: entry = n[0] cur.execute( """ SELECT DISTINCT lead_id, leads.created_date, leads.company_name, opp_id, opportunities.created_date, opportunities.company, DATEDIFF( STR_TO_DATE(opportunities

Broken Pipe when I try to insert large blob with pymysql

心不动则不痛 提交于 2019-12-08 04:30:25
问题 I have a flask-based web app that allows users to upload files. Files are stored in a mysql database. This works fine until the file is larger than around 16Mb, the insert fails with the following: File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1518, in __call__ return self.wsgi_app(environ, start_response) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1506, in wsgi_app response = self.make_response(self.handle_exception(e)) File "/usr/local/lib/python2.7

Python-MySQL学习

一曲冷凌霜 提交于 2019-12-07 16:13:26
内容来源(有删改) : https://blog.csdn.net/hzw6991/article/details/87893761 上面链接同步视频地址: https://www.bilibili.com/video/av44630247 print("I will study mysql") import pymysql # 第一步,连接数据库,类似于cmd里面的 mysql -uroot -p # mysql -h地址 -uroot -p ''' 连接数据库需要用到的参数 用户名:user 密码:password 指定数据库:db #创建数据库(cmd环境) mysql -u root -p**** create database xdd1207; ''' #连接数据库 db = pymysql.connect(host='localhost', port=3306, user='root', password='****', db='xdd1207', charset='utf8') print('数据库连接成功!') #创建表格 cur = db.cursor() #防止已经存在 cur.execute('DROP TABLE IF EXISTS Student') #创建名称为student的表格 sqlQuery = "CREATE TABLE Student

How can I do begin transaction in pymysql ? (mysql)

情到浓时终转凉″ 提交于 2019-12-07 05:22:16
问题 I want to use run below mysql script using with pymysql. START TRANSACTION; BEGIN; insert into ~~~ COMMIT; my python source code is connection = pymysql.connect(~~~~~~~) with connection.cursor() as cursor : connection.begin() cursor.execute(~~.sql) connection.commit() connection.close() My question is "connection.begin()" is the same thing "START TRANSACTION; BEGIN;" ? I want to use "START TRANSACTION; BEGIN;" 回答1: According to the PyMySQL docs/example (singular...this doesn't seem like a

线上生产环境部署Django+Nginx+Uwsgi

南笙酒味 提交于 2019-12-06 21:25:14
是否曾想过把django项目从windows移植到Linux上运行,Linux性能众所周知,作为Django运行的服务器再合适不过啦,今天分享一下如何在线上云机器的Linux环境运行Django项目。 客户端访问服务端的流程 1.首先客户端请求服务资源, 2.nginx作为直接对外的服务接口,接收到客户端发送过来的http请求,会解包分析。 3.如果是静态文件请求就根据nginx配置的静态文件目录,返回请求的资源,否则会根据django配置文件设置的static目录去找资源。 4.如果是动态的请求,nginx就通过配置文件,将请求传递给uwsgi; 5.uwsgi 将接收到的包进行处理,并转发给wsgi, wsgi根据请求调用django工程的某个文件或函数,处理完后,django将返回值交给wsgi, wsgi将返回值进行打包,转发给uwsgi, 6.uwsgi接收后转发给nginx,nginx最终将返回值返回给客户端(如浏览器)。 补充一点知识: 1.wsgi是web服务器与web程序之间的一种低级别的接口 2.uwsgi是一个基于uwsgi协议、wsgi协议和Http协议的WEB接口,简单说就是web通过uwsgi访问到django文件 一、环境准备 Linux服务器一台 Nginx软件包 MySQL软件包 Django项目 二、环境部署 1.在Linux安装python

python-操作 MySQL 数据库

送分小仙女□ 提交于 2019-12-06 16:51:30
1、连接数据库基础代码   使用 pymysql.connect(host, user, passwd, db, port, charset='utf8') 连接数据库   使用 cursor() 方法获取操作游标   使用 execute(sql) 方法执行SQL语句   使用 fetchone() 方法获取一条数据 import pymysql # 打开数据库连接 db = pymysql.connect(host="192.168.120.78", user="test", passwd="Ddc@2019", db="user", port=3306, charset='utf8') # 使用cursor()方法获取操作游标 cursor = db.cursor() # 使用execute()方法执行SQL语句 cursor.execute("SELECT VERSION()") # 使用 fetchone() 方法获取一条数据 data = cursor.fetchone() print("Database version : %s " % data) # 关闭数据库连接 cursor.close() db.close() 2、创建数据库表,使用 execute(sql) 方法执行sql语句 import pymysql # 打开数据库连接 db = pymysql

django模型

╄→尐↘猪︶ㄣ 提交于 2019-12-06 14:09:34
2019-12-04 1,数据库的连接配置 edjango连接mysq1的配置流程: -安装pymysgl pip install pymysql -创建数据库用户 有创建数据库权限的用户 -创建数据库 crm -修改配置 settins -修改项目文件夹(和settings.py文件所在的目录)下 __init__.py文件 写上: import pymysql pymysql.install as MysgLdb() -设置时区 TIME ZONE ='Asia/ShangHai' #北京时间 2.django的oRM系统 -对象关系映射(object Relational Mapping,简称ORM)! 简单的说就是用面向对象的方式,描述数据库,操作数据库, 达到不用编写SQL语句就能对数据库进行增删改查。 3,模型的创建与激活 创建模型 student的模型,代表啊学生 总结: 1,每一个模型都是django.db.models.Model的子类 2,类变量表示模型中的数据库字段 3,每一个字段由一个字段类的实例表示 激活模型 1,在项目中注册app 2,运行数据库迁移命令(一定要在项目根目录下) python mange.py makemigrations teacher 告诉django,我们做了哪些数据库的更改 迁移 sglmigrate从迁移获取sgl语句 -- -

Use Python list in SQL query for column names

时光毁灭记忆、已成空白 提交于 2019-12-06 11:24:51
问题 I have a bunch of column names in a Python list. Now I need to use that list as the column names in a SELECT statement. How can I do that? pythonlist = ['one', 'two', 'three'] SELECT pythonlist FROM data; So far I have: sql = '''SELECT %s FROM data WHERE name = %s INTO OUTFILE filename''' cur.execute(sql,(pythonlist,name)) 回答1: You cannot pass list of columns to select as a parameter to cur.execute . It should be part of your SQL expression, something like: sql = "SELECT " + ",".join

MySQL存储过程事务

余生长醉 提交于 2019-12-06 09:23:12
day61 保存在MySQL上的一个别名 > 一坨SQL语句 -- delimiter // -- create procedure p1() -- BEGIN -- select * from student; -- INSERT into teacher(tname) values("ct"); -- END// -- delimiter; call p1(); #把sql语句封装进p1中 注释内容(创建存储过程)执行完,可以通过call调用(执行存储过程)。 在函数中: 也可通过pymysql调用存储过程 1 import pymysql 2 3 #打开 4 conn = pymysql.connect(host= "localhost", user = 'root', password='112358', database = 'db3') 5 #拿 6 cursor = conn.cursor() 7 cursor.callproc('p1')#p1存储过程 8 result = cursor.fetchall() #拿 9 10 print(result) 11 #关闭数据库 12 cursor.close() 13 conn.close() cursor.callproc('p1') 执行结果: ((1, '男', 1, '理解'), (2, '女', 1, '钢蛋'