mysql 创建视图

MySQL创建视图可以根据具体需求灵活设置,主要分为三类:第一类:直接从单个表中选择所有字段创建视图,例如:create view v as select * from table;第二类:从单个表中选择特定字段创建视图,例如:create view v as select id,name,age from table;第三类:指定视图字段名称创建视图,例如:create view...
mysql 创建视图
MySQL创建视图可以根据具体需求灵活设置,主要分为三类:

第一类:直接从单个表中选择所有字段创建视图,例如:create view v as select * from table;

第二类:从单个表中选择特定字段创建视图,例如:create view v as select id,name,age from table;

第三类:指定视图字段名称创建视图,例如:create view v[vid,vname,vage] as select id,name,age from table;

在数据量较大或需要跨表查询时,可以创建跨表视图,分为三种情况:

一、基于同一数据库,使用简单的SQL语句创建视图,如:create view v as (select * from table1) union all (select * from table2);

二、基于不同数据库,需要在SQL语句中指定数据库名,如:create view 数据库1.v as (select * from 数据库1.table1) union all (select * from 数据库2.table2); 或 create view 数据库2.v as (select * from 数据库1.table1) union all (select * from 数据库2.table2); 执行第一个语句将在数据库1下创建视图,反之亦然。

三、基于不同服务器,创建视图相对复杂,首先需配置支持federated引擎,登录MySQL后执行:mysql>show engines; 若显示no,需在配置文件my.ini中添加federated,重启MySQL服务。

然后创建远程表,配置如下:CREATE TABLE federated_table ( id INT(20) NOT NULL AUTO_INCREMENT, name VARCHAR(32) NOT NULL DEFAULT '', other INT(20) NOT NULL DEFAULT '0', PRIMARY KEY (id) ) ENGINE=FEDERATED DEFAULT CHARSET=utf8 CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';

最后建立视图,如:create view 本地数据库.v as (select * from 本地数据库.table1) union all (select * from 远程数据库.test_table);2024-12-02
mengvlog 阅读 10 次 更新于 2025-07-19 21:04:25 我来答关注问题0
檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部