精华内容
下载资源
问答
  • sql创建一个view视图

    千次阅读 2019-07-18 17:40:03
    CREATE OR REPLACE VIEW post_user AS SELECT posts.* ,users."name" FROM posts left join users on posts.user_id = users.id

    CREATE OR REPLACE VIEW  post_user AS SELECT
    	posts.* ,users."name"
    FROM
    	posts
    left join users on posts.user_id = users.id

     

    展开全文
  • 创建一个简单的视图以及删除视图

    千次阅读 2019-03-16 16:11:39
    创建一个简单的视图: create [or replace] [{force|noforce}] view view_name as select 查询 [with read only constraint] 例子: create or replace view ones as select name,birthday,sex from one ...

    创建一个简单的视图:

    create [or replace] [{force|noforce}] view view_name

    as

    select 查询

    [with read only constraint]

     

    例子:

    create or replace view ones

    as

    select name,birthday,sex

    from one

    with read only

     

     

    关键字的解释说明:

    1、or replace:如果视图已经存在,则替换旧视图。

    2、Force:及时基表不存在,也可以创建该视图,但是该视图不能正常使用,当基表创建成功后,视图才能正常使用。

    3、Noforce:如果基表不存在,无法创建视图,该项是默认选项。

    4、With read only:默认可以通过视图对基表执行增删查改操作,但是有很多在基表上的限制(比如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执行insert操作),with read only 说明视图是只读视图,不能通过该视图进行增删查改操作。

     

    删除视图可以使用‘drop view 视图名称’,删除视图不会影响基本表的数据;

     

    create noforce view ones

    as

    select name,birthday,sex

    from one

    with read only

    更改视图中数据:

    update ones

    set name='张敏'

    where name='张雯敏'

    删除视图:

    drop view ones

    展开全文
  • 数据库中存在多种对象,表和视图都是数据库中的对象,创建视图时名称不能和表明重名,视图实际上是代表了段sql查询语句,可以理解成视图是一张虚拟的表,表中的数据会随着原表的改变而改变。 为什么使用视图? ...

    什么是视图?
    数据库中存在多种对象,表和视图都是数据库中的对象,创建视图时名称不能和表明重名,视图实际上是代表了一段sql查询语句,可以理解成视图是一张虚拟的表,表中的数据会随着原表的改变而改变。
    为什么使用视图?
    因为有些数据的查询需要书写大量的sql语句,每次书写较麻烦,使用视图可以起到sql重用的作用,可以隐藏敏感信息。
    如何创建一个视图?
    create view 视图名 as 子查询;
    视图的分类?
    1.简单视图
    创建视图的子查询中不包含,去重,函数,分组,关联查询的视图为简单视图,可以进行增删改查操作。
    2.复杂视图
    创建视图的子查询中包括,去重… 和简单视图相反

    展开全文
  • 数据库创建一个视图视图有生命周期吗 还是说创建完成以后 以后可以随时用
  • mysql视图创建可更新视图

    千次阅读 2018-07-12 16:13:36
    我们知道,在mysql中,视图不仅是可查询的,而且是可...但是,要创建可更新视图,定义视图的select语句不能包含以下任何元素:聚合函数,如:min,max,sum,avg,count等。DISTINCT子句GROUP BY子句HAVING子句左连...

    我们知道,在mysql中,视图不仅是可查询的,而且是可更新的。这意味着我们可以使用insert或update语句通过可更新视图插入或更新基表的行。 另外,我们还可以使用delete语句通过视图删除底层表的行。但是,要创建可更新视图,定义视图的select语句不能包含以下任何元素:

    • 聚合函数,如:min,max,sum,avg,count等。
    • DISTINCT子句
    • GROUP BY子句
    • HAVING子句
    • 左连接或外连接。
    • UNION或UNION ALL子句
    • SELECT子句中的子查询或引用该表的where子句中的子查询出现在FROM子句中。
    • 引用FROM子句中的不可更新视图
    • 仅引用文字值
    • 对基表的任何列的多次引用

    我们如果使用temptable算法创建视图,则无法更新视图,不过有时可以使用内部连接创建基于多个表的可更新视图。废话不多说,让我们先来看看如何创建一个可更新的视图。我们先来尝试基于offices表创建一个名为officeInfo的视图,它指的是offices表中的三列:officeCodephonecity

    CREATE VIEW officeInfo
     AS 
       SELECT officeCode, phone, city
       FROM offices;
    

    接下来,使用以下语句从officeInfo视图中查询数据:

    SELECT 
        *
    FROM
        officeInfo;
    

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

    mysql> SELECT * FROM officeInfo;
    +------------+------------------+---------------+
    | officeCode | phone            | city          |
    +------------+------------------+---------------+
    | 1          | +1 650 219 4782  | San Francisco |
    | 2          | +1 215 837 0825  | Boston        |
    | 3          | +1 212 555 3000  | NYC           |
    | 4          | +33 14 723 4404  | Paris         |
    | 5          | +86 33 224 5000  | Beijing       |
    | 6          | +61 2 9264 2451  | Sydney        |
    | 7          | +44 20 7877 2041 | London        |
    +------------+------------------+---------------+
    7 rows in set

    然后,使用以下update语句通过officeInfo视图更改officeCode的值为:4的办公室电话号码:

    UPDATE officeInfo 
    SET 
        phone = '+86 089866668888'
    WHERE
        officeCode = 4;
    

    最后,验证更改结果,通过执行以下查询来查询officeInfo视图中的数据:

    mysql> SELECT 
        *
    FROM
        officeInfo
    WHERE
        officeCode = 4;
    
    +------------+------------------+-------+
    | officeCode | phone            | city  |
    +------------+------------------+-------+
    | 4          | +86 089866668888 | Paris |
    +------------+------------------+-------+
    1 row in set

    完事我们可以通过从information_schema数据库中的views表查询is_updatable列来检查数据库中的视图是否可更新,比如,我们来查询luyaran数据库获取所有视图,并显示哪些视图是可更新的:

    SELECT 
        table_name, is_updatable
    FROM
        information_schema.views
    WHERE
        table_schema = 'luyaran';
    

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

    +------------------+--------------+
    | table_name       | is_updatable |
    +------------------+--------------+
    | aboveavgproducts | YES          |
    | bigsalesorder    | YES          |
    | customerorders   | NO           |
    | officeinfo       | YES          |
    | saleperorder     | NO           |
    +------------------+--------------+
    5 rows in set
    

    我们再来尝试通过视图删除行,首先,创建一个名为items的表,在items表中插入一些行,并创建一个查询包含价格大于700的项的视图:

    USE testdb;
    -- create a new table named items
    CREATE TABLE items (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(100) NOT NULL,
        price DECIMAL(11 , 2 ) NOT NULL
    );
    
    -- insert data into the items table
    INSERT INTO items(name,price) 
    VALUES('Laptop',700.56),('Desktop',699.99),('iPad',700.50) ;
    
    -- create a view based on items table
    CREATE VIEW LuxuryItems AS
        SELECT 
            *
        FROM
            items
        WHERE
            price > 700;
    -- query data from the LuxuryItems view
    SELECT 
        *
    FROM
        LuxuryItems;
    

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

    +----+--------+--------+
    | id | name   | price  |
    +----+--------+--------+
    |  1 | Laptop | 700.56 |
    |  3 | iPad   | 700.5  |
    +----+--------+--------+
    2 rows in set

    完事使用DELETE语句来删除id3的行:

    DELETE FROM LuxuryItems 
    WHERE
        id = 3;
    

    mysql返回一条消息,表示有1行受到影响:

    Query OK, 1 row affected

    我们来再次通过视图检查数据:

    mysql> SELECT * FROM LuxuryItems;
    +----+--------+--------+
    | id | name   | price  |
    +----+--------+--------+
    |  1 | Laptop | 700.56 |
    +----+--------+--------+
    1 row in set

    我们还可以从基表items查询数据,以验证DELETE语句是否实际删除了该行:

    mysql> SELECT  * FROM items;
    +----+---------+--------+
    | id | name    | price  |
    +----+---------+--------+
    |  1 | Laptop  | 700.56 |
    |  2 | Desktop | 699.99 |
    +----+---------+--------+
    2 rows in set

    我们可以看到,ID3的行在基表中被删除。

    好啦,本次记录就到这里了。

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

    展开全文
  • Oracle创建只读模式视图

    千次阅读 2019-11-26 13:40:05
    oracle在创建视图view的时候后面加上 read only 的视图为只读视图。 create view v2_emp as select * from emp with read only;
  • MySQL创建视图语法,MySQL视图的作用

    千次阅读 2019-10-01 14:32:22
    MySQL创建视图语法,MySQL视图的作用 、语法 1、 MySQL创建视图语法如下: CREATE VIEW view_name AS SELECT * FROM table_name ; 2、view_name:必填,唯一不可重复。 3、调用视图: SELECT * FROM ...
  • 1、语句 CREATE VIEW dev.coupon_saler_jiabao_2 ( a COMMENT '字段1名称', ... COMMENT '视图名称'AS SELECT a, b, c FROM dev.coupon_saler_jiabao3a; 2、查看效果 DESC dev.coupon_saler_jiabao_2 ...
  • 1.创建用户//<1> 以sysdba管理员登录创建用户smart/smart sqlplus /nolog conn /as sysdba; create user smart identified by smart;//<2> 查看所有的用户列表(查看用户是否创建成功) select * from all_users;2...
  • 视图的含义及创建只读关系视图

    千次阅读 2019-09-03 11:18:53
    (修改视图的数据就是修改来源表的数据,一般不提倡修改视图的数据,因此创建时可以使用with read only关键字创建只读视图) CREATE OR REPLACE VIEW view_emp_dept AS SELECT d.deptname, e.name, ...
  • 数据库实验四 创建和使用视图

    千次阅读 2021-06-05 13:34:55
    实验四 创建和使用视图 1.实验目的 掌握使用Management studio和SQL命令进行视图创建、修改和删除。 掌握使用SQL命令对视图访问数据。 2.实验内容 ... 创建一个复杂视图,查询与“俞奇军”住在同一..
  • MySQL数据库视图:视图定义、创建视图、修改视图

    万次阅读 多人点赞 2017-03-20 11:54:15
    视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。视图不直接存储数据,不知真正的表。 关系型数据库中的数据是由一张一张的二维关系表所组成,简单的单表查询只需要遍历一个表,而复杂的多表查询...
  • SQL Server 数据库 视图创建

    千次阅读 2019-08-14 16:32:05
    SQL Server 创建视图 视图简介: 视图可以看作定义在SQL Server上的虚拟表。视图正如其名字的含义一样,是另种查看数据的入口。 常规视图本身并不存储实际的数据,而仅仅是由SELECT语句组成的查询定义的虚拟表 。...
  • MySQL创建视图及多表视图

    千次阅读 2020-09-25 14:02:02
    MySQL视图(View)是种虚拟的表,同真实的表一样,拥有相同的行和列 ,但视图并不实际存在于数据库中,而是在你使用的时候去动态的查询表,view的行和列都是基于你使用view的时候动态的去...基于单表创建视图 #创建学生表
  • PostgreSQL创建视图

    千次阅读 2020-06-28 18:24:03
    在PostgreSQL中,视图(VIEW)是一个伪表。 它不是物理表,而是作为普通表选择查询。视图也可以表示连接的表。 它可以包含表的所有行或来自一个或多个表的所选行。 视图便于用户执行以下操作: 它以自然和直观的方式...
  • 创建视图SQL:在SQL Server中创建视图

    千次阅读 2020-07-17 13:42:32
    可以通过说出CREATE VIEW后跟一个具有WITH视图属性的名称来创建视图: ENCRYPTION – Using this attribute prevents the view from being published as part of SQL Server replication 加密 –使用此属性可防止...
  • 数据库创建视图

    千次阅读 2018-05-14 13:29:56
    创建视图:create view 数据库名 (拥有者)视图名(列名)with encryption,schemabinding,view_metadataas select 语句with check optionwith encryption 用于加密create view脚本schemabinding 将视图绑定基本表...
  • 数据库视图创建

    千次阅读 2018-05-15 09:52:58
    (1) 新建一个视图V1记录1990年出生的女生信息,包括学号,姓名,性别,出生日期,并且要求透过该视图进行的更新操作只涉及1990年出生的女生。视图创建代码: MySQL低版本乱码问题参见: SHOW VARIABLES LIKE ...
  • Mysql 视图基础和动态创建视图

    千次阅读 2019-01-31 16:58:52
    视图的定义: 视图(View)是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的。视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的...一个复杂的查询创...
  • 我现在需要创建一个视图A,视图里面是三个视图BCD,根据一个页面传来的值判断不同的值查询不同的视图,这个值不少表中的字段。语法该怎么写?大神们帮帮忙啊!!
  • 使用mysql client进入mysql 第一行输入数据库 root的密码 输入use mysql; 创建视图 ... 创建案件的视图CREATEVIEW `视图名称`AS select id,colum1,colum2,colum3,colum4,colum5from test; ... 添加一个可以查...
  • mysql创建及查看视图等操作

    千次阅读 2019-12-12 12:57:13
    # 创建视图 CREATE VIEW ab AS SELECT * FROM data_0925_01 limit 10 select * from information_schema.views #查询所有的视图 show tables #可查看所有的视图和表 select * from information_schema....
  • 创建视图在单表上创建视图在多表上创建视图
  • 如何在SQL Server中创建视图

    千次阅读 2020-07-25 22:30:11
    In the following example, we will achieve this idea: 在上一个示例中,我们为单个表创建一个视图,但是我们也可以为联接的多个表创建一个视图。 在以下示例中,我们将实现此想法: CREATE VIEW ...
  • 创建视图 视图包含应用的 HTML 代码,并将应用的控制器逻辑和表现逻辑进行分离。视图文件存放在 resources/views 目录中。下面是一个简单的视图示例: &lt;!-- resources/views/greeting.blade.php 视图文件 ...
  • mysql视图之创建视图(CREATE VIEW)和使用限制

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

    千次阅读 2020-10-12 10:28:59
    创建视图是指在已经存在的 MySQL 数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。 基本语法 ...:指定创建视图的 SELECT 语句,可用于查询多基础表或源视图。 对于创建视图中的 S
  • Oracle中创建视图

    万次阅读 2018-07-17 16:14:34
     视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表。  视图是存储在数据字典里的一条select语句。 通过创建视图可以提取数据的逻辑上的...
  • 1.create user A identified by password,创建用户,用户名是A,密码是password create user USER_JWFZ identified by JWFZ2017; 2.grant connect to A --授予connect权限 grant connect to USER_JWFZ ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 768,458
精华内容 307,383
关键字:

如何创建一个视图