数据库视图

表查询(下)

杀马特。学长 韩版系。学妹 提交于 2019-11-30 13:38:26
表查询(下) 一 、联合分组 按多个字段综合结果进行分组 #数据来源:在单表student下 #按 area与port组合后的结果进行分组,只有组合后的结果还一致,才认为是一组 eg: select group_concat(name),area,port from emp group by area,port; --------------------+--------+-----------+ | group_concat(name) | area | port | +--------------------+--------+-----------+ | yangsir,san1,san | 上海 | 浦东 | | san2 | 上海 | 浦西 | | ruakei | 上海 | 陆家嘴 | | zero | 中国 | 黄浦 | | owen | 安徽 | 宣城 | | jason | 安徽 | 巢湖 | | ying | 安徽 | 芜湖 | | kevin,engo | 山东 | 济南 | | monkey | 山东 | 青岛 | | tank | 广州 | 广东 | | jerry | 江苏 | 张家港 | | jiboy | 江苏 | 苏州 | +--------------------+--------+-----------+ 二、子查询 子查询

第一阶段:Python开发基础 day45 数据库基础知识之子查询视图的相关操作事务和游标等

房东的猫 提交于 2019-11-30 13:36:29
目录 复习 案例 联合分组 子查询 all与any:区间修饰条件 视图:view 视图的增删改 事务 pymysql:python操作mysql 游标操作 pymysql事务 sql注入 索引 复习 """ 1、单表查询 增删改查的完整语法 select distinct 字段 from 表 where group by having order by limit 比较:> < = 区间:between and | in | not in 逻辑: and or not 相似:like _% 正则:regexp 聚合函数:group_concat()、max() having:可以对 聚合函数 结果进行筛选,不能使用 聚合函数 别名 order by:分组后对 聚合函数 进行排序,能使用 聚合函数 别名 limit:条数 | 偏移,条数 2、多表查询 内连接:from emp inner join dep on emp.dep_id = dep.id 只保存两表有对应关系的记录 左连接:from emp left join dep on emp.dep_id = dep.id 左表记录全部保存,右边没有对应记录空填充 右连接:from emp right join dep on emp.dep_id = dep.id 右表记录全部保存,左边没有对应记录空填充 全连接: from

子查询/联合分组/all与any/视图/事务

青春壹個敷衍的年華 提交于 2019-11-30 13:36:01
子查询 将一条查询sql的结果作为另一条sql的条件 使用方法总结: # 增:insert into 表 select子查询 # 删:delete from 表 条件是select子查询(表不能与delete表相同) # 查:select 字段 from 表 条件是select子查询 # 改:update 表 set 字段=值 条件是select子查询(表不能与update表相同) 联合分组: 按多个字段综合结果进行分组 使用方法总结: # 按 area与port组合后的结果进行分组,只有组合后的结果还一致,才认为是一组 select group_concat(name),area,port from emp group by area,port; 区间修饰条件(all与any): 使用方法总结: # 语法规则 # where id in (1, 2, 3) => id是1或2或3 # where id not in (1, 2, 3) => id不是1,2,3 # where salary < all(3, 6, 9) => salary必须小于所有情况(小于最小) # where salary > all(3, 6, 9) => salary必须大于所有情况(大于最大) # where salary < any(3, 6, 9) => salary只要小于一种情况(小于最大)

数据库

痞子三分冷 提交于 2019-11-30 13:35:33
目录 联合分组 子查询 all与any 视图:view 视图的增删改 事务 pymysql:python操作mysql 安装 增删改查 创建表 增 删 改 查 游标操作 pymysql事务 sql注入 索引 联合分组 # 数据来源:在单表emp下 # 联合分组:按多个字段综合结果进行分组 # 按 area与port 组合后的结果进行分组,只有组合后的结果还一致,才认为是一组 select group_concat(name),area,port from emp group by area,port; 子查询 # 增:insert into 表 select子查询 # 删:delete from 表 条件是select子查询(表不能与delete表相同) # 改:select 字段 from 表 条件是select子查询 # 查:update 表 set 条件是select子查询(表不能与delete表相同) # 数据来源:在单表emp下 # 子查询:将一条查询saql的结果作为另一条sql的条件 # 思考:每个部门最高薪资的那个人所有信息 # 子查询的sql select dep,max(salary) from emp group by dep; # 子查询 - 查 select * from emp where(dep,salary) in (select dep,max

Django-URL路由系统

我的梦境 提交于 2019-11-30 13:19:27
目录 1.URL配置 1.1基本格式   1.2参数说明  2.正则表达式详解 2.1基本配置 2.2注意事项 2.3补充说明 3.分组命名匹配 3.1URLconf 使用命名组: 3.2URLconf匹配的位置 3.3捕获的参数永远都是字符串 3.4视图函数中指定默认值 3.5include其他的URLconfs(也叫URL分发) 4.传递额外的参数给视图函数(了解) 5.命名URL(别名)和URL的反向解析 6.命名空间模式 1.URL配置 Django 1.11版本 URLConf官方文档    URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。 1.1基本格式   from django.conf.urls import url #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数执行,就不再往下循环了,并给函数传一个参数request,和wsgiref的environ类似,就是请求信息的所有内容 urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 注意: Django 2.0版本中的路由系统已经替换成下面的写法,但是django2

Django框架02 /Django下载安装、url路由分发

百般思念 提交于 2019-11-30 12:30:38
目录 Django框架02 /Django下载安装、url路由分发 1.django下载安装 2.pycharm创建项目 3.基于Django实现一个简单的示例 3.1 url控制器(第一步就找它) 3.2 视图 3.3 模板 3.4 在settings配置文件里面有关于templates(放html文件的配置) 在settings配置文件里面将这一行注释掉,这是django给你加的一个csrf的认证 4.url配置 4.1基本格式 4.2 正则表达式详解 4.3 分组命名匹配 4.1 无名分组 4.2 有名分组 4.4 默认值 5.url路由分发之include Django框架02 /Django下载安装、url路由分发 1.django下载安装 官网地址:https://www.djangoproject.com/download/ 1、下载Django: pip3 install django==1.11.9 pip3 install django==1.11.9 -i http://xxxxxx 指定源 2、创建一个django project django-admin startproject mysite 创建了一个名为"mysite"的Django 项目 3、创建的项目文件介绍 1.manage.py ----- Django项目里面的工具

url配置

守給你的承諾、 提交于 2019-11-30 12:29:26
目录 一 URL配置   基本格式     参数说明  二 正则表达式详解   基本配置   注意事项   补充说明 三 分组命名匹配   URLconf匹配的位置   捕获的参数永远都是字符串   视图函数中指定默认值   include其他的URLconfs(也叫URL分发)   传递额外的参数给视图函数 四 命名URL(别名)和URL的反向解析 五 命名空间模式 一 URL配置    Django 1.11版本 URLConf官方文档   URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。   基本格式   from django.conf.urls import url #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数执行,就不再往下循环了,并给函数传一个参数request,和wsgiref的environ类似,就是请求信息的所有内容 urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ]   注意:   Django 2.0版本中的路由系统已经替换成下面的写法,但是django2.0是向下兼容1.x版本的语法的( 官方文档 ): from

Django基础之URL路由系统

耗尽温柔 提交于 2019-11-30 12:26:36
一 URL配置    Django 1.11版本 URLConf官方文档   URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。 基本格式   from django.conf.urls import url #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数执行,就不再往下循环了,并给函数传一个参数request,和wsgiref的environ类似,就是请求信息的所有内容 urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 注意:   Django 2.0版本中的路由系统已经替换成下面的写法,但是django2.0是向下兼容1.x版本的语法的( 官方文档 ): from django.urls import path urlpatterns = [ path('articles/2003/', views.special_case_2003), path('articles/<int:year>/', views.year_archive), path('articles/<int:year>/<int:month>/', views.month

试图上的dml操作

家住魔仙堡 提交于 2019-11-30 11:53:06
•为什么使用视图 –限制其它用户对数据库表的访问,因为视图可以有选择性的显示数据库表的一部分; –容易实现复杂的查询; –对于相同的数据可以产生不同的视图; •创建视图语法; CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION] •OR REPLACE:如果所创建的视图已经存在,该选项表示修改原视图的定义; •view_name :视图的名称; •column_list :列名,列名的数量必须和视图所对应查询语句的列数量相等; •select_statement :一条完整的SELECT语句; •WITH CHECK OPTION:一个约束条件,通过视图所插入或修改的数据行必须满足视图所定义的查询; •ALGORITHM子句是可选的,它表示使用何种算法来处理视图。此外,它并不属于标准SQL的一部分,而是MySQL对标准SQL进行的功能扩展。ALGORITHM可以设置三个值:MERGE、TEMPTABLE或UNDEFINED。如果没有ALGORITHM子句,则默认值为UNDEFINED(未定义的)。 •例:创建一个视图v

Django基础二之URL路由系统

北城余情 提交于 2019-11-30 10:29:30
一 URL配置   Django 1.11版本 URLConf官方文档   URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。   基本格式   from django.conf.urls import url #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数执行,就不再往下循环了,并给函数传一个参数request,和wsgiref的environ类似,就是请求信息的所有内容 urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ]   注意:   Django 2.0版本中的路由系统已经替换成下面的写法,但是django2.0是向下兼容1.x版本的语法的( 官方文档 ): from django.urls import path urlpatterns = [ path('articles/2003/', views.special_case_2003), path('articles/<int:year>/', views.year_archive), path('articles/<int:year>/<int:month>/', views