数据库视图

国产数据库达梦的表、视图、索引、序列的创建和使用

早过忘川 提交于 2020-01-01 10:39:54
一、表管理 1、创建表指定非空约束 SQL:CREATE TABLE T1 (ID INT NOT NULL); 2、创建表指定唯一约束 SQL:CREATE TABLE T2 (ID INT UNIQUE, NAME VARCHAR2(50)); 3、创建表指定主键约束 SQL:CREATE TABLE T3 (ID INT PRIMARY KEY, NAME VARCHAR2(50)); 4、创建表指定检查约束 SQL:CREATE TABLE T4 (ID INT CHECK(ID > 5), NAME VARCHAR2(50)); 5、查看表结构 SQL:SP_TABLEDEF('TBS4USER','T4'); 或者 SELECT DBMS_METADATA.GET_DDL('TABLE','TT4','TBS4USER'); 6、修改表,添加列 SQL:ALTER TABLE T4 ADD AGE INT NOT NULL; 7、修改表,删除列 SQL:ALTER TABLE T4 DROP AGE; 8、修改表,修改列属性 SQL:ALTER TABLE T4 MODIFY ID INT CHECK(ID > 2); 9、修改表,删除约束 SQL:ALTER TABLE T4 DROP CONSTRAINT CONS134218772; 10、表重命名 SQL

Django web编程1 -- 创建项目和应用

大憨熊 提交于 2020-01-01 07:45:56
python:3.7.2 Django:2.1.7 1、创建虚拟环境 虚拟环境是系统的一个位置,可以在其中安装包,并将其与其他python包隔离。 创建目录,命名为learning_log,并切换到这个目录下,并创建一个虚拟环境。 $ mkdir learning_log $ cd learning_log/ learning_log$ python3 -m venv ll_env 2、激活虚拟环境并安装Django learning_log$ source ll_env/bin/activate (ll_env)learning_log$ pip3 install Django 3、新建项目 在处于活动的虚拟环境的情况下(ll_env包含在括号内,以下的步骤都是在虚拟环境下),执行如下命令来新建项目: (ll_env)learning_log$ django-admin.py startproject learning_log . # 创建项目,点号是让新项目使用合适的目录结构,不能缺少。 (ll_env)learning_log$ ls # Django新建了一个名为learning_log的目录。它还创建了一个名为manage.py的文件 learning_log ll_env manage.py (ll_env)learning_log$ ls learning_log #

MySql视图

℡╲_俬逩灬. 提交于 2020-01-01 05:04:24
创建视图 创建视图是指在已经存在的 MySQL 数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。 可以使用 CREATE VIEW 语句来创建视图。 语法格式如下: CREATE VIEW <视图名> AS <SELECT语句> 语法说明如下。 <视图名> :指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。 <SELECT语句> :指定创建视图的 SELECT 语句,可用于查询多个基础表或源视图。 对于创建视图中的 SELECT 语句的指定存在以下限制: 用户除了拥有 CREATE VIEW 权限外,还具有操作中涉及的基础表和其他视图的相关权限。 SELECT 语句不能引用系统或用户变量。 SELECT 语句不能包含 FROM 子句中的子查询。 SELECT 语句不能引用预处理语句参数。 视图定义中引用的表或视图必须存在。但是,创建完视图后,可以删除定义引用的表或视图。可使用 CHECK TABLE 语句检查视图定义是否存在这类问题。 视图定义中允许使用 ORDER BY 语句,但是若从特定视图进行选择,而该视图使用了自己的 ORDER BY 语句,则视图定义中的 ORDER BY 将被忽略。 视图定义中不能引用 TEMPORARY 表(临时表),不能创建 TEMPORARY 视图。 WITH CHECK OPTION 的意思是,修改视图时

数据库高级特性(视图)

时光毁灭记忆、已成空白 提交于 2020-01-01 05:03:51
什么是试图? 视图是从一个或多个表中导出来的表,是一种虚拟存在的表,视图就像一个窗口,通过它可以看到系统专门提供的数据,视图可以让用户的操作方便,保证数据库系统的安全 视图概念: 1:视图从已经存在的表中到处,还可以从已经存在的视图导出,数据库只是保存视图定义,而没有存放视图数据,视图的数据还是存在原来的表中,视图的数据依赖于原来的表,一旦原来的表发生改变,视图数据也相应的改变。 2:如果需要经常查询多个表的指定字段的数据。可以在这些表上建立一个试图 3:mysql的视图不支持输入参数的功能 视图的作用: 可以起到筛选器的作用,那些多用户没有用或者没有权限了解的信息可以直接屏蔽掉 总的来说:视图使才做更简单,增加数据更安全,提高表的逻辑独立性 mysql通过create view 实现创建视图 单表创建视图语法: create view 视图名 as select *from 表名 查询视图 语法: select *from 视图名 在多表中创建视图语法: 来源: https://www.cnblogs.com/zxc-double-refuel/p/10903079.html

mysql__视图

丶灬走出姿态 提交于 2020-01-01 04:30:32
视图 1.什么是视图   视图是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的。视图并不是在数据库中实际存在的,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的   视图相对于普通的表的优势主要包括以下几项:     1)、简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的符合条件的结果集     2)、安全:使用视图的用户只能访问它们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现     3)、数据独立:一旦视图的结构确定了,可以屏蔽表结构对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会对访问者的影响。 2.视图操作   2.1创建或者修改视图     创建视图:(需要有CREATE VIEW权限)       CREATE 【OR REPLACE】 【ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}】       VIEW view_name 【(column_list)】       AS select_statement       【WITH【CASCADED|LOCAL】CHECK OPTION】     修改视图:(如果使用CREATE OR REPLACE或者ALTER修改视图

11.视图

痞子三分冷 提交于 2020-01-01 04:27:39
这一篇《我的MYSQL学习心得(十一)》将会讲解MYSQL的视图 使用视图的理由是什么? 1、安全性:一般是这样做的:创建一个视图,定义好该视图所操作的数据。 之后将用户权限与视图绑定,这样的方式是使用到了一个特性:grant语句可以针对视图进行授予权限。 2、查询性能提高 3、有灵活性的功能需求后,需要改动表的结构而导致工作量比较大,那么可以使用虚拟表的形式达到少修改的效果。 这是在实际开发中比较有用的 4、复杂的查询需求,可以进行问题分解,然后将创建多个视图获取数据。将视图联合起来就能得到需要的结果了。 创建视图 创建视图的语法 CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION] 其中,CREATE:表示新建视图; REPLACE:表示替换已有视图 ALGORITHM :表示视图选择算法 view_name :视图名 column_list:属性列 select_statement:表示select语句 [WITH [CASCADED | LOCAL] CHECK OPTION]参数表示视图在更新时保证在视图的权限范围之内

我的MYSQL学习心得(十一)

谁说胖子不能爱 提交于 2020-01-01 04:27:09
原文: 我的MYSQL学习心得(十一) 我的MYSQL学习心得(十一) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL学习心得(五) 我的MYSQL学习心得(六) 我的MYSQL学习心得(七) 我的MYSQL学习心得(八) 我的MYSQL学习心得(九) 我的MYSQL学习心得(十) 我的MYSQL学习心得(十二) 这一篇《我的MYSQL学习心得(十一)》将会讲解MYSQL的视图 使用视图的理由是什么? 1、安全性:一般是这样做的:创建一个视图,定义好该视图所操作的数据。 之后将用户权限与视图绑定,这样的方式是使用到了一个特性:grant语句可以针对视图进行授予权限。 2、查询性能提高 3、有灵活性的功能需求后,需要改动表的结构而导致工作量比较大,那么可以使用虚拟表的形式达到少修改的效果。 这是在实际开发中比较有用的 4、复杂的查询需求,可以进行问题分解,然后将创建多个视图获取数据。将视图联合起来就能得到需要的结果了。 创建视图 创建视图的语法 CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(column_list)] AS select_statement [WITH

我的MYSQL学习心得(十一) 视图

偶尔善良 提交于 2020-01-01 04:26:06
这一篇《我的MYSQL学习心得(十一)》将会讲解MYSQL的视图 使用视图的理由是什么? 1、安全性:一般是这样做的:创建一个视图,定义好该视图所操作的数据。 之后将用户权限与视图绑定,这样的方式是使用到了一个特性:grant语句可以针对视图进行授予权限。 2、查询性能提高 3、有灵活性的功能需求后,需要改动表的结构而导致工作量比较大,那么可以使用虚拟表的形式达到少修改的效果。 这是在实际开发中比较有用的 4、复杂的查询需求,可以进行问题分解,然后将创建多个视图获取数据。将视图联合起来就能得到需要的结果了。 创建视图 创建视图的语法 CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION] 其中,CREATE:表示新建视图; REPLACE:表示替换已有视图 ALGORITHM :表示视图选择算法 view_name :视图名 column_list:属性列 select_statement:表示select语句 [WITH [CASCADED | LOCAL] CHECK OPTION]参数表示视图在更新时保证在视图的权限范围之内

我的MYSQL学习心得(十一)

半城伤御伤魂 提交于 2020-01-01 04:24:43
原文: 我的MYSQL学习心得(十一) 我的MYSQL学习心得(十一) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL学习心得(五) 我的MYSQL学习心得(六) 我的MYSQL学习心得(七) 我的MYSQL学习心得(八) 我的MYSQL学习心得(九) 我的MYSQL学习心得(十) 我的MYSQL学习心得(十二) 这一篇《我的MYSQL学习心得(十一)》将会讲解MYSQL的视图 使用视图的理由是什么? 1、安全性:一般是这样做的:创建一个视图,定义好该视图所操作的数据。 之后将用户权限与视图绑定,这样的方式是使用到了一个特性:grant语句可以针对视图进行授予权限。 2、查询性能提高 3、有灵活性的功能需求后,需要改动表的结构而导致工作量比较大,那么可以使用虚拟表的形式达到少修改的效果。 这是在实际开发中比较有用的 4、复杂的查询需求,可以进行问题分解,然后将创建多个视图获取数据。将视图联合起来就能得到需要的结果了。 创建视图 创建视图的语法 CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(column_list)] AS select_statement [WITH

11 MySQL视图

流过昼夜 提交于 2020-01-01 03:31:36
视图概述 视图View是一种虚拟存在的表.行和列数据来自自定义视图的查询中使用的表,在使用视图时动态生成. 视图的优势: 简单:用户不需要关心后面对应的表的结构,关联条件和筛选条件.对用户来说事已经过滤筛选好的复合条件的结果集. -- 那应该就是相当于Java中的接口了. 安全:使用视图的用户只能访问他们被允许查询的结果集;而表的权限管理并不能限制到某隔行某个列. 数据独立:一旦视图的结构确定了,屏蔽表结构对用户的影响:源表增加数据列对视图没有影响;源表修改列名,可以通过修改视图来解决. 视图操作 1).创建/修改视图 创建/修改/删除视图 都需要用相关权限.并且对于涉及的列具有SELECT权限. a.创建视图 CREATE [OR REPLACE][ALGORITHM = {UNDEFINED|MERGE|TEMPTABLE}] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED|LOCAL] CHECK OPTION] b.修改视图 ALTER [ALGORITHM = {UNDEFINED|MERGE|TEMPTABLE}] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK