MySQL存储引擎

MySQL存储引擎

  • 本文用python执行SQL语句。
    导入python库
import json
import pymysql
from pymysql.converters import escape_string
import pandas as pd

连接数据库

#连接数据库
conn=pymysql.connect(
    host="localhost",
    port=3306,#端口号
    user="root",#数据库用户
    password="123456",#数据库密码
    #database="world"#要连接的数据库名称
)
cur=conn.cursor()

跳转到指定数据库

sql = """USE PLJNB"""
cur.execute(sql)
cur.fetchall()

介绍

  • 是存储数据、建立索引、更新\查询数据等技术的实现方式。
  • 是基于表,而不是基于库的,也可以被称为表类型。
  • 默认存储引擎:InnoDB

创建表指定存储引擎

CREATE TABLE 表名(
    字段1 字段1类型 [COMMENT 字段1注释],
    ......
    字段n 字段n类型 [COMMENT 字段n注释]
)ENGINE=INNODB [COMMENT 表注释];
  • 例:
sql = """
        CREATE TABLE my_myisam(
            id INT,
            name VARCHAR(10)
        )ENGINE = MyISAM;
"""
cur.execute(sql)
cur.fetchall()

查看当前数据库支持的存储引擎

SHOW ENGINES;

各存储引擎的特点

InnoDB

介绍
  • 是一种兼顾高可靠性和高性能的通用存储引擎
  • 是默认引擎
特点
  • DML操作遵循ACID模型,支持事务;
  • 行级锁,提高并发访问性能;
  • 支持外键FOREIGN KEY约束,保证数据的完整性和正确性;
文件结构
  • xxx.ibd:存储该表的表结构(frm、sdi)、数据和索引。

MySIAM:(用MongoDB替代)

介绍
  • 是早期默认存储引擎
特点
  • 不支持事务,不支持外键
  • 支持表锁,不支持行锁
  • 访问速度快
文件结构
  • xxx.sdi:存储表结构信息
  • xxx.MYD:存储数据
  • xxx.MYI:存储索引

Memory:(用redis替代)

介绍
  • 数据存储在内存中,断电即破坏,只能作为临时表使用
特点
  • 用内存存放
  • hash索引(默认)
文件结构
  • xxx.sdi:存储表结构信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值