精华内容
下载资源
问答
  • mysql创建视图使用union报错1064

    千次阅读 2015-11-03 16:30:49
    -- 创建视图, sql 语句加了括号, 报错。 CREATE VIEW view_test AS ( SELECT * FROM A UNION ALL SELECT * FROM B );-- 创建视图, sql 语句不加括号, 通过。 CREATE VIEW view_test AS SELECT * FROM A UNION ...
    -- 创建视图, sql 语句加了括号, 报错。
    CREATE VIEW view_test
    AS
    (
    SELECT * FROM A
    UNION ALL
    SELECT * FROM B
    );
    -- 创建视图, sql 语句不加括号, 通过。
    CREATE VIEW view_test
    AS
    
    SELECT * FROM A
    UNION ALL
    SELECT * FROM B
    


    展开全文
  • MySQL数据库视图:视图定义、创建视图、修改视图

    万次阅读 多人点赞 2017-03-20 11:54:15
    视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。视图不直接存储数据,不知真正的表。...对于复杂的查询事件,每次查询需要输入SQL命令,重复且低效,视图可以大大降低查询的重复性。

    视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。——百度百科

    关系型数据库中的数据是由一张一张的二维关系表所组成,简单的单表查询只需要遍历一个表,而复杂的多表查询需要将多个表连接起来进行查询任务。对于复杂的查询事件,每次查询都需要编写MySQL代码效率低下。为了解决这个问题,数据库提供了视图(view)功能。

    0 视图相关的MySQL指令

    操作指令 代码
    创建视图 CREATE VIEW 视图名(列1,列2...) AS SELECT (列1,列2...) FROM ...;
    使用视图 当成表使用就好
    修改视图 CREATE OR REPLACE VIEW 视图名 AS SELECT [...] FROM [...];
    查看数据库已有视图 >SHOW TABLES [like...];(可以使用模糊查找)
    查看视图详情 DESC 视图名或者SHOW FIELDS FROM 视图名
    视图条件限制 [WITH CHECK OPTION]

    1 视图

    百度百科定义了什么是视图,但是对缺乏相关知识的人可能还是难以理解或者只有一个比较抽象的概念,笔者举个例子来解释下什么是视图。

    朕想要了解皇宫的国库的相关情况,想知道酒窖有什么酒,剩多少,窖藏多少年,于是派最信任的高公公去清点,高公公去国库清点后报给了朕;朕又想知道藏书情况,于是又派高公公去清点并回来报告给朕,又想知道金银珠宝如何,又派高公公清点。。。过一段时间又想知道藏书情况,高公公还得重新再去清点,皇上问一次,高公公就得跑一次路。

    后来皇上觉得高公公不容易,就成立了国库管理部门,小邓子负责酒窖,小卓子负责藏书,而小六子负责金库的清点。。。后来皇上每次想了解国库就直接问话负责人,负责人就按照职责要求进行汇报。
    视图

    安排专人管理后,每次皇上想要了解国库情况,就不必让高公公每次都跑一趟,而是指定的人员按照指定的任务完成指定的汇报工作就可以了。

    和数据库相对应,每次进行查询工作,都需要编写查询代码进行查询;而视图的作用就是不必每次都重新编写查询的SQL代码,而是通过视图直接查询即可。因此:

    视图是虚拟表,本身不存储数据,而是按照指定的方式进行查询。

    比如,我们希望从前文提到的四张表,order_baisc,order_details,user和product中查找所有记录,需要写入代码指令:
    查询
    想再次查询这几个表中uid为u0001的用户的记录,有需要键入一次操作指令:
    查询
    也就是说,每次查询都得重新键入查询指令SQL代码,这种费时费力的体力活,对于时间就是生命的你我来说,是不划算的。所以借助视图,来执行相同或相似的查询。

    2 创建视图

    2.1 创建视图create view
    创建视图的代码为:

    >CREATE VIEW 视图名(列1,列2...)
     AS SELECT (列1,列2...)
     FROM ...;

    可以看到,创建视图和查询相比,增加了前面的CREATE VIEW 视图名 AS

    2.2 视图运用

    使用视图和使用表完全一样,只需要把视图当成一张表就OK了。视图是一张虚拟表。

    eg:创建order_baisc,order_details,user和product的查询视图,并通过视图查找uid为u0001的记录:
    创建视图

    2.3 修改视图CREATE OR REPLACE VIEW

    修改和创建视图可以使用代码:

    CREATE OR REPLACE VIEW 视图名 AS SELECT [...] FROM [...];

    eg:
    修改视图

    2.4 查看视图
    (1)查看数据库中有哪些视图 show tables
    前面提到,视图就是虚拟的表,因此,查看视图的方法和查看表的方法是一样的:

    >SHOW TABLES;

    查看视图

    通过show tables;反馈得到所有的表和视图。同样的,我们可以通过模糊检索的方式专门查看视图,这个时候,视图的命令统一采用v_v_视图名的优势就体现出来了。
    (2)查看视图详情
    查看视图详情的方法有两种,一种是和查看表详情一样使用desc 视图名,另外一种方法是show fields from 视图名

    >DESC 视图名;
    或者
    >SHOW FIELDS FROM 视图名;

    查看视图详情

    两种方法得到的详情都是一毛一样的。

    3 视图与数据变更

    3.1 表格数据变更
    将表product中的数据进行更新,在通过视图检索:

    视图与数据变更

    可以看到表格数据变化后,在通过视图检索,得到的结果也同步发生了变化,因此,在此证明了:

    视图不是表,不保存数据,知识一张虚拟表;

    3.2 通过视图变更数据

    • (1)插入数据
    >INSERT INTO v_order(pid,pname,price) VALUES('p010','柴油','34');

    在此查询视图,发现插入了数据。

    视图变更数据

    • (2)跨表插入数据
      通过上图,我们可以看到,跨表插入数据系统反馈报错,提示不能修改超过一个表的数据。

    因此,可以通过视图插入数据,但是只能基于一个基础表进行插入,不能跨表更新数据。

    • (3)WITH CHECK OPTION
      如果在创建视图的时候制定了“WITH CHECK OPTION”,那么更新数据时不能插入或更新不符合视图限制条件的记录。

      eg:对表product创建一个单价超过3000的视图,并加上“WITH CHECK OPTION”,之后插入一个价格为42的记录:

      “WITH CHECK OPTION”

      可以看到系统提示错误CHECK OPTION FAILED。因为视图限制了价格要高于3000.
      后面再次尝试了不加“WITH CHECK OPTION”的视图,后者可以成功插入。

      同样的,在不加“WITH CHECK OPTION”的情况下,通过视图修改记录,也可以成功执行:
      修改记录

    通过视图修改,可能导致数据无故消失,因此:

    没有特殊的理由,建议加上“WITH CHECK OPTION”命令。

    注意点:
    1. 视图不是表,不直接存储数据,是一张虚拟的表;
    2. 一般情况下,在创建有条件限制的视图时,加上“WITH CHECK OPTION”命令。

    展开全文
  • mysql视图之创建视图(CREATE VIEW)和使用限制

    万次阅读 多人点赞 2018-07-12 15:26:10
    mysql以两种方式处理对视图的查询:第一种方式,MySQL会根据视图定义语句创建一个临时表,并在此临时表上执行传入查询。第二种方式,MySQL将传入查询与查询定义为一个查询并执行组合查询。mysql支持版本系统的视图...

    mysql5.x 版本之后支持数据库视图,在mysql中,视图的几乎特征符合SQL:2003标准。 mysql以两种方式处理对视图的查询:

    • 第一种方式,MySQL会根据视图定义语句创建一个临时表,并在此临时表上执行传入查询。
    • 第二种方式,MySQL将传入查询与查询定义为一个查询并执行组合查询。

    mysql支持版本系统的视图,当每次视图被更改或替换时,视图的副本将在驻留在特定数据库文件夹的arc(archive)文件夹中备份。备份文件的名称为view_name.frm-00001。如果再次更改视图,mysql将创建一个名为view_name.frm-00002的新备份文件。mysql允许基于其他视图创建视图,就是在视图定义的select语句中,可以引用另一个视图。

    好啦,多的咱就不赘述了,接下来咱们尝试使用CREATE VIEW语句创建视图,先来看下语法结构:

    CREATE 
       [ALGORITHM = {MERGE  | TEMPTABLE | UNDEFINED}]
    VIEW [database_name].[view_name] 
    AS
    [SELECT  statement]
    

    然后我们来详细看下上面的sql中的各种词是什么意思。首先,第一个中括号里代表的就是创建视图是的算法属性,它允许我们控制mysql在创建视图时使用的机制,并且mysql提供了三种算法:MERGETEMPTABLEUNDEFINED。我们来分别看下:

    • 使用MERGE算法,mysql首先将输入查询与定义视图的select语句组合成单个查询。 然后mysql执行组合查询返回结果集。 如果select语句包含集合函数(如min,max,sum,count,avg等)或distinct,group by,havaing,limit,union,union all,子查询,则不允许使用MERGE算法。 如果select语句无引用表,则也不允许使用MERGE算法。 如果不允许MERGE算法,mysql将算法更改为UNDEFINED。我们要注意,将视图定义中的输入查询和查询组合成一个查询称为视图分辨率

    • 使用TEMPTABLE算法,mysql首先根据定义视图的SELECT语句创建一个临时表,然后针对该临时表执行输入查询。因为mysql必须创建临时表来存储结果集并将数据从基表移动到临时表,所以TEMPTABLE算法的效率比MERGE算法效率低。 另外,使用TEMPTABLE算法的视图是不可更新的。

    • 当我们创建视图而不指定显式算法时,UNDEFINED是默认算法。 UNDEFINED算法使mysql可以选择使用MERGETEMPTABLE算法。mysql优先使用MERGE算法进行TEMPTABLE算法,因为MERGE算法效率更高。

    然后就是view后面的词组了,它就是名称的意思,在数据库中,视图和表共享相同的命名空间,因此视图和表不能具有相同的名称。 另外,视图的名称必须遵循表的命名规则。

    最后就是SELECT语句了。在SELECT语句中,可以从数据库中存在的任何表或视图查询数据,同时SELECT语句必须遵循以下几个规则:

    • SELECT语句可以在where 语句中包含子查询,但FROM子句中的不能包含子查询。
    • SELECT语句不能引用任何变量,包括局部变量,用户变量和会话变量。
    • SELECT语句不能引用准备语句的参数。

    在这里我们得稍稍注意下,SELECT语句不需要引用任何表。完事呢,我们来尝试基于orderDetails表来创建一个表示每个订单的总销售额的视图:

    CREATE VIEW SalePerOrder AS
        SELECT 
            orderNumber, SUM(quantityOrdered * priceEach) total
        FROM
            orderDetails
        GROUP by orderNumber
        ORDER BY total DESC;
    

    我们如果使用SHOW TABLES命令来查看示例数据库(yiibaidb)中的所有表,还会看到SalesPerOrder视图也显示在表的列表中:

    mysql> SHOW TABLES;
    +--------------------+
    | Tables_in_yiibaidb |
    +--------------------+
    | article_tags       |
    | contacts           |
    | customers          |
    | departments        |
    | employees          |
    | offices            |
    | offices_bk         |
    | offices_usa        |
    | orderdetails       |
    | orders             |
    | payments           |
    | productlines       |
    | products           |
    | saleperorder       |
    +--------------------+
    14 rows in set

    这是因为视图和表共享相同的命名空间。要知道哪个对象是视图或表,就得使用SHOW FULL TABLES命令,如下所示:

    mysql> SHOW FULL TABLES;
    +--------------------+------------+
    | Tables_in_yiibaidb | Table_type |
    +--------------------+------------+
    | article_tags       | BASE TABLE |
    | contacts           | BASE TABLE |
    | customers          | BASE TABLE |
    | departments        | BASE TABLE |
    | employees          | BASE TABLE |
    | offices            | BASE TABLE |
    | offices_bk         | BASE TABLE |
    | offices_usa        | BASE TABLE |
    | orderdetails       | BASE TABLE |
    | orders             | BASE TABLE |
    | payments           | BASE TABLE |
    | productlines       | BASE TABLE |
    | products           | BASE TABLE |
    | saleperorder       | VIEW       |
    +--------------------+------------+
    14 rows in set

    结果集中的table_type列指定哪个对象是视图,哪个对象是一个表(基表)。如上所示,saleperorder对应table_type列的值为:VIEW。然而,如果要查询每个销售订单的总销售额,只需要对SalePerOrder视图执行一个简单的SELECT语句,如下所示:

    SELECT 
        *
    FROM
        salePerOrder;
    

    执行上面查询语句,得到以下结果:

    +-------------+----------+
    | orderNumber | total    |
    +-------------+----------+
    |       10165 | 67392.85 |
    |       10287 | 61402.00 |
    |       10310 | 61234.67 |
    |       10212 | 59830.55 |
    |-- 此处省略了many many数据-- |
    |       10116 | 1627.56  |
    |       10158 | 1491.38  |
    |       10144 | 1128.20  |
    |       10408 | 615.45   |
    +-------------+----------+
    327 rows in set
    

    我们再来基于另一个视图创建一个视图,比如,根据SalesPerOrder视图创建名为大销售订单(BigSalesOrder)的视图,以显示总计大于60,000的每个销售订单,如下所示:

    CREATE VIEW BigSalesOrder AS
        SELECT 
            orderNumber, ROUND(total,2) as total
        FROM
            saleperorder
        WHERE
            total > 60000;
    

    现在,我们可以从BigSalesOrder视图查询数据,如下所示:

    SELECT 
        orderNumber, total
    FROM
        BigSalesOrder;
    

    执行上面查询语句,得到以下结果:

    +-------------+----------+
    | orderNumber | total    |
    +-------------+----------+
    |       10165 | 67392.85 |
    |       10287 | 61402.00 |
    |       10310 | 61234.67 |
    +-------------+----------+
    3 rows in set
    

    完事我们再来尝试使用inner join创建包含客户编号和客户支付的总金额的视图,如下所示:

    CREATE VIEW customerOrders AS
        SELECT 
            c.customerNumber,
            p.amount
        FROM
            customers c
                INNER JOIN
            payments p ON p.customerNumber = c.customerNumber
        GROUP BY c.customerNumber
        ORDER BY p.amount DESC;
    

    我们使用下面的sql来查询customerOrders视图中的数据:

    +----------------+-----------+
    | customerNumber | amount    |
    +----------------+-----------+
    |            124 | 101244.59 |
    |            321 | 85559.12  |
    |            239 | 80375.24  |
    | **** 此处省略了many many数据 ***|
    |            219 | 3452.75   |
    |            216 | 3101.4    |
    |            161 | 2434.25   |
    |            172 | 1960.8    |
    +----------------+-----------+
    98 rows in set

    再来尝试使用子查询创建包含价格高于所有产品的平均价格的产品的视图,如下所示:

    CREATE VIEW aboveAvgProducts AS
        SELECT 
            productCode, productName, buyPrice
        FROM
            products
        WHERE
            buyPrice > 
     (SELECT 
                    AVG(buyPrice)
                FROM
                    products)
        ORDER BY buyPrice DESC;
    

    我们来查询aboveAvgProducts视图的数据:

    SELECT 
        *
    FROM
        aboveAvgProducts;
    

    执行上面查询语句,得到以下结果:

    +-------------+-----------------------------------------+----------+
    | productCode | productName                             | buyPrice |
    +-------------+-----------------------------------------+----------+
    | S10_4962    | 1962 LanciaA Delta 16V                  | 103.42   |
    | S18_2238    | 1998 Chrysler Plymouth Prowler          | 101.51   |
    | S10_1949    | 1952 Alpine Renault 1300                | 98.58    |
    |************* 此处省略了many many数据 *********************************|
    | S18_3320    | 1917 Maxwell Touring Car                | 57.54    |
    | S24_4258    | 1936 Chrysler Airflow                   | 57.46    |
    | S18_3233    | 1985 Toyota Supra                       | 57.01    |
    | S18_2870    | 1999 Indy 500 Monte Carlo SS            | 56.76    |
    | S32_4485    | 1974 Ducati 350 Mk3 Desmo               | 56.13    |
    | S12_4473    | 1957 Chevy Pickup                       | 55.7     |
    | S700_3167   | F/A 18 Hornet 1/72                      | 54.4     |
    +-------------+-----------------------------------------+----------+
    54 rows in set
    

    好啦,到这里了,视图的创建和使用已经介绍的差不多了。但是,视图就没有什么使用的限制么?答案当然是有的,我们来分别看下。

    首先,我们不能在视图上创建索引,再来就是当使用合并算法的视图查询数据时,mysql会使用底层表的索引,还有就是对于使用诱惑算法的视图,当我们针对视图查询数据时,不会使用索引。

    还有就是要注意在mysql5.7.7之前版本,是不能在SELECT语句的FROM子句中使用子查询来定义视图的。

    再来就是如果删除或重命名视图所基于的表,则mysql不会发出任何错误。但是,mysql会使视图无效,我们可以使用CHECK TABLE语句来检查视图是否有效。

    一个简单的视图可以更新表中数据,但是基于具有连接,子查询等的复杂select语句创建的视图无法更新。

    mysql不像Oracle、PostgreSQL等其他数据库系统那样支持物理视图,mysql是不支持物理视图的。

    好啦,关于视图本次就记录到这里了。

    如果感觉不错的话,请多多点赞支持哦。。。

    展开全文
  • 使用CREATE VIEW创建视图

    千次阅读 2012-05-26 20:02:35
    13.1 使用CREATE VIEW创建视图(2) 代码13-2 创建视图列出那些居住在有出版社的城市的作者。注意视图使用了列名au_city和pub_city。重命名这些列避免了两列从基础表继承相同的列名city CREATE VIEW cities ...

    13.1 使用CREATE VIEW创建视图(2)

    代码13-2 创建视图列出那些居住在有出版社的城市的作者。注意视图使用了列名au_city和pub_city。重命名这些列避免了两列从基础表继承相同的列名city

    1. CREATE VIEW cities  
    2.   (au_id, au_city, pub_id, pub_city)  
    3.   AS 
    4.   SELECT a.au_id, a.city, p.pub_id, p.city  
    5.     FROM authors a  
    6.     INNER JOIN publishers p  
    7.       ON a.city = p.city; 

    代码13-3 创建视图,按某一出版社图书的不同类型列出总收入(=价格×销量)。因为对数学表达式显式命名而不是让DBMS分配默认名,这个视图在以后会很容易查询

    1. CREATE VIEW revenues  
    2.   (Publisher, BookType, Revenue)  
    3.   AS 
    4.   SELECT pub_id, type, SUM(price * sales)  
    5.     FROM titles  
    6.     GROUP BY pub_id, type; 

    代码13-4 为使打印作者邮寄标签变得容易而创建视图。注意程序在SELECT子句中而不是CREATE VIEW子句中指定列名

    1. CREATE VIEW mailing_labels  
    2.   AS 
    3.   SELECT 
    4.       TRIM(au_fname || ' ' || au_lname)  
    5.         AS 'address1',  
    6.       TRIM(address)  
    7.         AS 'address2',  
    8.       TRIM(city) || ', ' || TRIM(state) ||  
    9.         ' ' || TRIM(zip)  
    10.         AS 'address3' 
    11.     FROM authors; 

    代码13-5 创建列出作者A02和A05的姓及两个人所写(或合写)图书的视图。注意这个语句使用了嵌套视图,它引用代码13-1创建的视图au_names。

    1. CREATE VIEW au_titles (LastName, Title)  
    2.   AS 
    3.   SELECT an.au_lname, t.title_name  
    4.     FROM title_authors ta  
    5.     INNER JOIN au_names an  
    6.       ON ta.au_id = an.au_id  
    7.     INNER JOIN titles t  
    8.       ON t.title_id = ta.title_id  
    9.     WHERE an.au_id in ('A02','A05'); 

    '提示

    不能创建临时视图。视图和临时表的持久性是不同的。视图存在于SQL语句的生存期,临时表存在于进程的生存期,参见11.10节。

    标准SQL没有ALTER VIEW语句。如果在视图创建之后,基础表或视图发生了改变,就要删除并重建这个视图。然而,Microsoft SQL Server、Oracle、DB2、MySQL和PostgreSQL都支持非标准的ALTER VIEW语句。

    在Microsoft Access中运行CREATE VIEW语句时,视图将作为一个查询对象出现在数据库窗口。为了运行代码13-4,将每个||变为+,参见5.4节的DBMS提示。为了运行代码13-5,输入:

    1. CREATE VIEW au_titles  
    2.   (LastName, Title)  
    3.   AS 
    4.   SELECT an.au_lname, t.title_name  
    5.     FROM au_names an  
    6.     INNER JOIN (titles t  
    7.     INNER JOIN title_authors ta  
    8.       ON t.title_id = ta.title_id)  
    9.       ON an.au_id = ta.au_id  
    10.     WHERE an.au_id IN ('A02','A05'); 

    为了在Microsoft SQL Server中运行代码13-1至代码13-5,要删除每个语句的结束分号。另外,为了运行代码13-4,要将每一个||变为+,将每一个TRIM(x)变为LTRIM(RTRIM(x)),参见5.4节和5.7节中的DBMS提示。

    为了在Oracle 8i和之前的版本运行代码13-2和代码13-5,要使用WHERE语法而不是JOIN语法。对于代码13-2输入:

    1. CREATE VIEW cities  
    2.   (au_id, au_city, pub_id, pub_city)  
    3.   AS 
    4.   SELECT a.au_id, a.city,  
    5.       p.pub_id, p.city  
    6.     FROM authors a, publishers p  
    7.     WHERE a.city = p.city; 

    对于代码13-5:

    1. CREATE VIEW au_titles  
    2.   (LastName, Title)  
    3.   AS 
    4.   SELECT an.au_lname, t.title_name  
    5.     FROM title_authors ta,  
    6.       au_names an, titles t  
    7.     WHERE ta.au_id = an.au_id  
    8.       AND t.title_id = ta.title_id  
    9.       AND an.au_id in ('A02','A05'); 

    为了在DB2中运行代码13-4,应将所有TRIM(x)变为LTRIM(RTRIM(x)),参见5.7节的DBMS提示。

    为了在MySQL中运行代码13-4,应使用CONCAT()函数而不是联接操作符||,参见5.4节的DBMS提示。MySQL 5.0和之后版本支持视图,之前版本不能运行本节的代码。(为了在之前版本隐藏数据,可使用MySQL的权限系统来限制列的访问。)

    在Microsoft SQL Server、Oracle、DB2、MySQL和PostgreSQL中,创建视图时可以加入可选的WITH [CASCADED | LOCAL] CHECK OPTION子句。这个子句只用于可修改的视图,并确保只有能够被视图读取的数据可以被插入、更新或删除,参见13.3节。如果视图显示来自纽约州的作者,就不可能通过视图插入、更新或删除非纽约州的作者。CASCADED和LOCAL选项只能用于嵌套视图。CASCADED执行对当前视图和所有引用视图的检查。LOCAL只执行对当前视图的检查。

    展开全文
  • PostgreSQL创建视图

    千次阅读 2020-06-28 18:24:03
    在PostgreSQL中,视图(VIEW)是一个伪表。 它不是物理表,而是作为普通表选择查询。视图也可以表示连接的...可以使用CREATE VIEW语句来在PostgreSQL中创建视图。 您可以从单个表,多个表以及另一个视图创建它。 语法 CR
  • MySQL——创建视图

    千次阅读 2018-05-16 20:05:04
     查看用户是否具有创建视图的权限 创建视图需要具有 CREATE VIEW 的权限,同时应该具有查询涉及的列的 SELECT 权限。可以使用 SELECT 语句来查询这些权限信息,查询语法如下: SELECT Select_priv, Create...
  • 数据库创建视图

    千次阅读 2018-05-14 13:29:56
    创建视图:create view 数据库名 (拥有者)视图名(列名)with encryption,schemabinding,view_metadataas select 语句with check optionwith encryption 用于加密create view脚本schemabinding 将视图绑定基本表...
  • 创建视图 创建数据库视图的方式:选中库,右键,点击命令列界面,输入下方的视图脚本 创建案件的视图CREATEVIEW `视图名称`AS select id,colum1,colum2,colum3,colum4,colum5from test; 添加一个可以查...
  • Oracle创建视图

    万次阅读 2018-09-28 20:40:05
    //创建一个视图(相当于创建一张虚拟的表) create or replace view view_aa as select title,author from t_forum a,t_forumtype b where a.forumid=b.forumtypeid; select * from view_aa; 视图的优点: 1.安全...
  • 语句:sp_helptext 视图表名 结果:
  • Mysql创建视图语法及其创建种类

    千次阅读 2018-01-11 14:55:20
    Mysql创建视图语法及其创建种类
  • 创建视图sql

    千次阅读 2019-04-15 18:46:00
    create view 视图名称 as 查询sql语句create view test2 as select * from sctest2 视图名称select * from sc 查询语句 转载于:https://www.cnblogs.com/liyunchuan/p/10712300.html...
  • sql server创建视图操作

    千次阅读 2016-07-05 13:55:32
    创建视图需要考虑一下准则:  # 视图名称必须遵循标识符的规则,该名称不得与该架构的如何表的名称相同  # 你可以对其他视图创建视图。允许嵌套视图,但嵌套不得超过32层。视图最多可以有1024个字段  # 不能...
  • Phoenix创建视图映射HBase已创建的表 前言 HBase版本:Version 1.2.0-cdh5.10.2 Phoenix版本:phoenix-4.9 网上翻了好多资料都没有搞定,这里记录一下 准备HBase 登陆HBase Shell ...
  • Mysql 开启视图权限与创建视图教程

    万次阅读 2017-08-09 19:56:45
    Mysql 开启视图权限与创建视图教程
  • SQL语句之数据库之创建视图

    千次阅读 2021-03-31 23:15:58
    MySQL之创建视图
  • 动态创建视图窗口

    千次阅读 2010-07-18 17:31:00
    但是程序需要根据实际情况来创建视图窗口,而不是在运行时就创建所有窗口。    这就需要动态创建视图      主要步骤如下:      (1) 创建单文档/视图结构应用程序    (2) 在工程中添加一个...
  • 2、创建视图(CREATE VIEW)

    千次阅读 2020-10-12 10:28:59
    可以使用 CREATE VIEW 语句来创建视图。 语法格式如下: CREATE VIEW <视图名> AS <SELECT语句> 语法说明如下。 <视图名>:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图...
  • Oracle跨用户创建视图

    千次阅读 2009-08-11 17:19:00
    create or replace View_nameselect * from B.Table1;A用户创建视图使用到B用户的表,提示权限不足;解决办法,B用户登录,执行命令grant select on B.Table1 to A;
  • oracle scott用户创建视图方法

    千次阅读 2013-03-15 17:08:40
    做Oracle的实验,需要导入导出视图,scott下没有视图,故需要创建。 若用scott直接创建,则显示“ORA-01031: 权限不足”,方法如下。 SQL> grant create view to scott; grant create view to scott * 第 1 行...
  • 如何在navicat for MySQL 创建视图

    千次阅读 2016-06-28 10:19:19
    navicat for MySQL 创建视图的步骤: 1.点击新建视图按钮 2.进入定义页面,点击sql预览,发现已经有一个"create view ‘NEWVIEW’ as",所以我们在“定义”界面只需要写查询语句即可 3.点击定义栏,写入需要查询...
  • 数据库如何创建视图create view

    千次阅读 2015-05-26 23:47:00
    数据库如何创建视图     创建视图的理想步骤: 一般来说,视图创建可以分为五步走: 第一步:先考虑select语句的编写。我们知道,视图其实就是一个select语句的集合,所以,我们建立视图的...
  • 转:... 1.使用create or replace view命令创建视图 语法格式: create or replace view 视图名 as select 查询子句 例子: create or replace viewtb_user_view1 as select count(...
  • T-SQL sqlServer 创建视图

    千次阅读 2016-10-17 17:59:24
    今天写了一个视图,用T-SQL形式创建,做个记录 if exists(select * from sysobjects where name='V_YEA_BUDGETBALANCE') drop view V_YEA_BUDGETBALANCE go create view V_YEA_BUDGETBALANCE as SELECT v.*,...
  • 数据库实验四 创建使用视图

    千次阅读 2021-06-05 13:34:55
    掌握使用Management studio和SQL命令进行视图创建、修改和删除。 掌握使用SQL命令视图访问数据。 2.实验内容 创建一个简单的视图,查询课程号101的不及格的学生信息。 修改简单视图,查询课程号107成绩...
  • 单独将SQL语句拉出来是可以正常创建视图的,但能过存储过程执行命令创建时,却提示“XXX对象名无效”。 在网上找了一下资料,大部分没什么参价值。但有一份资料却让我发出了此次的问题所在。 拼接的代码
  • SQLServer创建视图

    千次阅读 2013-09-03 14:25:59
    1、视图的理解 从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据 。从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表 。从数据库系统内部来看,视图是由一张或多张表中的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 205,177
精华内容 82,070
关键字:

创建视图需要使用命令