1、视图
视图(View)是一种虚拟的表,它是基于一个或多个实际表(或其他视图)的查询结果集。视图本身并不包含实际的数据,而是根据定义视图时指定的查询语句动态生成结果。通过视图,用户可以以类似于表的方式访问和操作数据,而无需直接访问底层表。
以下是关于视图的一些重要信息和优点:
-
简化数据访问:视图可以隐藏底层表的复杂性,为用户提供一个简单易用的界面来访问数据。
-
数据安全性:视图可以限制用户只能访问他们需要的数据,通过在视图上设置权限来控制数据的访问。
-
数据一致性:视图可以确保数据的一致性,通过在视图中定义复杂的查询来确保数据的准确性。
-
重用性:视图可以重用查询逻辑,避免重复编写相同的查询语句。
-
性能优化:视图可以提高查询性能,通过预先计算和存储视图结果,减少重复计算的开销。
在创建视图时,需要定义视图的结构和查询语句。一旦视图创建完成,用户可以像操作表一样使用视图,包括查询、插入、更新和删除数据。视图可以根据需要进行更新,但有一些限制条件,例如视图必须包含主键或唯一键等。
总的来说,视图是数据库中一个非常有用的工具,可以提高数据访问的灵活性和安全性,同时简化复杂查询的操作。
# 创建视图表
create view 视图名称 as select 已查询语句;
create view stu_2301 as select * from st1 where class = 2301;
select * from stu_2301;
# 删除视图
drop view 视图名称;
# 查询当前数据库所有的视图
show full tables in 数据库名称 where table_type like 'view';
show full tables in demo1 where table_type like 'view';
2、索引
索引:就是目录
一般如果你的表查询操作很少,数据很少(少于1w)不建议索引
目的:就是优化我们的数据库工作效率,但是也会占用资源
- 主键索引
- 普通索引
- 唯一索引
# 在创建表的时候创建索引
# 格式
create table 表名(
字段名 数据类型,
字段名 数据类型,
# 普通索引
index 索引名称(字段名),
# 唯一索引
unique 索引名称(字段名)
);
# 能创建表后插入索引
create index 索引名称 on 表名(字段名);
create unique 索引名称 on 表名(字段名);
# 查询索引
show keys from 表名;
select * from t21 WHERE id = 11;
select * from t22 WHERE id = 11;
3、存储引擎
在关系型数据库中,存储引擎(Storage Engine)是负责管理数据存储和检索的核心组件,它定义了数据的存储格式、索引类型、查询处理方式等。不同的存储引擎具有不同的特性和适用场景,常见的存储引擎包括但不限于以下几种:
-
InnoDB:
- InnoDB 存储引擎是 MySQL 中最常用的存储引擎之一,具有事务支持、行级锁、外键约束等特性。
- InnoDB 存储引擎适合于需要事务支持和高并发读写操作的场景,如在线交易处理系统。
-
MyISAM:
- MyISAM 存储引擎是 MySQL 中的另一个常见存储引擎,具有全文索引、压缩表等特性。
- MyISAM 存储引擎适合于读密集型的应用,如数据仓库、报表系统等。
-
Memory:
- Memory 存储引擎将数据存储在内存中,提供了快速的数据访问速度,但数据不会持久化到磁盘。
- Memory 存储引擎适合于临时数据存储、缓存等场景。
-
NDB Cluster:
- NDB Cluster 存储引擎是 MySQL Cluster 中的存储引擎,支持分布式存储和高可用性。
- NDB Cluster 存储引擎适合于需要水平扩展和高可用性的应用。
-
PostgreSQL 中的存储引擎:
- PostgreSQL 中没有明确的存储引擎概念,而是使用表空间(Tablesp