pymysql

Python连接MySQL数据库

大兔子大兔子 提交于 2020-04-06 08:42:19
常用函数 Python DB API 2.0 对事务提供了两个方法: commit() 提交 rollback() 回滚 cursor用来执行命令的方法: callproc(self, procname, args) 用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数 execute(self, query, args) 执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数 executemany(self, query, args) 执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数 nextset(self) 移动到下一个结果集 cursor用来接收返回值的方法: fetchall(self) 接收全部的返回结果行. fetchmany(self, size=None) 接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据. fetchone(self) 返回一条结果行. rowcount 这是一个只读属性,并返回执行execute() 方法后影响的行数。 scroll(self, value, mode='relative') 移动指针到某一行; 如果mode='relative',则表示从当前所在行移动value条,如果 mode=

sql自动化检查和分析工具 :soar和soar-web 安装和使用体验

守給你的承諾、 提交于 2020-04-05 16:57:27
为了研究一下sql自动化检查和分析工具,是否有网上介绍的好用,我在本地进行soar 和 soar-web的安装和使用。 初步的实验结果,总结如下: 1. 安装相对来说较为麻烦,特别是soar-web的依赖包安装,涉及到python pip相关组件的下载安装。 2. 启动soar-web会遇到一些奇怪问题,提示 “ImportError: No module named xxx“ 没有安装,但是通过python -m pip list检查是有安装成功的。 3. soar-web的启动脚本run.sh,不能正常启动;但是使用python./soar-web.py install却可以正常启动。 4. 数据库类型,只支持MySQL一种 后续: 最后,综合感觉,soar-web的功能,距离自动化SQL检查和优化,还有很大空间。接下来,我将继续调研和对比剩下两个工具:see 和 Yearning 1.see 工具 https://github.com/myide/see 2. Yearning 工具 https://github.com/cookieY/Yearning 一 、soar主要步骤,如下: step 1: 下载安装包 # prepare dir and install mkdir -p /opt/soft/soar && mkdir -p /opt/install/soar/

pymysql模块

让人想犯罪 __ 提交于 2020-04-03 08:02:25
  在python2中mysql的模块是mysqldb,python2则开始使用pymysql。   https://www.python.org/dev/peps/pep-0249/  为python db API的官方文档。 连接对象conncet   创建一个连接数据库的构造函数,返回一个连接对象,需要一些数据库方面的参数(host,user,passwd,db)。 连接方法   连接对象会返回一些方法   .close()     马上关闭连接。从这个时间点开始,连接不可用,如果还有对连接的操作,则会出现error异常。如果修改数据后没有commit后直接close,则修改无效。   .commit()     向db提交pending状态的修改操作。如果db支持auto-commit特性,则一开始就要关闭commit,但可以通过接口来打开它。   .rollback()     这个方法会使db回滚到所有pending操作的开始。   .cursor()     使用这个连接返回一个新的游标对象。 游标对象cursor   这些对象用来管理数据库写入操作和返回输出。游标是基于连接的,同一连接的不同游标,彼此的操作都是即时可见的。 游标方法   .execute(operation)     准备和执行一个数据库操作(查询或命令)。   .fetchone()    

py18_03:ORM之配置mysq数据库

╄→尐↘猪︶ㄣ 提交于 2020-03-31 10:02:27
setting配置修改引擎: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 引擎 'NAME': 'yeyu_db', # 数据库名 'USER': 'yeyu', # 用户名 'PASSWORD': '**********', # 密码 'HOST': '192.168.43.233', # ip 'PORT': '3306', # 端口 } } 安装pymysql模块 pip3 install pymysql 安装后注册 import pymysql pymysql.install_as_MySQLdb() 如果版本问题不符合,还要注释一下版本。 来源: https://www.cnblogs.com/yeyu1314/p/12603065.html

02

青春壹個敷衍的年華 提交于 2020-03-30 15:20:43
02 MySQL数据查询 import pymysql #创建连接对象 conn = pymysql.connect( host = '127.0.0.1', user = 'root', password = '9890', database = 'paper', charset = 'utf8' ) #执行sql语句 #从conn得到cursor对象 cursor = conn.cursor() sql = "select * from place" cursor.execute(sql) datas = cursor.fetchall() for data in datas: print(data) cursor.close() conn.close() 结巴分词 import pymysql import jieba #创建连接对象 conn = pymysql.connect( host = '127.0.0.1', user = 'root', password = '9890', database = 'paper', charset = 'utf8' ) #执行sql语句 #从conn得到cursor对象 cursor = conn.cursor() sql = "select content from place" cursor.execute(sql) #

Python Bulk Insert gives TypeError: not all arguments converted during string formatting

孤者浪人 提交于 2020-03-26 03:17:10
问题 I have following code to insert multiple rows; cnx = pymysql.connect(host='xx', user='xx', password='xx', database='xx', autocommit=True) cursor = cnx.cursor() query = "INSERT INTO `tableA`('id,'name',...)values(?,? ......)" cursor.executemany(query, listTosave) My listTosave contains values like; [['AS0001', '1170', 1, '1', 'Unknown', 442, 1, datetime.datetime(2018, 5, 28, 23, 0), datetime.datetime(2018, 3, 15, 11, 15), datetime.datetime(2018, 3, 15, 10, 56), datetime.datetime(2018, 5, 28,

Does pymysql fully support MySQL authentication?

半城伤御伤魂 提交于 2020-03-25 22:01:33
问题 I am trying to connect to a MySQL (5.7.22) database hosted on AWS RDS using a function run through AWS Lambda, but am unable to connect to the database using pymysql due to an authentication error: "Access denied for '<user>'@'<host>' (using password: YES)" . Curiously, on an AWS instance that I've been using to debug the issue, I find that I am able to connect to the database using the same parameters with mysqlclient . In case it's relevant, my password only contains alphanumeric characters

Web应用和Web框架

百般思念 提交于 2020-03-24 21:47:14
一、Web应用本质 任何Web应用实际上都是一个Socket服务端,浏览器就是Web应用的客户端。一个最简单的Web应用就是写好一个HTML的文档,然后用现成的HTTP服务器软件如Nginx、Apache、Tomcat等区接收用户请求,再把HTML文档中的内容 通过万维网传送给客户端。但是这样只能给客户端发送同一个HTML文档的内容,如果要动态生成HTML就需要我们自己去做接收HTTP请求、解析HTTP请求、从HTTP请求中获取到需要的信息后生成一个新的HTML、发送一个HTTP响应将动态生成的HTML传送给客户端。由于HTTP协议是一个很深奥的协议,它有很多内容,如果以上这些事情都有我们自己来完成就需要研究HTTP协议,这样就太影响开发效率了,为了解决这个问题就有了CGI通用网关接口,它帮助我们完成对HTTP协议的接收、解析以及最后的响应,让我们可以专心写Web业务代码,针对Python实现的CGI之一就是WSGI。 二、wsgiref模块 wsgiref模块的simple_server中的make_server类可以让我简单实现一个Web服务器,该类实例化需要三个参数,服务器IP、服务器端口、请求处理函数,其中请求处理函数有两个参数一个environ包含一个请求的所有信息以键值对形式存放,start_response定义响应头信息,函数中需要返回一个响应正文中的数据

python编程:excel文件操作,redis数据库,接口开发

泄露秘密 提交于 2020-03-24 18:46:44
1 、操作mysql import pymysql # 1、连上数据库 账号、密码 ip 端口号 数据库 #2、建立游标 #3、执行sql #4 、获取结果 # 5、关闭游标 #6、连接关闭 coon = pymysql.connect( host='数据库ip',user='jxz',passwd='123456', port=3306,db='jxz',charset='utf8' #port必须写int类型, #charset这里必须写utf8 ) cur = coon.cursor() #建立游标 # cur.execute('select * from stu;')#执行sql语句 # cur.execute('insert into stu (id,name,sex) VALUE (1,"蓝波湾","男");') username = 'nhy' pwd='123456' sql = 'select * from nhy where name="%s" and pwd = "%s "'%(username,pwd) cur.execute(sql) # select * from nhy where username="nhy" and pwd="xxxx"; # delete update insert # coon.commit() #必须得coomit

python 操作redis

无人久伴 提交于 2020-03-24 18:43:43
redis是一个非关系型数据库。 数据库包括非关系型数据库和关系型数据库。 1、关系型数据库:mysql/oracle/sql server/db2/sqlite 数据是存在磁盘上的 2、非关系型数据库: mongodb/redis 没有表结构,没有sql语句,没什么字段。速度比关系型数据库快,redis数据是存在内存上的,redis本身性能非常,每秒支持30万次读写。缺点是没有办法持久化(重启redis可以备份数据到磁盘里面,启动的时候再次读取磁盘的数据到内存,这种方法可以实现持久化) 以下是python操作redis的一些基本方法 import redis r=redis.Redis(host='xx.xx.xx.xx',password='HK139bc&*',db=1,port=6379) #默认端口号如果不修改就是6379,db指定用哪个数据库 #增删改查,这些操作都是针对string类型的 r.set('niuh','帅') #数据库里面新增一个值,修改也是set r.set('niuh','niuniuniu') #修改niuh的value为niuniuniu r.delete('niuhany') #删除 r.setex('python_123','哈哈哈',20)#设置key的失效时间,最后的参数是秒 hwt=r.get('niuh') print(hwt