iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >怎么理解mysql联合表及视图
  • 696
分享到

怎么理解mysql联合表及视图

2024-04-02 19:04:59 696人浏览 薄情痞子
摘要

本篇内容介绍了“怎么理解Mysql联合表及视图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1)验证环境

本篇内容介绍了“怎么理解Mysql联合表及视图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1)验证环境
 源库:192.168.8.75 Centos 7.5 mysql8.3
 目标库:192.168.8.68 redhat 6.8 mysql5.7
 
2)登录源库并创建源表
 $ mysql -u root -ppaasWord -h 192.168.8.75
 mysql> create database db_test;
 mysql> use db_test;
 mysql> create table t1(c1 int,c2 char(100));
 mysql> insert into t1 values(1,'a');
 
3)登录源库创建用户并授权
 $ mysql -u root -ppaasword -h 192.168.8.75
 mysql> create user test@'%' identified by 'password';
 mysql> grant select,insert,delete,update on db_test.t1 to test@'%';
 
3)目标库启用联合引擎
 # vi /etc/my.cnf    #添加如下行并保存
 federated
 # service mysqld start
 
4)登录目标库并创建联合表
 # mysql -u root -ppassword -h 192.168.8.68
 mysql> create database db_test;
 mysql> use db_test;
 mysql> create table f_t1(c1 int,c2 char(100))) engine=federated connection ='mysql://user_test:user_test_pwd@192.168.8.75:3306/test/t1';

5)登录目标库创建用户并授权
 $ mysql -u root -ppassword -D db_test -h 192.168.8.68
 mysql> create user test@'%' identified by 'password';
 mysql> grant select,insert,delete,update on test.f_t1 to test;

5)登录目标库test用户测试
 $ mysql -u test -ppassword -D db_test -h 192.168.8.68
 mysql> select * from f_t1;
 mysql> insert into f_t1 values(2,'b');
 mysql> delete from f_t1 where c1=1;
 mysql> update f_t1 set c2='w' where c1=2;
 
6)登录源库删除源表
 $ mysql -u root -ppassword -D db_test -h 192.168.8.75
 mysql>drop table t1;
 
7)登录目标端再次操作联合表
 $ mysql -u user_test -ppassword -D db_test -h 192.168.8.68
 mysql> select * from f_t1;
 --会报错error 1430。
 
8)登录源库重建源表
 $ mysql -u root -ppassword -D db_test -h 192.168.8.75
 mysql> create table t1(c1 int,c2 char(100));
 mysql> insert into t1 values(3,'cc');
 
9)再次登录目标库并操作联合表
 $ mysql -u user_test -ppassword -D db_test -h 192.168.8.68
 mysql> select * from f_t1;
 mysql> insert into f_t1 values(5,'e');
 --现在联合表一切恢复正常,可见源表删除并不会影响目标库中联合表的定义,重建源表即可恢复正常。
 
10)登录目标库创建视图
 $ mysql -u user_test -ppassword -D db_test -h 192.168.8.68
 mysql> create view v_f_t1 as select * from f_t1 where c1<5;
 mysql> select * from v_f_t1;
 --可见视图可以基于联合表创建。
 mysql> insert into f_t1 values(6,'f');
 mysql> select * from v_f_t1;
 --可见视图可以限制用户对数据的访问范围。
 mysql> insert into v_f_t1 values(7,'h');
 --可见视图并不能限制用户插入数据的范围,其实,不仅针对联合表,针对常规表的视图,也是这样。
 mysql> update v_f_t1 set c2='w';
 --可见视图可以限制用户对数据集的更改范围,用户只能更改视图定义中允许范围的数据,哪怕update语句不带任何where条件。
 mysql> delete from v_f_t1;
 --可见视图可以限制用户对数据集的删除范围,用户只能删除视图定义中允许范围的数据,哪怕delete语句不带任何where条件。

“怎么理解mysql联合表及视图”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: 怎么理解mysql联合表及视图

本文链接: https://www.lsjlt.com/news/62386.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么理解mysql联合表及视图
    本篇内容介绍了“怎么理解mysql联合表及视图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1)验证环境 ...
    99+
    2024-04-02
  • Oracle物化视图管理及重要视图怎么理解
    这篇文章主要讲解了“Oracle物化视图管理及重要视图怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle物化视图管理及重要视图怎么理解”吧!...
    99+
    2024-04-02
  • Python怎么实现视频分解成图片及图片合成视频
    这篇文章主要介绍了Python怎么实现视频分解成图片及图片合成视频的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么实现视频分解成图片及图片合成视频文章都会有所收获,下面我们一起来看看吧。一、pyt...
    99+
    2023-06-29
  • MySQL中Update、select联用操作单表、多表,及视图与临时表的区别
    一、MySQL中使用从表A中取出数据来更新表B的内容 例如:要update表data中的一些列属性,但是修改属性的内容来源是来自表chanpin。SQL语言中不要显示的出现select关键字 updat...
    99+
    2024-04-02
  • MySQL视图与表的区别及应用场景
    MySQL视图与表的区别及应用场景 MySQL中的视图(View)是一种虚拟表,它是基于 SQL 查询结果集的可视化表格,可以像表一样查询、更新或操作。视图在数据库设计中扮演着重要的角...
    99+
    2024-04-02
  • mysql视图创建后怎么管理
    一旦创建了MySQL视图,可以使用以下方法对其进行管理: 更新视图:可以使用CREATE OR REPLACE VIEW语句来更...
    99+
    2024-04-09
    mysql
  • mysql联合索引失效怎么解决
    当MySQL联合索引失效时,可以考虑以下几个解决办法:1. 重新设计索引:检查当前的联合索引是否满足查询需求,如果不满足,可以重新设...
    99+
    2023-10-25
    mysql
  • mysql视图的作用是什么及怎么创建
    本篇内容介绍了“mysql视图的作用是什么及怎么创建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!常见的数...
    99+
    2022-11-30
    mysql
  • mysql联表更新失败怎么解决
    当MySQL联表更新失败时,可以根据以下步骤进行解决: 检查SQL语句:确保联表更新的SQL语句正确且没有语法错误。可以使用SQ...
    99+
    2024-04-09
    mysql
  • sql怎么查看视图表
    要查看视图表,可以使用以下步骤:使用 select 语句获取视图中的数据。使用 desc 语句查看视图的架构。使用 explain 语句分析视图的执行计划。使用 dbms 提供...
    99+
    2024-05-14
    oracle python
  • MySQL中的多表联合查询功能怎么使用
    本篇内容介绍了“MySQL中的多表联合查询功能怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一.介绍多表查询就是同时查询两个或两个以...
    99+
    2023-07-05
  • 怎么修改mysql视图
    怎么修改mysql视图?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql修改视图的方法:1、如视图存在则覆盖,如不存...
    99+
    2024-04-02
  • mysql联合主键怎么创建
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-16
  • ThinkPHP多表联合查询怎么用
    这篇文章主要介绍ThinkPHP多表联合查询怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!thinkphp是什么thinkphp属于一种免费的开发框架,能够用于开发前端网页,最早thinkphp是为了简化开发而...
    99+
    2023-06-14
  • mysql怎么创建联合索引
    在MySQL中,可以使用CREATE INDEX语句来创建联合索引。 创建联合索引的语法如下: CREATE INDEX index...
    99+
    2024-02-29
    mysql
  • MySQL联合索引怎么使用
    MySQL联合索引是指在一个表中同时使用多个列作为索引的方式,可以提高查询效率。使用方法如下: 创建联合索引: ALTER TA...
    99+
    2023-10-27
    MySQL
  • MySQL三表联合查询的方法是什么
    这篇文章主要介绍了MySQL三表联合查询的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL三表联合查询的方法是什么文章都会有所收获,下面我们一起来看看吧。一、题目概述给定三张表(学生表、科目表...
    99+
    2023-07-05
  • MySQL中两表关联的连接表怎么创建索引图文
    MySQL中两表关联的连接表怎么创建索引图文?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!问题介绍创建数据库的索引,可以选...
    99+
    2024-04-02
  • 怎么在Mysql中利用update实现多表联合更新
    今天就跟大家聊聊有关怎么在Mysql中利用update实现多表联合更新,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 执行 UPDATE stu...
    99+
    2024-04-02
  • 数据库视图是什么意思以及 MySQL 视图如何工作?
    数据库视图只不过是存储在数据库中并具有关联名称的 SQL 语句。视图实际上是预定义 SQL 查询形式的表的组合。视图可以包含表的所有行,也可以从表中选择行。 MySQL 视图可以从一个或多个表创建,这些表依赖于编写的 MySQL 查询来创建...
    99+
    2023-10-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作