MySQL视图
什么是视图?
视图是一个虚拟表,内容由查询定义。
视图中只存放了视图的定义,而没有存放视图中的数据,这些数据存放在原来的表中。
视图的特点:
- 视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系。
- 视图是由基本表(实表)长生的表(虚表)。
- 视图的建立和删除不影响基本表。
- 对视图内容的更新(添加、删除、修改)直接影响基本表。
当视图来自多个基本表时,不允许添加和删除数据。
创建视图语法:
CREATE VIEW 视图名 AS 查询语句
视图名不能和表名以及其他视图名重合。
MySQL索引
索引的特点:
索引类似于书的目录,能够在一定程度上快速的进行数据定位。
索引的创建有利有弊,创建索引可以提高查询速度,但过多的创建索引则会占据许多的磁盘空间。
以下情况适合创建索引:
- 经常被查询的字段,即在WHERE子句中出现的字段。
- 在分组的字段,即在GROUP BY子句中出现的字段。
- 存在依赖关系的子表和父表之间的联合查询,即主键和外键字段。
- 设置唯一完整性约束的字段。
以下情况不适合创建字段:
- 在查询中很少使用的字段。
- 拥有许多重复值的字段。
1.普通索引
- 创建表时创建索引
CREATE TABLE 表名(
字段 数据类型,
字段 数据类型,
INDEX 索引名(字段 )
);
- 在已存在的表上创建普通索引
CREATE INDEX 索引名 ON 表名(字段)
2.唯一索引
- 创建表时创建索引
CREATE TABLE 表名(
字段 数据类型,
字段 数据类型,
UNIQUE INDEX 索引名(字段 )
);
- 在已存在的表上创建普通索引
CREATE UNIQUE INDEX 索引名 ON 表名(字段)
3.全文索引
- 创建表时创建索引
CREATE TABLE 表名(
字段 数据类型,
字段 数据类型,
FULLTEXT INDEX 索引名(字段 )
);
- 在已存在的表上创建普通索引
CREATE FULLTEXT INDEX 索引名 ON 表名(字段)
4.多列索引
- 创建表时创建索引
CREATE TABLE 表名(
字段 数据类型,
字段 数据类型,
INDEX 索引名(字段),索引名(字段)..
);
- 在已存在的表上创建普通索引
CREATE INDEX 索引名
ON 表名(字段),
表名(字段),
表名(字段),