pymysql

pymysql

落爺英雄遲暮 提交于 2019-12-01 22:19:08
python中pymysql模块 # 实现:使用Python实现用户登录,如果用户存在则登录成功(假设该用户已在数据库中) import pymysql user = input('请输入用户名:') pwd = input('请输入密码:') # 1.连接 conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='', db='db8', charset='utf8') # 2.创建游标 cursor = conn.cursor() #注意%s需要加引号 sql = "select * from userinfo where username='%s' and pwd='%s'" %(user, pwd) print(sql) # 3.执行sql语句 cursor.execute(sql) result=cursor.execute(sql) #执行sql语句,返回sql查询成功的记录数目 print(result) # 关闭连接,游标和连接都要关闭 cursor.close() conn.close() if result: print('登陆成功') else: print('登录失败') 二、execute()之sql注入 最后那一个空格,在一条sql语句中如果遇到select *

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

守給你的承諾、 提交于 2019-12-01 22:07:50
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:\Program Files\Python36\lib\site-packages\pymysql\__init__.py", line 90, in Connect return Connection(*args,

pycharm安装pymysql包

匆匆过客 提交于 2019-12-01 20:38:50
1.为什么?   每个程序连接数据库,python开发2.*版本可以直接使用MySQL,python3.*版本需要下载使用PyMySQL包才能连接数据库。。。 2. 怎么做?   2.1. 更改源:pycharm软件更换pip默认安装源为国内安装源(之前有发表的文章, 点击链接 可查看如何更换): https://www.cnblogs.com/yblackd/p/11717186.html   2.2. 安装包:                 3.大功告成    来源: https://www.cnblogs.com/yblackd/p/11717240.html

DBUtils

*爱你&永不变心* 提交于 2019-12-01 16:30:13
DBUtils是Python的一个用于实现 数据库连接池 的模块。 此连接池有两种连接模式: 模式一:为每个线程创建一个连接,线程即使调用了close方法,也不会关闭,只是把连接重新放到连接池,供自己线程再次使用。当线程终止时,连接自动关闭。    POOL = PersistentDB( creator=pymysql, # 使用链接数据库的模块 maxusage=None, # 一个链接最多被重复使用的次数,None表示无限制 setsession=[], # 开始会话前执行的命令列表。如:["set datestyle to ...", "set time zone ..."] ping=0, # ping MySQL服务端,检查是否服务可用。# 如:0 = None = never, 1 = default = whenever it is requested, 2 = when a cursor is created, 4 = when a query is executed, 7 = always closeable=False, # 如果为False时, conn.close() 实际上被忽略,供下次使用,再线程关闭时,才会自动关闭链接。如果为True时, conn.close()则关闭链接,那么再次调用pool.connection时就会报错,因为已经真的关闭了连接

python操作数据库

删除回忆录丶 提交于 2019-12-01 13:39:38
python通过什么方式操作数据库? python解决一切问题几乎都是通过库的方式,包括内置库和第三方库。 目前绝大部分中小企业使用的都是mysql数据库,因为开源免费,屌丝企业,能省则省。 python中通过pymsql库提供对mysql数据库操作的支持 环境安装 pip install pymysql 主要操作 建立数据库连接:db=pymsql.connect(host="localhost",port=3306,user="usernmae",password='pwd',database=" ",charset="utf8") 创建游标:cu=db.cursor(cursor=pymsql.cursors.Dictcursor) #加上参数指示以字典方式展示查找的数据,默认返回的数据类型是元组 执行sql语句:effect=cu.execute() #执行一条sql语句----->effect返回的是sql执行成功后受影响的行数 如果是操作数据库中的数据,还得做一个提交操作,否则修改不会生效:db.commit() 取出select语句执行后查找到的内容: res=cu.fetchone():返回一条数据,是一个元祖类型 res=cu.fetchmany(n):取出前n条,返回一个二维元组类型 res=cu.fetchall():取出所有查找到的数据,返回一个二维元组类型

pymysql DAO简单封装

倾然丶 夕夏残阳落幕 提交于 2019-12-01 09:52:14
#!/usr/bin/env python # -*-coding:utf-8 -*- # # 无法执行多个query,self.conn.close()放在CdbConn类的单独函数中,每次query之后要手动close;否则多次query,会自动关闭 import pymysql class CdbConn(): def __init__(self, db_host, db_user, db_pwd, db_name, db_port=3306): self.db_host = db_host self.db_port = db_port self.db_user = db_user self.db_pwd = db_pwd self.db_name = db_name self.status = True self.conn = self.getConnection() def getConnection(self): try: conn = pymysql.Connect( host=self.db_host, # 设置MYSQL地址 port=int(self.db_port), # 设置端口号 user=self.db_user, # 设置用户名 passwd=self.db_pwd, # 设置密码 db=self.db_name, # 数据库名 charset=

外部连接mysql docker容器异常

我怕爱的太早我们不能终老 提交于 2019-12-01 09:46:27
为了方便,使用python测试连接mysql容器 脚本内容非常简单 #!/usr/bin/python3 import pymysql conn=pymysql.connect(host="localhost",user="root",port=3306,password="12345",database="mydb") cursor=conn.cursor() cursor.execute("select count(*) from mydb.t") cursor.close() conn.close() 执行上述脚本后,发生以下异常 Traceback (most recent call last): File "./p.py", line 6, in <module> conn=pymysql.connect(host="localhost",user="root",port=3306,password="12345",database="mydb") File "/usr/local/lib64/python3.6/site-packages/pymysql/__init__.py", line 94, in Connect return Connection(*args, **kwargs) File "/usr/local/lib64/python3.6/site

使用python操作mysql数据库

ぃ、小莉子 提交于 2019-12-01 08:04:02
使用python操作mysql数据库 数据库的安装和连接 PyMySQL的安装 pip install PyMySQL python连接数据库 import pymysql db = pymysql.connect("数据库ip","用户","密码","数据库" ) # 打开数据库连接 cursor.execute("SELECT VERSION()") # 使用 execute() 方法执行 SQL 查询 data = cursor.fetchone() # 使用 fetchone() 方法获取单条数据 print ("Database version : %s " % data) db.close() # 关闭数据库连接 import pymysql conn = pymysql.connect( host='localhost', user='root', password="root", database='db', port=3306, charset='utf-8', ) cur = conn.cursor(cursor=pymysql.cursors.DictCursor) 更多参数 创建表操作 import pymysql # 打开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB"

Django之创建项目、目录层级、基本操作

夙愿已清 提交于 2019-12-01 07:25:32
创建项目 在合适的位置创建一个目录 打开cmd窗口,进入到创建的目录内 输入 django-admin startproject project 目录层级 manage.py 是一个命令行工具,可以使我们用多种方式对Django项目进行交互 project目录 __init__.py :一个空文件,它告诉Python这个目录应该被看做一个python包 settings.py :项目的配置文件 urls.py :项目的url声明 wsgi.py :项目与WSGI兼容的Web服务器入口 基本操作 设计表结构 班级表结构 表名(grade) 字段 班级名称(gname) 成立时间(gdate) 女生总数(ggirlnum) 男生总数(gboynum) 是否删除(gdelete) 学生表结构 表名(student) 字段 学生姓名(sname) 学生性别(sgender) 学生年龄(sage) 学生简介(scontend) 所属班级(sgrade) 是否删除(sdelete) 配置数据库 注意:Django默认使用SQLite数据库 在 settings.py 文件中,通过DATABASES选项进行数据库配置 配置MySQL 在python中安装PyMySQL 在 __init__.py 文件中写入两行代码 import pymysql 和 pymysql install_as

5-2 pymysql模块

微笑、不失礼 提交于 2019-12-01 06:55:49
一 介绍 之前我们都是通过MySQL自带的命令行客户端工具mysql来操作数据库,那如何在python程序中操作数据库呢?这就用到了pymysql模块,该模块本质就是一个套接字客户端软件,使用前需要事先安装 pip3 install pymysql 二 链接、执行sql、关闭(游标) import pymysql user=input('用户名: ').strip() pwd=input('密码: ').strip() #链接 conn=pymysql.connect(host='localhost',user='root',password='123',database='egon',charset='utf8') #游标 cursor=conn.cursor() #执行完毕返回的结果集默认以元组显示 #cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) #执行sql语句 sql='select * from userinfo where name="%s" and password="%s"' %(user,pwd) #注意%s需要加引号 print(sql) res=cursor.execute(sql) #执行sql语句,返回sql查询成功的记录数目 print(res) cursor.close() conn