pymysql

【Python pymysql】 -- 2019-08-17 05:28:47

我只是一个虾纸丫 提交于 2019-11-27 14:35:02
原文: http://blog.gqylpy.com/gqy/257 " 目录 关于sql注入 用户存在,绕过密码 用户不存在,绕过用户与密码 解决sql注入问题 commit() 增 改 删 查询数据库 fetchone() fetchall() fetchmany() 补充: 建立链接时间过长后会自动断开链接,可像下面这样解决: conn.ping(reconnect=True) 检查链接是否还存在,参数 reconnect=True 表示如果链接已不存在,则重新建立链接 补充: # 回滚,通常用于事务conn.rollback() pymysql模块用于在Python程序中操作数据库. 该模块本质是一个套接字客户端软件. Windows安装命令:pip3 install pymysql 基本使用: # 准备数据库、数据和远程用户: mysql> select * from blog.userinfo;+----+------+-----+| id | name | pwd |+----+------+-----+| 1 | zyk | ___ |+----+------+-----+1 row in set (0.00 sec) mysql> show grants for 'zyk'@'%';+----------------------------------------

python3爬虫系列09之爬虫数据存入MySQL数据库

纵饮孤独 提交于 2019-11-27 08:59:03
python3爬虫系列09之爬虫数据存入MySQL数据库 1. 前言 在上一篇当中呢, python3爬虫系列08之新版动态智联爬虫 ,我们已经把智联招聘的某地区,某岗位,某页数的所有数据爬下来了,然后保存为了一个text文件。 这一篇呢,我们说说把数据存入数据库的操作,毕竟真的项目爬虫出来,数据肯定是要入库的。 反正我以前搞java的,所以还是要学习一下的关于python怎么操作数据库的? 说到数据库呢。在当今的互联网企业中,最常用的数据库模式主要有两种,即关系型数据库和非关系型数据库。 数据库现在分: SQL关系型数据库:常见的MySQL和Oracle数据库、SQL Server NoSQL非关系型数据库: 键值存储数据库:Redis、 列存储数据库:HBase、 面向文档数据库:MongoDB、 更多请参考百度百科: 数据库 。 这里以Mysql为例(主要是其他我也不会啊~): 为了使python连接上数据库,你需要一个驱动,这个驱动是用于与数据库交互的库。是一个叫PyMySQL 的工具。 2.什么是 PyMySQL? PyMySQL : 这是一个使Python连接到MySQL的库,它是一个纯Python库。 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 手动安装: PyMySQL 下载地址:

单表查询

独自空忆成欢 提交于 2019-11-27 08:56:11
单表查询 准备工作 创建数据库 ​ 在 cmd 里创建数据库 settings DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'orm001', 'USER':'root', 'PASSWORD':'123', 'HOST':'127.0.0.1', 'PORT':3306, } } 修改链接方法 ​ 项目文件夹下的 init 文件中写上下面内容,用 pymysql 替换 mysqldb import pymysql pymysql.install_as_MySQLdb() 创建数据库表 models.py class Userinfo(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=10) bday = models.DateField() checked = models.BooleanField() # 在已经创建成功的表中添加新字段, 需要设置默认值,对应默认不为空的已经有的记录的新字段的值 # 或者在新字段的参数中设置null=True 执行命令创建 python3 manage.py makemigrations python3 manage

使用pymysql操作数据库

亡梦爱人 提交于 2019-11-27 08:11:01
学习如何使用python的pymysql模块来操作mysql数据库 这里的基本用法主要借鉴了该篇博客: https://www.cnblogs.com/woider/p/5926744.html 因为这个作者总结的很全面,也很简洁,看完很容易上手 一.pymysql的主要方法 pymysql.connect()参数说明:(连接数据库时需要添加的参数) host(str): MySQL服务器地址 port(int): MySQL服务器端口号 user(str): 用户名 passwd(str): 密码 db(str): 数据库名称 charset(str): 连接编码 connect()对象支持的方法: cursor() 使用该连接创建并返回游标 commit() 提交当前事务 rollback() 回滚当前事务 close() 关闭连接 cursor对象支持的方法: execute(op) 执行一个数据库的查询命令 fetchone() 取得结果集的下一行 fetchmany(size) 获取结果集的下几行 fetchall() 获取结果集中的所有行 rowcount() 返回数据条数或影响行数 close() 关闭游标对象 二.常用操作 1.查询数据 # coding: utf-8 # author: hmk import pymysql.cursors # 连接数据库 conn

Python数据库添加时间

我只是一个虾纸丫 提交于 2019-11-27 07:36:50
利用pymysql往数据库中添加时间字段的方法: 1.导入datetime和pymysql: 安装: pip install pymysql , datetime是内置 2.写入SQL语句: 向对应的字段中间添加对应的数据,全部用%s后面再将所有的内容集成到一个list中然后用 【cursor.excutemany(sql, list)】 ,将所有的数据全部执行进去。最后 【connect.commit()】 确认提交 1 def store_data(self, user_id, spo_list, industry="csv"): 2 """ 3 4 :param user_id: id 信息 int 5 :param spo_list: 三元组 二维嵌套数组 6 :param industry: 类别 7 :return: 8 """ 9 sql = "INSERT INTO triads(user_id, entity_one, relation, entity_two, industry, created_at) VALUES (%s, %s, %s, %s, %s, %s)" 10 try: 11 combine = [] 12 for i in spo_list: 13 combine.append([str(user_id)] + i + [industry] +

多表查询 Naricat pymysql

落花浮王杯 提交于 2019-11-27 07:26:43
多表查询 笛卡尔积 select * from 表名1,表名2 # 将两表所有的数据一一对应, 生成一张大表 select * from 表名1, 表名2 where 表名1.字段=表名2.字段 # 多表关联 找到对应关系 select * from 表名1, 表名2 where 表名1.字段=表名2.字段 and 表名.字段条件 # 过滤 限定条件 连表查询 内连接 ​ inner join select * from 表名1 inner join 表名2 on 表名1.字段 = 表名2.字段 # 连表, 自动过滤无关联数据, 只显示有对应关系的数据 select * from 表名1 inner join 表名2 on 表名1.字段 = 表名2.字段 where 条件sql句 # 筛选, 条件sql句筛选数据范围 select 表名.字段 from 表名1 inner join 表名2 on 表名1.字段 = 表名2.字段 where 条件sql句 # 找对应字段, 将 * 换成具体对应的字段 左连接 ​ left join ​ 基本同内连接用法一样, 但是以左表为主表, 右表为副表, 左表字段必须全部显示, 即使右表无对应字段也要以null补全 右连接 ​ right join ​ 同左连接, 但是相反 全连接 ​ union ​ 同左右连接一样,

What is PyMySQL and how does it differ from MySQLdb? Can it affect Django deployment?

你。 提交于 2019-11-27 06:44:15
I just solved some problems in my Django 1.3 app by using PyMySQL instead of MySQLdb. I followed this tutorial on how to make the switch: http://web-eng-help.blogspot.com/2010/09/install-mysql-5-for-python-26-and.html Now I want to know what PyMySQL actually is and how it is different from MySQLdb. I am using it on localhost and will then upload it to some hosting. Is it fine to use PyMySQL on localhost and on hosting whatever they provide? Since I have changed "MySQLdb" in base.py and introspection.py to "PyMySQL", will I need to upload it to the server after changing these files? Or as it is

Django模型(ORM)

我与影子孤独终老i 提交于 2019-11-27 06:12:12
一:使用yum源安装Django的依赖包 yum -y install epel-release python3 python3-pip 二:创建一个Django的虚拟环境并且安装Django,pymysql和ipython 1,在目录/opt/下创建Django的虚拟目录 cd /opt/ python3 -m venv django . ./django/bin/activate 2,安装ipython pip   install   ipython 3,安装pymysql pip install pymysql 4,安装Django(1.12版本) pip install "django<1.12" 三:创建一个django项目 django-admin startproject demo 四:在django项目下创建一个应用app(demo) cd demo ./manage.py startapp blog 五:创建app(blog)后,需要修改demo下的setting配置文件来告诉blog的存在 vim /demo/demo/settiongs.py 找到 INSTALLED_APPS = ['django .contrib.admin'......] 这项配置文件后,在其末尾加上‘blog’ 即可 如果允许所有网段访问则找到 ALLOWED_HOSTS修改为

三 .Django (原生mysql操作)

纵饮孤独 提交于 2019-11-27 05:27:57
一. Django原生mysql(项目操作增删改查) 1.mysql(语句封装) 函数封装import pymysql # 查 所数据 def get_all(sql): conn = pymysql.connect(host="localhost", user="root", password="root", database="db6") cur = conn.cursor(cursor=pymysql.cursors.DictCursor) cur.execute(sql) res = cur.fetchall() cur.close() conn.close() return res # 查 一行数据 def get_one(sql,args): conn = pymysql.connect(host="localhost", user="root", password="root", database="db6") cur = conn.cursor(cursor=pymysql.cursors.DictCursor) cur.execute(sql,args) res = cur.fetchone() cur.close() conn.close() return res # 增 删 改 都要提交 commit def get_mif(sql,args): conn =

Python自学第十二周(2)

女生的网名这么多〃 提交于 2019-11-27 04:59:42
python与linux下mysql交互: 记得关闭防火墙 service iptables stop、 1 #Author: Zachary 2 import pymysql 3 # 创建连接 4 conn = pymysql.connect(host='192.168.86.10', port=3306, user='root', passwd='112590', db='zach') 5 # 创建游标\相当于命令行中的光标 6 cursor = conn.cursor() 7 # 执行SQL,并返回收影响行数 8 effect_row = cursor.execute("select * from student") 9 print(effect_row) 10 print("=======================================") 11 print(cursor.fetchone()) 12 print(cursor.fetchone()) 13 print(cursor.fetchone()) 如果是 1 #Author: Zachary 2 import pymysql 3 # 创建连接 4 conn = pymysql.connect(host='192.168.86.10', port=3306, user='root', passwd=