创建视图
CREATE VIEW v_index AS
SELECT * FROM table_name;
描述
- v_index : 视图名称
- SELECT * FROM table_name : 虚拟数据
创建视图索引
CREATE UNIQUE INDEX index_name ON v_name (column_list);
描述
- UNIQUE : MySQL只支持对视图创建UNIQUE索引
- index_name : 索引名称
- v_name : 视图名称
- column_list : 字段名称(可多个使用逗号(,)隔开)
- 示例:create UNIQUE index firstIndex on student(id, name, address);
- 索引名称、表名、字段名称 都不要用引号括起来
删除视图索引
alter table 表名 drop index 约束名;
视图函数
- 首选需要创建一个函数,用来接收并赋值要传入的动态参数
create function name() returns VARCHAR(255) DETERMINISTIC NO SQL return @value;
描述
- name() : 函数
- @value : 返回的值
创建含有动态参数视图
CREATE VIEW v_view AS SELECT * FROM user WHERE id = name();
使用方式
方式一
SELECT s.* FROM (SELECT @value:='A002' p) param , v_view s
方式二
SET @value = 1; //很明显这一步是赋值操作
SELECT * FROM v_view ; //赋值完之后,再查询视图,赋的值就会被带入视图中
xml使用
公用sql抽取
<sql id="findUserTimeRange">
SET @value= #{param.field};
</sql>
查询语句使用视图与动态参数
<select id="findByID" resultType="实体类">
<include refid="findUserTimeRange"/>
SELECT
v.*
FROM
v_view v
</select>
借鉴网址01
借鉴网址02