数据库视图

MySQL(五)

匿名 (未验证) 提交于 2019-12-02 22:06:11
数据备份 数据导出 先退出mysql环境 数据的导出 备份表: 格式:mysqldump -uroot -p 库名 表名>表名.sql 备份库: 格式: mysqldump -uroot -p 库名>备份文件名.sql 数据的导入: Mysql -uroot -p 库名 < 备份文件地址.sql 用户与授权 创建用户 格式: create user '用户名'@'ip地址' identified by '密码' 创建用户名为lisi 任何位置都可以登录: Create user ‘lisi’@’%’ identified by ‘123456’ 创建用户wangwu 只能本地登录的用户 Create user ‘wangwu’@’localhost’ identified by ‘123456’; 创建用户wzy只能在ip地址为10.10.107.85的设备上链接数据库 create user 'wzy'@'10.10.107.85' identified by '123456'; 授权 格式:grant 权限 on 库名.表名 to 用户名@‘地址’ 给李四添加 所有库所有表的 查询权限 Grant select on *.* to ‘lisi’@’%’ 给远程连接的zhaoliu用户添加对demo1数据库下所有表的所有权限 Grant all on demo1.* to

MySQL-快速入门(9)视图

匿名 (未验证) 提交于 2019-12-02 22:06:11
1、什么是视图 2、视图相对基本表的优势 3、创建视图 //1、algorithm表示视图选择的算法,undefined表示MySQL自动选择算法;merge表示将使用的视//图语句与视图定义合并起来,使得视图定义的某一部分取代语句对应的部分;temptable表示将//视图的结果存入临时表,然后用临时表来执行语句。//2、[with [cascaded | local] check option]表示视图在更新时保证在视图的权限范围之内//cascaded与local为可选参数,cascaded为默认值,表示更新视图时要满足所有相关视图和表//的条件;local表示更新视图时满足该视图本身定义的条件即可。//3、创建的视图默认属于当前数据库,如果要创建属于其他数据库的视图,则db_name.view_namecreate [or replace] [algorithm = {undefined | merge | temptable}] view view_name [(column_list)] as select_statement [with [cascaded | local] check option] 1》在单表上创建视图,可以给视图指定不同的字段名,创建的时候会与基本表对齐。 mysql> create view v_test as select * from

MySQL数据库知识点总结

匿名 (未验证) 提交于 2019-12-02 22:02:20
DB:Database:数据库,指保存数据的文件集合。 DBMS:DataBaseManagementSystem:数据库管理系统(数据库软件),常见的数据库软件:Oracle,MySQL,SqlServer,DB2,sqlite等 SQL:StructuredQueryLanguage:结构化查询语言,用于程序员和数据库软件交互。 数据库相关SQL show databases; create database db1; show crate database db1; create database db1 character set utf8/gbk; drop database db1; use db1; 表相关SQL create table t_user(id int ,name varchar(10) ,email varchar(10)); show tables; show create table t_user; create table t_user(id int,name varchar(10),age int) engine=innodb/myisam charset=utf8/gbk; desc t_user; drop table t_user; 修改表相关 rename table t_user to t1; alter table t1

drf 权限认证

核能气质少年 提交于 2019-12-02 22:01:56
目录 复习 前期准备 三大认证简介 AbstracUser源码分析 自定义User下的权限六表 models.py 到settings.py中注册 注意点: 执行数据迁移的俩条命令 创建超级用户 源码分析 复习 """ 视图家族 1、视图类:APIView、GenericAPIView APIView:作为drf的基础view;as_view()禁用csrf;dispatch()二次封装request、三大认证、解析、渲染、响应、异常等模块;一堆类属性,可以用来做全局或局部插拔配置 GenericAPIView:继承APIView;三个方法三个属性(obj,queryset,serializer) 2、视图工具集:mixin五大工具类(六个方法) list:群查 retrieve:单查 create:单增 destroy:单删 update:单整体改 partial_update:单局部改 前提:工具类都是由GenericAPIView的子类来继承 3、工具视图:Generic各种子类 ListAPIView(ListModelMixin, GenericAPIView):继承该类的视图类,只需要提供几个类属性,就可以完成群查,不需要书写get方法 ListCreateAPIView(ListModelMixin, CreateModelMixin, GenericAPIView)

mysql关于视图的用法以及作用

匿名 (未验证) 提交于 2019-12-02 21:59:42
关于视图的用法以及作用。 作用一: 提高了重用性,就像一个函数。如果要频繁获取user的name和goods的name。就应该使用以下sql语言。示例: select a.name as username, b.name as goodsname from user as a, goods as b, ug as c where a.id=c.userid and c.goodsid=b.id; 但有了视图就不一样了,创建视图other。示例 create view other as select a.name as username, b.name as goodsname from user as a, goods as b, ug as c where a.id=c.userid and c.goodsid=b.id; 创建好视图后,就可以这样获取user的name和goods的name。示例: select * from other; 以上sql语句,就能获取user的name和goods的name了。 作用二: 对数据库重构,却不影响程序的运行。假如因为某种需求,需要将user拆房表usera和表userb,该两张表的结构如下: 测试表:usera有id,name,age字段 测试表:userb有id,name,sex字段 这时如果php端使用sql语句:select *

drf 视图家族

怎甘沉沦 提交于 2019-12-02 21:46:04
视图家族 GenericAPIView基类 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 # GenericAPIView是继承APIView的,使用完全兼容APIView # 重点:GenericAPIView在APIView基础上完成了哪些事 # 1)get_queryset():从类属性queryset中获得model的queryset数据 # 2)get_object():从类属性queryset中获得model的queryset数据,再通过有名分组pk确定唯一操作对象 # 3)get_serializer():从类属性serializer_class中获得serializer的序列化类 urlpatterns = [ url(r '^v2/books/$' , views.BookGenericAPIView.as_view()), url(r '^v2/books/(?P<pk>.*)/$' , views.BookGenericAPIView.as_view()), ] from rest_framework.generics import GenericAPIView class BookGenericAPIView(GenericAPIView):

视图

痞子三分冷 提交于 2019-12-02 19:58:44
视图是从一张或几张基本表或视图导出的表。它与基本表不同,是一个 虚表 。 之所以说视图是虚表,因为数据库中只存放视图的定义,不存放视图对应的数据,这些数据依旧存放在原来的基本表中。所以一旦基本表中的数据发生了变化,从视图中查询出的数据也就随之改变。从这个意义上讲,视图就像一个窗口,透过它可以看到数据库中自己感兴趣的数据及其变化。 创建视图 SQL语句创建视图的一般格式为: create view <视图名>[列名1,列名2,......] as <子查询> [with check option] 关系数据库管理系统执行创建视图的SQL语句的结果是,将视图的定义存入数据字典,并不执行其中的子查询。只有在对视图进行查询时,才会按照视图定义中的子查询从基本表中将数据查询出来。 关系数据库管理系统执行对视图的查询时,首先进行有效性检查,检查查询中涉及的表、视图是否存在。如果存在,则从数据字典中取出视图的定义,把定义中的子查询和用户查询结合起来,转换成等价的对基本表的查询,然后再执行修正了的查询。这一过程称为 视图消解 (view resolution) 视图的作用 1、简化用户操作 2、使不同的用户以不同的角度看待数据 3、对重构数据库提供了一定程度的逻辑独立性 4、对数据提供一定程度的保护 5、使用视图能够更加清晰的表达查询 来源: https://www.cnblogs.com

mysql基础

怎甘沉沦 提交于 2019-12-02 18:35:11
1、描述视图,存储过程,函数,触发器分别是什么并实践 视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。表现为对实体表的查询结果,查完之后存储在视图。方便下次查询   通过视图,可以展现基表的部分数据;视图数据来自定义视图的查询中使用的表,使用视图动态生成。 创建视图 create view v_students as select stuid,name,age from students; 创建视图,将查询结果存储成视图。可方便查询 原始表 视图生成的表 查看表状态。comment表示了是view表。表示为视图 函数 create function hello() returns varchar(20) return "hello world!"; 创建一个无参数的函数。返回字符串。具体返回为 hello world 实现一个打印字符串功能 查看函数定义 创建有参数的函数 MariaDB [hellodb]> delimiter // #将命令执行;号变成 //方便区分。在定义函数内部要执行的命令时。如果出现;号将不会执行 MariaDB [hellodb]> create function del(uid int unsigned) returns varchar(20) #创建函数。添加一个个uid参数,并指定类型为数字。返回结果为字符串 -> begin

Django基础(三)

我的梦境 提交于 2019-12-02 17:08:39
用户功能 管理功能 django支持任意多个app ​ 注意: 1. 使用命令行创建项目,不会自动创建templates文件夹,只能手动建 2. settings文件中手动写[os.path.join(BASE_DIR, 'templates')] ​ pycharm创建: ​ 能够自动创建template文件夹和路径配置 ​ 也能够支持创建一个应用并注册。 三板斧 from django.shortcuts import render,HttpResponse, redirect ​ HttpResponse # 返回字符串 urls: urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'login/', views.login), def login(request): return HttpResponse('Hello word~') ​ render # 返回HTML页面,并且可以为该html传值 urls: urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'login/', views.login), url(r'reg/', views.reg), ] def reg(request): user_dict = {'name':'jason',

Java开发数据库设计的14个技巧,你知道几个?

我是研究僧i 提交于 2019-12-02 16:33:02
1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。 这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会关系表、工作简历表。这就是“一张原始单证对应多个实体”的典型例子。 2. 主键与外键 一般而言,一个实体不能既无主键又无外键。在E—R 图中, 处于叶子部位的实体, 可以定义主键,也可以不定义主键(因为它无子孙), 但必须要有外键(因为它有父亲)。 主键与外键的设计,在全局数据库的设计中,占有重要地位。当全局数据库的设计完成以后,有个美国数据库设计专家说:“键,到处都是键,除了键之外,什么也没有”,这就是他的数据库设计经验之谈,也反映了他对信息系统核心(数据模型)的高度抽象思想。 因为:主键是实体的高度抽象,主键与外键的配对,表示实体之间的连接。 3. 基本表的性质 基本表与中间表、临时表不同,因为它具有如下四个特性: 原子性。基本表中的字段是不可再分解的。 原始性。基本表中的记录是原始数据(基础数据)的记录。 演绎性。由基本表与代码表中的数据,可以派生出所有的输出数据。 稳定性