pymysql

饮冰三年-人工智能-Python-42 Python之Flask中的WTForm+DBUtils实现学生管理系统

旧巷老猫 提交于 2020-01-12 11:47:34
上篇中 我们通过Flask蓝图简单做了一个增删改查的学生管理系统,在数据和页面校验上都存在很大问题。接下来我们完善一下。 代码存储: GitHub 一、 基于DBUtils实现数据库连接池 1:原理浅析    连接池 :是创建和管理连接的缓存池。简单的说:随时准备着。有一些国外学者喜欢称之曰“备胎”。    优点 :     一:减少连接创建时间     二:受控的资源使用     连接池能够使性能最大化,同时还能将资源利用控制在一定的水平之下,如果超过该水平,应用程序将崩溃而不仅仅是变慢。    原理与操作 (1)建立数据库连接池对象(服务器启动)。 (2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。 (3)对于一个数据库访问请求,直接从连接池中得到一个连接。如果 数据库连接池 对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接数),创建一个新的数据库连接。 (4)存取数据库。 (5)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。 (6)释放数据库连接池对象(服务器停止、维护期间,释放数据库连接池对象,并释放所有连接) 2:连接练习   1:首先安装DBUtils 和 PyMySQL from flask import Flask import pymysql

mac多版本python安装 pymysql

耗尽温柔 提交于 2020-01-12 10:21:06
系统里面安装了多个python的版本,有2.7和3.4等。默认的2.7版本,但我开发需要3.4版本的。默认情况下,用pip安装PyMySQL $sudo pip install PyMySQL 安装之后,在命令行里面测试 >>>import pymysql 如果没有报错,则表示安装成功。 但是,这个是在2.7版本下安装成功的。跑到eclipse里面去敲代码,还提示错误。只好到3.4版本下再下载一个。 找到3.4到安装路径,我的是 /Library/Frameworks/Python.framework/Versions/3.4/bin 这个目录下有个pip3.4,运行以下命令,安装pymysql ./pip3.4 install PyMySQL 安装成功之后,在python3.4版本下就可以应用pymysql了。 转载于http://www.cnblogs.com/wardensky/p/4782944.html 系统里面安装了多个python的版本,有2.7和3.4等。默认的2.7版本,但我开发需要3.4版本的。默认情况下,用pip安装PyMySQL $sudo pip install PyMySQL 安装之后,在命令行里面测试 >>>import pymysql 如果没有报错,则表示安装成功。 但是,这个是在2.7版本下安装成功的。跑到eclipse里面去敲代码,还提示错误

mac多版本python安装 pymysql

安稳与你 提交于 2020-01-12 10:19:48
系统里面安装了多个python的版本,有2.7和3.4等。默认的2.7版本,但我开发需要3.4版本的。 默认情况下,用pip安装PyMySQL $sudo pip install PyMySQL 安装之后,在命令行里面测试 >>>import pymysql 如果没有报错,则表示安装成功。 但是,这个是在2.7版本下安装成功的。跑到eclipse里面去敲代码,还提示错误。只好到3.4版本下再下载一个。 找到3.4到安装路径,我的是 /Library/Frameworks/Python.framework/Versions/3.4/bin 这个目录下有个pip3.4,运行以下命令,安装pymysql ./pip3.4 install PyMySQL 安装成功之后,在python3.4版本下就可以应用pymysql了。 来源: https://www.cnblogs.com/wardensky/p/4782944.html

python学习之pymysql和sqlalchemy

天大地大妈咪最大 提交于 2020-01-10 18:06:36
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库, Python2中则使用MySQLdb。 数据库查询操作 01_python数据库编程基本操作.py import pymysql #1). 创建数据库连接, autocommit是否自动提交修改到数据库中. conn = pymysql.connect(host='localhost', user='root', password='westos', db='Blog', port=3306, autocommit=True, charset='utf8') #2). 创建游标(用来执行sql语句的) cur = conn.cursor() #3). 执行sql语句 insert_sql = 'insert into users(username) values ("user6");' cur.execute(insert_sql) print("插入数据成功.......") #4). 关闭游标 cur.close() #5).关闭连接 conn.close() 02_python数据库编程基本操作.py class Connection(object): def __enter__(self): Context manager that returns a Cursor warnings

python pymysql的方法

我与影子孤独终老i 提交于 2020-01-10 17:21:56
python pymysql的方法 cursor游标的作用:使得用户能够从得到的记录集中一次一行或者多行前进或者向后浏览和处理数据的能力,可以看作是记录集的指针,可以获取和处理结果中指定位置的数据。即查询的结果是一个临时文件,游标可以最这个临时文件进行for循环操作 with 提供了在任何情况下,帮助用户自动关闭和注销资源的操作。 conn.commit() :在进行增删改的情况下,需要用户手动提交事务,否则操作会不起作用 cursor():返回的不是查询的数据集,而是本次操作影响的行数 cursor.fetchone() | cursor.fetchall() :返回的才是查询到的数据集 pandas 的read_sql()函数提供了从数据库中查询数据并返回dataframe的操作 常规操作: #导入模块 import pymysql #连接数据库 db_paras = {"host":"xx","user":"xx","password":"xx","database":"xx"} conn = pymysql.connect(charset='utf8', **db_paras) try: with conn.cursor() as cursor: ##创建游标,with进行上下文的管理 num = cursor.execute("select user_id, name

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3

感情迁移 提交于 2020-01-09 18:56:25
其实许多web框架都是用的pymysql来连接控制数据库,但Django还提供了ORM的数据库操作办法(本质也是pymysql);两种方式皆可,但我们有必要去学一下ORM 不再关注用的是 mysql 、 oracle ...等. 通过简单的配置就可以轻松更换数据库, 而不需要修改代码. ORM操作:   http请求:     url -> 视图(模板+数据)   ORM操作表:     创建表、修改表、删除表   操作数据行:     增删改查   ORM利用pymysql等第三方工具连接数据库   默认sqlite   默认:mysql -> MYSQLDB(修改django默认连接mysql的方式 默认setting文件这样设置的: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } 我们需要修改成如下配置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'dbname', 'USER': 'root', 'PASSWORD': 'xxx', 'HOST': '', 'PORT': '', } } #

踩坑心得——Python3.* 报错“ImportError: No module named ‘MySQLdb'”

五迷三道 提交于 2020-01-08 21:13:29
1. 报错 相信很多人在使用 python manage.py makemigrations 代码进行数据库迁移的时候,往往会遇到以下错误:“No module named 'MySQLdb”。 2. 问题分析 MySQLdb只支持Python2.,还不支持3.*版本 因此Python3中通过 pip install mysqlclient 去安装会一直报错 3. 解决办法 Python3.* 中使用 PyMySQL 替代 3.1 安装PyMySQL pip install PyMySQL 3.2 数据库配置无需改动 DATABASES = { 'default' : { 'ENGINE' : 'django.db.backends.mysql' , # 数据库引擎 'NAME' : 'djangoDB' , # 数据库名称 'USER' : 'root' , # 用户名 'PASSWORD' : '123456' , # 密码 'HOST' : '127.0.0.1' , # 主机IP地址 'PORT' : '3306' # 默认端口 } } 3.3 在项目根目录下中的 __init__.py 文件中添加以下代码,保存: import pymysql pymysql . install_as_MySQLdb ( ) 就可以用 import MySQLdb 了

pymysql

微笑、不失礼 提交于 2020-01-07 22:41:27
*/ /*--> */ 目录 About pymysql Install 准备 建立连接 创建数据库 快速上手之增删改查 增 删 改 查 SQL注入 事物 存储过程 返回Python目录 返回测试目录 返回随笔首页 About pymysql 返回顶部 在Python2.x中,Python连接MySQL服务器使用mysqldb库,但是它只支持到Python2.x,在Python3.x中由pymysql模块代替。 PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。 Install 返回顶部 pip install pymysql # 备用地址 pip install -i https://pypi.doubanio.com/simple pymysql 准备 返回顶部 在正式操作前,这里默认你有了一个良好的环境,包括MySQL服务,Python环境。 建立连接 返回顶部 import pymysql conn = pymysql.connect( host='localhost', # 连接的服务器ip user='username', # 用户名 password='password', # 密码 database='day31', # 你想连接的数据库 charset='utf8' # 指定字符编码

数据库连接池

半腔热情 提交于 2020-01-07 08:11:04
a id="cb_post_title_url" class="postTitle2" href="https://www.cnblogs.com/DragonFire/p/9498396.html">DBUtils - Python数据库连接池 创建数据库连接池: 1 import time 2 import pymysql 3 import threading 4 from DBUtils.PooledDB import PooledDB, SharedDBConnection 5 POOL = PooledDB( 6 creator=pymysql, # 使用链接数据库的模块 7 maxconnections=6, # 连接池允许的最大连接数,0和None表示不限制连接数 8 mincached=2, # 初始化时,链接池中至少创建的空闲的链接,0表示不创建 9 maxcached=5, # 链接池中最多闲置的链接,0和None不限制 10 maxshared=3, # 链接池中最多共享的链接数量,0和None表示全部共享。PS: 无用,因为pymysql和MySQLdb等模块的 threadsafety都为1,所有值无论设置为多少,_maxcached永远为0,所以永远是所有链接都共享。 11 blocking=True, # 连接池中如果没有可用连接后,是否阻塞等待

老板把一整年的Excel数据丢给我说搞完再下班,幸亏我会python!

南笙酒味 提交于 2020-01-07 04:48:54
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 数据分析师肯定每天都被各种各样的数据数据报表搞得焦头烂额,老板的,运营的、产品的等等。而且大部分报表都是重复性的工作,这篇文章就是帮助大家如何用Python来实现报表的自动发送,解放你的劳动力,可以让你有时间去做更有意思的事情。 首先来介绍下实现自动报表要使用到的Python库: pymysql 一个可以连接MySQL实例并且实现增删改查功能的库 datetime Python标准库中自带的关于时间的库 openpyxl 一个可以读写07版以后的Excel文档(.xlsx格式也支持)的库 smtplib SMTP即简单邮件传输协议,Python简单封装成了一个库 email 一个用来处理邮件消息的库 为什么使用openpyxl库来处理Excel呢?因为它支持每个sheet的行数为100W+,也是支持xlsx格式的文件。如果你接受xls文件,并且每个sheet的行数小于6W,也是可以使用xlwt库,它对大文件的读取速度要大于openpyxl。 接下来我们就进入实战部分,来正式实现这个过程。我把整个实现过程分成几个函数的方式来实现,这样看着会比较有结构感。 首先导入所有要用到的库 编写一个传入sql就返回数据的函数get_datas(sql) 编写一个传入sql就返回数据的字段名称的函数get_datas(sql)