pymysql

缺陷的背后(四)---for

陌路散爱 提交于 2019-12-05 20:12:23
导语 业务模块为实现高并发时的更快的处理速度,经常会采用多进程的方式去处理业务。本章就是站在多进程的角度下,理解多进程模式下常见的两种bug:僵尸进程,窜包返回。理解问题出现的原因以及如何避免,如何 有效的测试出这类缺陷。 目录 一:线上缺陷分析 二:多进程概念理解 三:僵尸进程理解 3.1 产生原因 3.2 如何避免 3.3 问题场景 四:窜包 4.1 产生原因 4.2 如何避免 4.3 问题场景 二:多进程概念理解 概念2.1: fork子进程 进程(Process)是计算机中已运行程序的实体,是系统的基本运作单位,是资源分配的最小单位,fork子进程后,子进程会复制父进程的状态(内存空间数据等)。fork 出来的进程和父进程拥有同样的上下文信息、内存数据、与进程关联的文件描述符。 下面结合demo来看看有没有理解这句话。 问题1 :全局变量list1,fork子进程后,在子进程内:打印list1的虚拟地址,修改list1[0]的值,打印list1值,打印list1虚拟地址。 主进程内:打印list1的虚拟地址,待子进程修改后,打印list1值。 子进程和主进程打印的虚拟地址值是一样的吗?打印的list1的值是一样的吗? import osimport timelist1 =[1,2,3,4]print("list1的地址为{0}".format(id(list1))

单表查询

被刻印的时光 ゝ 提交于 2019-12-05 17:33:09
单表查询 准备工作 创建数据库 ​ 在 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

多表查询 Naricat pymysql

杀马特。学长 韩版系。学妹 提交于 2019-12-05 17:30:16
多表查询 笛卡尔积 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 ​ 同左右连接一样,

Python3连接MySQL数据库及基本操作

若如初见. 提交于 2019-12-05 17:24:18
Python3连接MySQL数据库及基本操作 0.242018.09.09 19:55:43字数 176阅读 759 一、缘 起 做接口测试,需要提前在数据库插入预先准备好的测试数据,故,笔者做整理出用 Python3 连接 MySQL 数据库及其基本的操作法方法 二、说 明 Python3 连接 MySQL 数据库使用到的第三方库为: PyMySQL ,当然,安装也很简单 # 直接pip安装即可 pip install PyMySQL 三、使 用 Python3 连接连接数据库 #!/usr/bin/python # coding=utf-8 # 导入pymysql库 from pymysql import connect try: conn = connect( host='10.*.*.***', port=3306, user='user name', password='user passwd', db='database', charset='utf8') cursor = conn.cursor() except Exception as e: print(e) else: print('Connect Success:%s' % cursor) # result >> Connect Success:<pymysql.cursors.Cursor object at

1122 django中orm操作

时间秒杀一切 提交于 2019-12-05 15:29:30
目录 1. 静态文件的配置 手动静态文件的访问资源 静态文件的动态绑定 2.request方法 2.1 请求方式 2.2 获取前端的请求方式 request.method 2.3 request方法 request.method request.POST request.GET .get方法 3. pycharm连接MySQL 4. django连接MySQL数据库 4.1.配置文件配置 4.2.指定使用的数据库连接模块 5.django orm简介 5.1 基本概念 1. orm对象关系映射 2. 为什么使用orm 3. 缺点 5.2 django中操作orm 1. 数据库迁移(同步)命令 2. 模型表类字段的增删改查 3.模型表数据的增删改查 总结 1. 静态文件的配置 1.默认情况下所有的html文件都是放在templates文件夹内的 2.什么是静态文件 网站所使用到的提前写的css js 第三方的前端模块,图片都叫做静态资源 3.默认情况下网站所使用的静态文件资源全部都会放在static文件夹内 手动创建static文件夹,根据静态资源分别创建子文件夹: 通常情况下,在static文件夹内还会再见其他文件夹: css 文件夹 js 文件夹 font 文件夹 img 文件夹 Bootstrap fontawesome(图标库) 为了更加方便的管理文件 django中

Django 02

为君一笑 提交于 2019-12-05 12:35:01
目录 静态文件配置 request方法 pycharm连接数据库 django连接MySQL 配置文件 导入并修改连接到mysql的模块 django orm 创建模型类 数据库迁移 字段操作 记录操作 注意 静态文件配置 网站所使用到的, 提前写好的css/js/第三方模块/图片等等, 都是静态文件 默认情况下, 网站所用到的静态文件资源全部都会放在 static 文件下 (手动创建) css文件夹 js文件夹 font文件夹 img文件夹 Bootstrap文件夹 STATIC_URL = "/static/" 访问静态文件的url前缀 在settings配置文件中手动添加静态文件路径 # 手动添加静态文件访问路径 STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static") # 将static文件夹当中的资源暴露给用户 ] 静态文件动态绑定 {% load static %} <link rel="stylesheet" href="{% static 'bootstrap-3.3.7-dist/css/bootstrap.min.css' %}"> <script src="{% static 'bootstrap-3.3.7-dist/js/bootstrap.min.js' %}"></script> request方法

1122 django属性操作orm字段数据操作

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-05 12:28:44
目录 1. 静态文件的配置 手动静态文件的访问资源 静态文件的动态绑定 2.request方法 2.1 请求方式 2.2 获取前端的请求方式 request.method 2.3 request方法 request.method request.POST request.GET .get方法 3. pycharm连接MySQL 4. django连接MySQL数据库 4.1.配置文件配置 4.2.指定使用的数据库连接模块 5.django orm简介 5.1 基本概念 1. orm对象关系映射 2. 为什么使用orm 3. 缺点 5.2 django中操作orm 1. 数据库迁移(同步)命令 2. 模型表类字段的增删改查 3.模型表数据的增删改查 总结 1. 静态文件的配置 1.默认情况下所有的html文件都是放在templates文件夹内的 2.什么是静态文件 网站所使用到的提前写的css js 第三方的前端模块,图片都叫做静态资源 3.默认情况下网站所使用的静态文件资源全部都会放在static文件夹内 手动创建static文件夹,根据静态资源分别创建子文件夹: 通常情况下,在static文件夹内还会再见其他文件夹: css 文件夹 js 文件夹 font 文件夹 img 文件夹 Bootstrap fontawesome(图标库) 为了更加方便的管理文件 django中

MYSQL笔记-pymysql

一世执手 提交于 2019-12-05 12:11:01
pymysql操作数据库 import pymysql # connect 参数包括 主机 用户 密码 数据库 端口 编码方式等 conn = pymysql.connect(host='localhost',user='root',password='123456',database='db_lianxi',charset='utf8') cursor = conn.cursor() user = input() pswd = input() # 自己进行字符串拼接容易造成SQL注入, # # sql = "select * from tb1 where username ='%s'and password ='%s'"%(user,pswd) # 因此可以让pymysql自己拼接字符串,采取下面两种方式 #######1######### sql = "select * from tb1 where username ='%s'and password ='%s'" # r :返回SQl语句影响的数据表行数 r = cursor.execute(sql,[user,pswd]) #######2######### sql = "select * from userinfo where username= %(u)s and password= %(p)s" r = cursor

Django配置使用mysql数据库

喜你入骨 提交于 2019-12-05 11:47:41
修改settings.py中的DATABASES。 # Database # https://docs.djangoproject.com/en/2.2/ref/settings/#databases DATABASES = { 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 'ENGINE': 'django.db.backends.mysql', 'NAME': 'django', 'USER': 'root', 'PASSWORD': '123456', 'HOST': '192.168.43.134', 'PORT': 3306, } } 注意:django框架不会自动帮我们生成mysql数据库,所以我们需要自己去创建。 切换mysql数据库之后不能启动服务器 需要安装操作mysql数据库的包,python2环境和python3环境有以下区别。 a) python2需要安装mysql-python: pip install mysql-python b) python3需要安装pymysql: pip install pymysql python3中安装好pymysql,需要在test2/ init .py

52 Django简单的使用及基础方法

醉酒当歌 提交于 2019-12-05 11:35:19
目录 一、静态文件配置 1. 什么是静态文件 2. 静态文件的用法 3. 静态文件的动态绑定 二、请求方式与相应 1. get请求 2. post请求 3. Django后端视图函数处理请求 三、request方法初识 四、Django连接数据库 1. 设置Django默认连接MySQL数据库 2. 设置Django使用pymysql模块连接 五、Django orm简介 1. orm介绍 2. orm的优缺点 3. Django操作orm 六、数据迁移(同步) 七、模型表相关操作 1. 模型表字段的查增改删 2. 模型表数据的查增改删 2.1 查 2.2 增 2.3 改 2.4 删(一般情况下不用) 一、静态文件配置 1. 什么是静态文件 网站所使用到的提前写的css、js、第三方的前端模块、图片、都叫做静态资源。 只要是变量是写死的,是不可以动态改变的,那这个文件就是静态文件。 2. 静态文件的用法 默认情况下所有的html文件都是放在templates文件夹内。 默认情况下网站所用到的静态文件资源全部会放在static文件夹下。 在static文件夹内部还会再建其他文件夹,为了更加方便的管理文件。 css 文件夹 js 文件夹 font 文件夹 img 文件夹 Bootstrap fontawesome django中,需要你自己手动创建静态文件存放的文件夹 #