MySQL数据库操作学习(6)事务与pymysql

本文详细介绍了数据库中的视图、索引、存储引擎以及事务处理,特别是pymysql在Python中的应用。涵盖了事务的隔离级别、隐性事务和显性事务的区别,以及如何使用pymysql进行数据库操作,包括连接、执行SQL和管理事务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、视图

视图(View)是一种虚拟的表,它是基于一个或多个实际表(或其他视图)的查询结果集。视图本身并不包含实际的数据,而是根据定义视图时指定的查询语句动态生成结果。通过视图,用户可以以类似于表的方式访问和操作数据,而无需直接访问底层表。

以下是关于视图的一些重要信息和优点:

  1. 简化数据访问:视图可以隐藏底层表的复杂性,为用户提供一个简单易用的界面来访问数据。

  2. 数据安全性:视图可以限制用户只能访问他们需要的数据,通过在视图上设置权限来控制数据的访问。

  3. 数据一致性:视图可以确保数据的一致性,通过在视图中定义复杂的查询来确保数据的准确性。

  4. 重用性:视图可以重用查询逻辑,避免重复编写相同的查询语句。

  5. 性能优化:视图可以提高查询性能,通过预先计算和存储视图结果,减少重复计算的开销。

在创建视图时,需要定义视图的结构和查询语句。一旦视图创建完成,用户可以像操作表一样使用视图,包括查询、插入、更新和删除数据。视图可以根据需要进行更新,但有一些限制条件,例如视图必须包含主键或唯一键等。

总的来说,视图是数据库中一个非常有用的工具,可以提高数据访问的灵活性和安全性,同时简化复杂查询的操作。

# 创建视图表
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)是负责管理数据存储和检索的核心组件,它定义了数据的存储格式、索引类型、查询处理方式等。不同的存储引擎具有不同的特性和适用场景,常见的存储引擎包括但不限于以下几种:

  1. InnoDB

    • InnoDB 存储引擎是 MySQL 中最常用的存储引擎之一,具有事务支持、行级锁、外键约束等特性。
    • InnoDB 存储引擎适合于需要事务支持和高并发读写操作的场景,如在线交易处理系统。
  2. MyISAM

    • MyISAM 存储引擎是 MySQL 中的另一个常见存储引擎,具有全文索引、压缩表等特性。
    • MyISAM 存储引擎适合于读密集型的应用,如数据仓库、报表系统等。
  3. Memory

    • Memory 存储引擎将数据存储在内存中,提供了快速的数据访问速度,但数据不会持久化到磁盘。
    • Memory 存储引擎适合于临时数据存储、缓存等场景。
  4. NDB Cluster

    • NDB Cluster 存储引擎是 MySQL Cluster 中的存储引擎,支持分布式存储和高可用性。
    • NDB Cluster 存储引擎适合于需要水平扩展和高可用性的应用。
  5. PostgreSQL 中的存储引擎

    • PostgreSQL 中没有明确的存储引擎概念,而是使用表空间(Tablesp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只特立独行猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值