精华内容
下载资源
问答
  • MySQL从5.0.1版本开始提供视图的功能,本次博客就来介绍一下视图,本次博客基于的版本是mysql-5.7.19。什么是视图视图(view)是一种虚拟存在的表,视图可以理解为是一个容器,表通过条件查询之后,将查询后的结果放...

    MySQL从5.0.1版本开始提供视图的功能,本次博客就来介绍一下视图,本次博客基于的版本是mysql-5.7.19。

    什么是视图?

    视图(view)是一种虚拟存在的表,视图可以理解为是一个容器,表通过条件查询之后,将查询后的结果放入这个容器内,然后给容器命名后即为视图。

    视图相对于表的优势:

    1.简单,使用视图的用户不必关系后面的表,只需要使用过滤好的内容就行了;

    2.安全,因为对表的全新不能限制到表的行或者是列,所以可以通过视图来限制用户对表的访问权限;

    3.数据独立,确定了视图的结构之后,如果给原来的表增加了列,并不会影响视图,增加行,视图的相对于的行也会增加,如果源表的列名称发生了改变,可以通过修改视图来解决。

    创建和查看视图

    语法:

    CREATE VIEW view_name AS sql

    现在有表如下:

    mysql> select * fromuserinfo;+----+----------+--------+

    | id | username | passwd |

    +----+----------+--------+

    | 1 | alex | 123 |

    | 2 | frank | 123 |

    | 3 | rose | 312 |

    | 4 | tom | qqq |

    | 5 | jack | qwer |

    +----+----------+--------+

    5 rows in set (0.00 sec)

    来创建视图:

    mysql> create view user_view as select username fromuserinfo;

    Query OK,0 rows affected (0.01 sec)

    show tables 命令不仅可以显示表的名字,也可以显示视图的名字:

    mysql>show tables;+---------------+

    | Tables_in_db2 |

    +---------------+

    | user_view |

    | userinfo |

    +---------------+

    2 rows in set (0.00 sec)

    可以通过一下命令显示视图的信息:

    mysql> show table status like 'user_view'\G;*************************** 1. row ***************************Name: user_view

    Engine:NULLVersion:NULLRow_format:NULLRows:NULLAvg_row_length:NULLData_length:NULLMax_data_length:NULLIndex_length:NULLData_free:NULLAuto_increment:NULLCreate_time:NULLUpdate_time:NULLCheck_time:NULLCollation:NULLChecksum:NULLCreate_options:NULLComment:VIEW

    1 row in set (0.00sec)

    ERROR:

    No query specified

    如果想要查看某个视图的定义,也可以使用如下命令查看:

    mysql> show create viewuser_view \G;*************************** 1. row ***************************

    View: user_viewCreate View: CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `user_view` AS select `userinfo`.`username` AS `username` from`userinfo`

    character_set_client: utf8

    collation_connection: utf8_general_ci1 row in set (0.00sec)

    ERROR:

    No query specified

    修改视图

    先来看这个例子:

    查看视图user_view的内容:

    mysql> select * fromuser_view;+----------+

    | username |

    +----------+

    | alex |

    | frank |

    | rose |

    | tom |

    | jack |

    +----------+

    5 rows in set (0.00 sec)

    在原表里面插入行:

    mysql> insert into userinfo(username,passwd) values('coco','123');

    Query OK,1 row affected (0.00sec)

    mysql> select * fromuser_view;+----------+

    | username |

    +----------+

    | alex |

    | frank |

    | rose |

    | tom |

    | jack |

    | coco |

    +----------+

    6 rows in set (0.00 sec)

    说明视图是可以被原始表更新的。

    如果现在把原表的username列的名称改为uname,那么user_view视图的就会出错了,这个时候就需要修改视图了。

    mysql> alter table userinfo change username uname varchar(20);

    Query OK,0 rows affected (0.01sec)

    Records:0 Duplicates: 0 Warnings: 0

    修改视图的语法如下:

    ALTER VIEW view_name AS sql

    修改视图user_view而且增加了id列:

    mysql> alter view user_view as select id,uname fromuserinfo;

    Query OK,0 rows affected (0.01sec)

    mysql> select * fromuser_view;+----+-------+

    | id | uname |

    +----+-------+

    | 1 | alex |

    | 2 | frank |

    | 3 | rose |

    | 4 | tom |

    | 5 | jack |

    | 6 | coco |

    | 7 | saber |

    +----+-------+

    7 rows in set (0.00 sec)

    那么视图的数据是否可以修改呢?视图数据修改后是否会影响原表呢?下面通过一个例子看一下:

    mysql> update user_view set uname='lancer' where id=7;

    Query OK,1 row affected (0.00sec)

    Rows matched:1 Changed: 1 Warnings: 0mysql> select * fromuser_view;+----+--------+

    | id | uname |

    +----+--------+

    | 1 | alex |

    | 2 | frank |

    | 3 | rose |

    | 4 | tom |

    | 5 | jack |

    | 6 | coco |

    | 7 | lancer |

    +----+--------+

    7 rows in set (0.00sec)

    mysql> select * fromuserinfo;+----+--------+--------+

    | id | uname | passwd |

    +----+--------+--------+

    | 1 | alex | 123 |

    | 2 | frank | 123 |

    | 3 | rose | 312 |

    | 4 | tom | qqq |

    | 5 | jack | qwer |

    | 6 | coco | 123 |

    | 7 | lancer | 123 |

    +----+--------+--------+

    7 rows in set (0.00 sec)

    通过以上例子说明。修改视图中的数据是可行的而且原表中的数据也会被改变。

    删除视图

    用户可以一次性的删除一个或者多个视图,语法如下:

    DROP VIEW view_name1.view_name2...

    来看下面的例子:

    mysql>show tables;+---------------+

    | Tables_in_db2 |

    +---------------+

    | passwd_view1 |

    | passwd_view2 |

    | user_view_2 |

    | userinfo |

    +---------------+

    4 rows in set (0.00sec)

    mysql> drop viewpasswd_view1;

    Query OK,0 rows affected (0.00sec)

    mysql>show tables;+---------------+

    | Tables_in_db2 |

    +---------------+

    | passwd_view2 |

    | user_view_2 |

    | userinfo |

    +---------------+

    3 rows in set (0.00 sec)

    使用pymysql操作视图

    操作视图其实和操作表是一样的,来看例子:

    import pymysql

    config={

    "host":"127.0.0.1",

    "user":"root",

    "password":"LBLB1212@@",

    "database":"db2",

    "charset":"utf8"

    }

    db= pymysql.connect(**config)with db.cursor(cursor=pymysql.cursors.DictCursor) as cursor:

    sql="SELECT * FROMpasswd_view2"cursor.execute(sql)

    res= cursor.fetchall()print(res)cursor.close()

    db.close()

    #运行结果[{'uname': 'alex', 'passwd': '123'}, {'uname': 'frank', 'passwd': '123'}, {'uname': 'coco', 'passwd': '123'}, {'uname': 'lancer', 'passwd': '123'}]

    0b1331709591d260c1c78e86d0c51c18.png

    展开全文
  • 在线QQ客服:1922638专业的SQL Server、MySQL数据库同步软件??视图是一个虚拟表,对于使用该视图的用户基本上是透明的。该视图实际上不存在于数据库中,行和列数据来自定义该视图的查询所使用的表,并且在使用该...

    bc3f9276acf88283a0569b9b9ef9ee92.png

    在线QQ客服:1922638

    专业的SQL Server、MySQL数据库同步软件

    视图是一个虚拟表,对于使用该视图的用户基本上是透明的。该视图实际上不存在于数据库中,行和列数据来自定义该视图的查询所使用的表,并且在使用该视图时动态生成。

    简单:使用视图的用户完全不需要关系背后的相应表结构,关联条件和过滤条件。对于用户而言,它已经是经过过滤且合格的结果集。

    安全:使用该视图的用户只能访问其允许的结果集,并且表的权限管理不能限于特定的行某一列,但可以通过视图轻松实现。

    数据独立性:一旦确定了视图的结构,就可以屏蔽表结构更改对用户的影响,并添加列到源表对视图没有影响;修改源表的列名,可以通过修改视图来解决,不会对访问者造成影响。

    创建[或替换]视图?视图名称(第1栏,第2列…)

    AS SELECT(第1栏,第2列……)

    FROM…;

    [与[级联|局部] [检查选项]

    创建还是替换视图?查看名称?从[…]选择[…];

    [与[CASCADED |局部] [检查选项]

    显示表格;

    desc?视图名称

    显示创建视图吗?视图名称\\\\ G

    插入?视图名称

    更新?视图名称

    [与[级联| LOCAL]检查选项]?确定是否允许更新的数据记录可能不再满足视图条件。

    只要满足此视图的条件,就可以更新本地

    级联必须满足要更新的所有视图视图的所有条件,默认值为级联。

    为了防止数据由于视图修改而丢失,建议添加WITH CHECK OPTION

    视图的可更新性相关视图中查询的定义。以下类型的视图不可更新。

    1。 包含以下关键字 sql 语句:聚合函数( sum,最小,最大,计数 等) 或 全部合并。

    2. 始终显示。

    3.select 包含子查询。

    4.jion

    5.from 无法更新的视图

    6.where 句子的子查询引用 来自 句子表

    放置视图?视图名称

    注意:

    1.可以通过视图Data插入,但只能基于基本表插入,不能在整个表中更新数据

    2.视图不是表,不保存数据,只是一个虚拟表,在源表中的数据更改后,视图的结果也同步更改

    3.在正常情况下,创建受限视图时,添加” WITH CHECK OPTION”命令。

    展开全文
  • 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 [OR REPLACE] [ALGORITHM = {U...

    §创建视图

    在MySQL中,创建视图的完整语法如下:

    CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
        VIEW view_name [(column_list)]
        AS select_statement
        [WITH [CASCADED | LOCAL] CHECK OPTION]

    其对应的语法变量信息如下:

    [OR REPLACE]
    中括号中的 OR REPLACE关键字是可选的。如果当前数据库中已经存在指定名称的视图时,没有该关键字,将会提示错误信息;如果使用了 OR REPLACE关键字,则当前正在创建的视图会覆盖掉原来同名的视图。
    [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
    ALGORITHM子句是可选的,它表示使用何种算法来处理视图。此外,它并不属于标准SQL的一部分,而是MySQL对标准SQL进行的功能扩展。 ALGORITHM可以设置三个值: MERGETEMPTABLEUNDEFINED。如果没有 ALGORITHM子句,则默认值为 UNDEFINED(未定义的)。 对于 MERGE,会将引用视图的语句的文本与视图定义合并起来,使得视图定义的某一部分取代语句的对应部分。

    对于TEMPTABLE,视图的结果将被置于临时表中,然后使用它执行语句。

    对于UNDEFINED,MySQL将选择所要使用的算法。如果可能,它倾向于MERGE而不是TEMPTABLE,这是因为MERGE通常更有效,而且如果使用了临时表,视图是不可更新的。

    之所以提供TEMPTABLE选项,是因为TEMPTABLE在创建临时表之后、并在完成语句处理之前,能够释放基表上的锁定。与MERGE算法相比,锁定释放的速度更快,这样,使用视图的其他客户端不会被屏蔽过长时间。

    此外,MERGE算法要求视图中的行和基表中的行具有一对一的关系。如果视图包含聚合函数(SUM(), MIN(), MAX(), COUNT()等)、DISTINCTGROUP BYHAVINGUNIONUNION ALL、没有基表的引用文字值(例如:SELECT 'hello';)等结构中的任何一种,将失去一对一的关系,此时必须使用临时表取而代之。

    [(column_list)]
    (column_list)用于自定义视图中各个字段的名称。如果没有该命令选项,那么通过视图查询到的各个字段的名称和视图所使用到的数据表的字段名称保持一致。下面是一个常见的用于创建视图的SQL语句:
    CREATE OR REPLACE VIEW v_user
    AS
    SELECT id, username FROM user;

    由于user表中的字段名称为idusername,因此视图v_user中的两个字段名称也分别默认为idusername。现在,我们将视图v_user中的字段名称分别自定义为uiduname

    CREATE OR REPLACE VIEW v_user (uid, uname)
    AS
    SELECT id, username FROM user;
    select_statement
    select_statement用于指定视图的内容定义。简而言之,这里就是用户自定义的一个SELECT语句。
    [WITH [CASCADED | LOCAL] CHECK OPTION]
    该选项中的 CASCADED为默认值, LOCAL CHECK OPTION用于在可更新视图中防止插入或更新行。由于此选项一般不使用,因此不再赘述,具体信息请参考MySQL官方网站上的相关信息。

    §删除视图

    在MySQL中删除视图的方法非常简单,其详细语法如下:

    --删除指定名称的一个或多个视图
    DROP VIEW [IF EXISTS]
     view_name [, view_name2]...

    其中,关键字IF EXISTS用于防止因视图不存在而提示出错,此时,只有存在该视图才会执行删除操作。DROP VIEW语句可以一次性删除多个视图,只需要在多个视图名称之间以英文逗号隔开即可。如果多个视图存在于不同的数据库中,不数据当前数据库的视图名称之前还必须加上db_name.前缀。

    --删除视图v_user
    DROP VIEW v_user;

    §修改视图

    请参考创建视图语法中的OR REPLACE关键字,只要具备该关键字的视图创建语句就是修改视图的SQL语句。

    §查看视图

    在MySQL中,show tables不仅可以用于查看当前数据库中存在哪些数据表,同时也可以查看到当前数据库中存在哪些视图。

    --执行show tables
    mysql> show tables;
    --以下是输出结果
    +----------------+
    | Tables_in_test |
    +----------------+
    | user           |
    | v_user         |
    +----------------+
    2 rows in set (0.00 sec)

    不过,仅仅使用show tables语句,在输出结果中,我们根本无法区分到底哪些才是视图哪些才是真实的数据表(当然,视图的命名我们可以统一约定以"v_"开头)。此时,我们需要使用命令show full tables,该命令可以列出额外的table_type列,如果对应输出行上该列的值为"VIEW",则表示这是一个视图。

    --执行show full tables
    mysql> show full tables;
    --以下是输出结果
    +----------------+------------+
    | Tables_in_test | Table_type |
    +----------------+------------+
    | user           | BASE TABLE |
    | v_user         | VIEW       |
    +----------------+------------+
    2 rows in set (0.00 sec)

    当我们通过上述命令找到了我们所需要的视图之后,我们可以使用如下命令查看创建该视图的详细语句:

    show create view view_name

    例如,我们使用该命令查看创建视图v_user的SQL语句:

    --由于该语句的输出结果较为杂乱,因此使用\G命令进行格式化输出
    mysql> show create view v_user \G;
    --以下是格式化的输出结果
    *************************** 1. row ***************************
                    View: v_user
             Create View: CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v_user` AS select `user`.`id` AS `uid`,`user`.`username`
    AS `uname` from `user`
    character_set_client: utf8
    collation_connection: utf8_general_ci
    1 row in set (0.00 sec)

    原文地址:https://codeplayer.vip/p/j7sce

    转载于:https://www.cnblogs.com/jpfss/p/11004584.html

    展开全文
  • 41、MySQL-修改视图

    2015-03-10 16:39:25
    视图修改可通过如下两种命令实现 CREATE OR REPLACE VIEW 视图名...ALTER VIEW 视图名... 方式一、 mysql> CREATE OR REPLACE VIEW v1 -> AS -> SELECT * FROM department; Query OK, 0 rows ...
  • 我们从一个结果集中查询信息一般都是select * ...创建视图命令为:createview视图名称as(select语句)更新视图命令为:(如果包含聚合函数等是无法修改值的,也就是说计算过后的值),更新操作会同步通新原表数据updat...
  • 视图 虚拟表,和普通表一样使用,使用时通过表动态生成的数据,只保存sql逻辑。... #修改视图,有就更换,没有就创建 CREATE or REPLACE VIEW v1 AS SELECT * FROM auto_test WHERE id=2; #修改视图 A
  • 今天介绍的是关于Mysql数据库一些操作的基础命令用户与权限创建用户... 修改密码5.5版本及以前的命令mysql>set password for test=passowrd('!1A@2#3'); 5.6及以上命令mysql>update mysql.user set authenti...
  • MySQL中,ALTER 语句用来修改数据表名称或者数据表字段名称。也可以用来添加或者删除数据表字段。ALTER 语句经常和"ADD", "DROP" and "MODIFY" 命令一起使用。1) 添加列通用语句:ALTERTABLEtable_nameADDnew_...
  •   在 mysql/bin 目录下,利用 mysqldump 命令执行导出数据到指定文件 ./mysqldump -uroot -p stringdb > /opt/stringdb20200805.txt 2、导入到目标数据库 2.1 新建目标数据库 2.2 将数据文件放入目标主机 ...
  • MySQL——视图

    2020-12-23 17:10:42
    当通过视图看到的数据被修改时,相应的原表的数据也会变化。同时原表发生变化,则这种变化也可以自动反映到视图中。 视图的优点: 简单化:看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化操作。...
  • 修改、查询、删除视图命令跟建表时的一样。视图是从一个或多个表(或视图)导出的表。视图是数据库的用户使用数据库的观点。可以根据他们的不同需求,在物理的数据库上定义他们对数据库所要求的数据结构,这种根据...
  • MySQL数据库视图

    2016-08-30 21:05:06
    修改、查询、删除视图命令跟建表时的一样。视图是从一个或多个表(或视图)导出的表。视图是数据库的用户使用数据库的观点。可以根据他们的不同需求,在物理的数据库上定义他们对数据库所要求的数据结构,这种...
  • 不废话直接上代码:开启视图权限:root登录服务器,运行命令,注意username和data修改grant create view on username.* to data@'%';grant show view on username.* to data@'%';GRANT ALL PRIVILEGES ON 用户名.* TO ...
  • 通过视图用户只能查询和修改他们所能见到的数据。数据库中的其它数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。通过...
  • mysql view视图

    2013-11-12 10:53:21
    通过视图用户只能查询和修改他们所能见到的数据。数据库中的其它数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列
  • 修改、查询、删除视图命令跟建表时的一样。视图是从一个或多个表(或视图)导出的表。视图是数据库的用户使用数据库的观点。可以根据他们的不同需求,在物理的数据库上定义他们对数据库所要求的数据结构,这种根据...
  • * 下载安装mysql https://dev.mysql.com/downloads/mysql/5.7.html#downloads wget ...方法1: 用SET PASSWORD命令  mysql -u root  mysql> SET...
  • MySql视图

    千次阅读 2007-05-27 16:35:00
    修改视图需要create view 和 delete 权限。表和视图的命令在同一个命名空间中,所以同一个数据库不能有表名和视图名重复。可以对其他数据库中的表建视图视图的定义有以下的限制:1、from子句中不能有子查询2、select...
  • //修改表的引擎 alter table a engine=myisam; //开启事务 begin; //关闭自动提交 set autocommit=0; //扣100 update bank set money=money-100 where bid=1; //回滚,begin开始的所有sql语句操作 rollback; //开启...
  • 文章目录什么是视图视图的特性视图的作用创建视图修改视图删除视图视图机制替换式具化式替换式与具化式区别视图不可更新部分 什么是视图 视图是一个虚拟表,其内容由查询定义。 同真实的表一样,视图包含系列带有...
  • 事项开启和使用//修改表的引擎 alter table a engine=myisam; //开启事务 begin; //关闭自动提交 set autocommit=0; //扣100 update bank set money=money-100 where bid=1; //回滚,begin开始的所有sql语句...
  • 视图的优点与缺点在程序设计的时候必须先了解视图的优缺点,这样...通过视图用户只能查询和修改他们所能见到的数据。数据库中的其他数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定...
  • 修改视图需要create view 和 delete 权限。表和视图的命令在同一个命名空间中,所以同一个数据库不能有表名和视图名重复。可以对其他数据库中的表建视图视图的定义有以下的限制:1、from子句中不能有子查询2、select...
  • 查看安装路径ps -ef|grep mysql1,配置linux虚拟机,修改IP????? vim /etc/sysconfig/network-scripts/ifcfg-eth02,配置完网卡之后,执行清空命令3,reboot查看生产环境上传文件MySQL5.5编译方式安装过程参考连接:...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 236
精华内容 94
关键字:

mysql修改视图命令

mysql 订阅