文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySql中的存储引擎和索引

2022-11-13 14:05

关注

一、MySql的逻辑结构

MySQL体系结构分为四层:分别是连接层、服务层、存储引擎层、系统文件层。

二、什么是存储引擎

MySql数据库使用不同的机制存取表文件,有不同的存储方式,索引技巧,锁定水平且广泛的功能和能力。将这些不同的技术及配套的功能称为存储引擎

MySQL支持的存储引擎

MySQL5.7支持的引擎包括:InnoDB、MyISAM、MEMORY、Archive、Federate、CSV、BLACKHOLE等,其中较为常用的有三种:InnoDB、MyISAM、MEMORY。

三、操作

查询数据库支持的存储引擎:

SHOW ENGINES;

查询某个数据库中所有数据表的存储引擎:

// 标准语法: SHOW TABLE STATUS FROM 数据库名称;

// 查询db4数据库所有表的存储引擎
SHOW TABLE STATUS FROM db4;

查询某个数据库中某个表的存储引擎:

//标准语法: SHOW TABLE STATUS FROM 数据库名称 WHERE NAME = '数据表名称';

// 查看db4数据库中user表的存储引擎
SHOW TABLE STATUS FROM db2 WHERE NAME='user';

创建数据表指定存储引擎:

// 标准语法:CREATE TABLE 表名( 列名,数据类型, ... )ENGINE = 引擎名称;

CREATE TABLE engine_test(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(10)
)ENGINE=MYISAM;

修改数据表的存储引擎:

// 标准语法: ALTER TABLE 表名 ENGINE = 引擎名称;

// 修改engine_test表的存储引擎为InnoDB
ALTER TABLE engine_test ENGINE=INNODB;

四、数据库的索引

MySQL数据库中的索引:是帮助MySQL高效获取数据的一种数据结构!所以,索引的本质就是数据结构。

在表数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式指向数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。

索引的分类

五、索引操作

创建索引:

CREATE [UNIQUE|FULLTEXT] INDEX 索引名称
	[USING 索引类型]  -- 默认是BTREE
	ON 表名(列名...);
       
// 为student表中的name列创建一个普通索引
CREATE INDEX idx_name ON student(NAME);

//为student表中的age列创建一个唯一索引
CREATE UNIQUE INDEX idx_age ON student(age);

查询索引:

// 标准语法: SHOW INDEX FROM 表名;

// 查询student表中的索引  (主键列自带主键索引)
SHOW INDEX FROM student;

添加索引:

ALTER添加索引
-- 普通索引
ALTER TABLE 表名 ADD INDEX 索引名称(列名);

-- 组合索引
ALTER TABLE 表名 ADD INDEX 索引名称(列名1,列名2,...);

-- 主键索引
ALTER TABLE 表名 ADD PRIMARY KEY(主键列名); 

-- 外键索引(添加外键约束,就是外键索引)
ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (本表外键列名) REFERENCES 主表名(主键列名);

-- 唯一索引
ALTER TABLE 表名 ADD UNIQUE 索引名称(列名);

-- 全文索引
ALTER TABLE 表名 ADD FULLTEXT 索引名称(列名);

删除索引:

// 标准语法:DROP INDEX 索引名称 ON 表名;

// 删除idx_score索引
DROP INDEX idx_score ON student;

到此这篇关于MySql中的存储引擎和索引的文章就介绍到这了,更多相关MySql存储引擎内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯