数据库视图

关于 SQL语句

浪子不回头ぞ 提交于 2019-12-20 06:51:19
数据库相关的SQL 查看所有数据库 show databases; 创建数据库 格式:create database 数据库名称; create database db1; 删除 格式:drop database 数据库名称; 查看数据库详情 格式:show create database 数据库名称; show create database db1; 创建数据库指定字符集 格式:create database 数据库名称 character set utf8/gbk; create database db2 character set gbk; 使用数据库 格式: use 数据库名称 use db1; 表相关SQL 创建表 create table t1(name varchar(10),age int) engine=myisam/innodb charset=gbk/utf8; 查询所有表 show tables; 查询表详情 show create table t1; 查看表字段 desc t1; 修改表名 rename table t1 to t2; 修改表引擎字符集 alter table t1 engine=myisam/innodb charset=gbk/utf8; 添加表字段 alter table t1 add age int first/after xxx

Mysql数据库的索引和视图详解

感情迁移 提交于 2019-12-19 23:24:44
Mysql数据库的索引和视图详解 索引的概念 数据库的索引与书籍中的目录类似 在一本书中,无需阅读整本书,利用目录就可以快速查找所需信息 书中的目录是一个词语列表,其中注明了包含各个词的页码 数据库索引 在数据库中,索引数据库程序无需对整个表进行扫描,就可以在其中找到所需数据 数据库中的索引是某个表中一列或若干列的集合,以及物理标识这些值的数据页的逻辑指针清单 索引的作用 设置了合适的索引之后,数据库利用葛总快速的定位技术,能够大大加快查询速率 特别是当表很大时,或者查询涉及到多个表时,使用索引可使查询加快成千倍 可以降低数据库的IO成本,并且索引还可以降低数据库的排序成本 通过创建唯一索引保证数据表数据的唯一性 可以加快表与表之间的连接 在使用分组和排序时,可大大减少分组和排序时间 索引分类 普通索引 这是最基本的索引类型,而且它没有唯一性的限制 唯一性索引 索引的列的所有值都只能出现一次,即必须唯一 主键 主键是一种唯一性索引,但它必须指定为“PRIMARY KEY” 全文索引 全文索引可以在VARCHAR或者TEXT类型的列上创建 创建索引的原则依据 表的主键,外键必须有索引 数据量超过300行的表应该有索引 经常与其他表进行连接的表,在连接字段上应该建立索引 唯一性太差的字段不适合建立索引 更新太频繁的字段不适合创建索引 经常出现在Where字句中的字段,特别是大表的字段

Django的是如何工作的

馋奶兔 提交于 2019-12-19 12:51:09
  如果你看过我之前所写的关于 django 的文章的话,你会发现每一篇都具有可操作性,都是从创建项目开始的,虽然中间之加了一些要讲解的重点。这也是我博文的特点,我希望在你看到我这一篇文章的时候是可操作的,不管是否具备了相关基础。 如果你是第一次接触 django ,建议参考我的之关于 django 的内容练习一下: http://www.cnblogs.com/fnng/category/581256.html 这一篇要介绍django是如何工作的。如果你把这过程梳理清晰了,那么你对 django 就算入门了。 一张流程图告诉你 , django 的处理流程: URL 组成   作为网站的用户,我们首先在浏览器的输入框内输入 : http://127.0.0.1:8000/index/ URL地址由以下几部分组成: 协议类型 : HTTP ,FTP   HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地 浏览器 的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示等 。 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的

Django REST Framework API Guide 02

一世执手 提交于 2019-12-18 21:12:28
本节大纲   1、Generic Views   2、ViewSets 1、Generic Views CBV的主要的一个优点就是极大的允许了对于代码的从用。自然,rest framework取其优势,提供了很多可以重构的视图。rest framework 提供的 Generic Views可以让你很快速的构建跟数据库模型映射紧密的API视图。 如果 generic view不满足你的API需求,很简单,你可以放弃它去使用正常的APIView类,或者将generic view内部包含的mixins和基础类重构成自己需要的,完成对于generic view的重用 样例 class StudentListView(ListAPIView): queryset = Student.objects.all() serializer_class = StudentListSerializer ###########################################serilizers,单独建立一个serializers文件 from rest_framework.serializers import ModelSerializer from app01.models import Student class StudentListSerializer

Django----视图层

谁说我不能喝 提交于 2019-12-18 18:51:05
Django----视图层 本文目录 1 视图函数 2 HttpRequest对象 3 HttpResponse对象 4 JsonResponse 5 CBV和FBV 6 简单文件上传 回到目录 1 视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应。 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以。 无论视图本身包含什么逻辑,都要返回响应。 代码写在哪里也无所谓,只要它在你的Python目录下面。 除此之外没有更多的要求了——可以说“没有什么神奇的地方”。 为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为 views.py 的文件中。 下面是一个返回当前日期和时间作为HTML文档的视图: from django.shortcuts import render, HttpResponse, HttpResponseRedirect, redirect import datetime def current_datetime(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</body></html>" % now return

mysql创建视图

≡放荡痞女 提交于 2019-12-18 17:53:47
(1).第一类:create view v as select * from table; (2).第二类:create view v as select id,name,age from table; (3).第三类:create view v[vid,vname,vage] as select id,name,age from table; 如果涉及到数据量过大,业务逻辑需要跨表查询等等也可建立一个跨表的视图,有三种情况: 一、基于同一数据库 这种情况较为简单,只需简单的一行sql命令,如下: create view v as (select * from table1) union all (select * from table2); 二、基于不同数据库 这种情况只比上面的sql语句多一个数据库的名字,如下: create view 数据库1.v as (select * from 数据库1.table1) union all (select * from 数据库2.table2); 或 create view 数据库2.v as (select * from 数据库1.table1) union all (select * from 数据库2.table2); 如果执行第一个sql将在数据库1下建立视图,反之亦然; 三、基于不同服务器 这种情况稍微麻烦一点

flask 在视图函数中验证表单 --

孤街醉人 提交于 2019-12-18 10:53:21
在视图函数中验证表单 因为现在的basic_form视图同时接受两种类型的请求:GET请求和POST请求。所以我们要根据请求方法的不同执行不同的代码。具体来说,首先是实例化表单,如果是GET请求,就渲染模板;如果是POST请求,就调用validate()方法验证表单数据。 请求的HTTP方法可以通过requeset.method属性获取,我们可以使用下面的方式来组织视图函数: from flask import request @app.route('/basic', methods=['GET','POST']) def basic(): form = LoginForm() #GET + POST #如果用户提交表单,并且数据通过验证 if request.method == 'POST' and form.validate(): #获取表单数据并保存 ...#处理POST请求 return render_template('forms/basic.html',form=form) #处理GET请求 当请求方法是GET时,会跳过这个if语句,渲染basic.html模板;当请求的方法是POST时(说明用户提交了表单),则验证表单数据。这会逐个字段(包括CSRF令牌字段)调用附加的验证器进行验证。 因为WTForms会自动对CSRF令牌字段进行验证

Django_rest_framework(DRF)

血红的双手。 提交于 2019-12-18 09:40:10
1. 概述 DRF :Django REST framework是一个建立在Django基础之上的Web 应用开发框架,可以快速的开发REST API接口应用。 在REST framework中,提供了序列化器Serialzier的定义,可以帮助我们简化序列化与反序列化的过程,不仅如此,还提供丰富的类视图、扩展类、视图集来简化视图的编写工作。REST framework还提供了认证、权限、限流、过滤、分页、接口文档等功能支持。REST framework提供了一个API 的Web可视化界面来方便查看测试接口。 特点 : 提供了定义序列化器Serializer的方法,可以快速根据 Django ORM 或者其它库自动序列化/反序列化; 提供了丰富的类视图、Mixin扩展类,简化视图的编写; 丰富的定制层级:函数视图、类视图、视图集合到自动生成 API,满足各种需要; 多种身份认证和权限认证方式的支持;[jwt] 内置了限流系统; 直观的 API web 界面; 可扩展性,插件丰富 安装 : pip install djangorestframework 使用 : 在settings.py里的INSTALLED_APPS中添加 ' rest_framework ' INSTALLED_APPS = [ ... 'rest_framework', ]

Django REST framework 介绍

£可爱£侵袭症+ 提交于 2019-12-18 09:38:57
在Django开发REST接口时,视图中主要有3件事:   1.将请求的数据(如JSON格式)转换为模型类对象   2.操作数据库   3.将模型类对象转换为响应的数据(如JSON格式) 由于在开发REST API时,视图中要频繁的进行序列化与反序列化的编写,这时候就用到了Django REST framework简化代码的编写 序列化(Serialization): 在计算机科学的资料处理中, 将数据结构或物件状态转换成可取用格式(例如存成档案,存于缓冲,或经由网络中传送),以留待后续在相同或另一台计算机环境中,能恢复原先状态的过程。依照序列化格式重新获取字节的结果时,可以利用它来产生与原始物件相同语义的副本。 在python中,序列化可以理解为将python对象编码转换为json格式的字符串       反序列化可以理解为将json字符串解码为python数据对象 Django REST framework简介:一个拥有构建Web API的的框架,简称DRF或REST framework 在序列化与反序列化时,虽然操作的数据不尽相同,但是执行的过程却是相似的,也就是说这部分代码是可以复用简化编写的。 在开发REST API的视图中,虽然每个视图具体操作的数据不同,但增、删、改、查的实现流程基本套路化,所以这部分代码也是可以复用简化编写的: 增:校验请求数据 ->

django的视图层

社会主义新天地 提交于 2019-12-18 06:38:26
视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应。 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以。 无论视图本身包含什么逻辑,都要返回响应。 代码写在哪里也无所谓,只要它在你的Python目录下面。 除此之外没有更多的要求了——可以说“没有什么神奇的地方”。 为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为 views.py 的文件中。 下面是一个返回当前日期和时间作为HTML文档的视图: from django.shortcuts import render, HttpResponse, HttpResponseRedirect, redirect import datetime def current_datetime(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</body></html>" % now return HttpResponse(html) 让我们逐行阅读上面的代码: 首先,我们从 django.shortcuts 模块导入了 HttpResponse 类,以及Python的 datetime 库。 接着,我们定义了