您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
是否要掌握全部的MySQL工具?
索引,数据库,基本是否要掌握全部的MySQL工具?
发布时间:2016-12-08加入收藏来源:互联网点击:
是否要掌握全部的MySQL工具?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
完全没有必要啊,MySQL本质就是一个关系型数据库,只要你会基本的SQL语句,哪个工具都可以轻松操作,就开发来说,大部分使用的都是第三方软件,下面我简单介绍3个非常适合管理MySQL的图形工具,分别是DBeaver、HeidiSQL和DataGrip,感兴趣的朋友可以尝试一下:
免费开源DBeaver
这是纯Java编写的一个通用数据库管理软件和SQL客户端,在个人桌面端非常流行,免费、开源、跨平台,只要是支持JDBC驱动的数据库这个软件都可以轻松管理和连接,不仅仅是MySQL,DB2、Oracle、MSSQL等主流数据库都能很好兼容,视图索引、ER图、触发器、存储过程等效果非常不错,如果你缺少一个免费、强大、开源的数据库管理软件,可以使用一下DBeaver,对于管理MySQL来说非常不错:
小巧灵活HeidiSQL
这是采用Delphi开发的一款简单迷你数据库管理软件,和DBeaver类似,HeidiSQL也完全免费开源,但目前仅限于Windows平台,支持MySQL、SQL Server、PostgreSQL等主流数据库,提供了一个简单易用的图形界面,可以轻松管理表、视图、存储过程、触发器,此外,支持SQL脚本导入导出、数据备份恢复,对于日常管理MySQL来说,也是一个非常不错的选择:
专业强大DataGrip
这是jetbrains公司开发的一款专业、多引擎数据库管理软件,在业界非常流行受欢迎,idea、clion等良心产品想必大家也非常了解,DataGrip几乎支持所有主流关系型数据库,DB2、MySQL、Oracle、PostgreSQL、MSSQL等都能很好兼容,日常建库建表、视图索引、数据导入导出等功能非常不错,除此之外,还自动集成智能代码填充、版本控制,对于管理MySQL数据库来说,可以说是一大利器,唯一不足就是需要付费购买版权:
当然,除了以上3个通用的数据库管理软件,还有许多其他MySQL管理软件,像Navicat等也都非常不错,只要你熟悉一下基本使用过程,很快就能掌握的,管理工具来说,没必要全部掌握,一两个就行,适合自己的才是最好的,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
回答于 2019-09-11 08:43:50
完全没有必要。工具只是一种辅助,它可以让我们的工作变得更快捷,但是不要完全依赖工具;我们要把精力放在学习 MySQL 本身,而不是放在学习 MySQL 的工具上。
那么学习 MySQL 需要学习哪些知识呢,我大概整理了一下学习的内容和路线;因为我是程序员,所以这个路线是站在开发人员的角度整理的,如果是专业的 MySQL DBA,要掌握更多的知识。
01. 数据库基本操作和基本的 SQL
任何一个语言、软件、框架,我们都要先会使用,所以我们需要先掌握 MySQL 的基本操作和基本的 SQL。
数据库的基本操作:MySQL 的安装、创建数据库、删除数据库;
表和字段的基本操作:创建表、删除表、查看表结构、新增修改删除某一个字段、设置主键外键;这里要注意的一点,你不要学习通过工具完成这些操作,而是要会具体的 SQL 语句;比如 create table ...
熟悉字段的基本类型:数值类型、日期和时间类型、字符串类型;最基础的认识,到后面的阶段对这些要有更深的了解。
基本的 SQL 语句:了解 select、insert、update、delete 等基本操作,可以完成单表的增删查改。
02. SQL 语句
数据库的精髓就是 SQL 语句了,这也是需要我们主要了解的部分,基本的 SQL 语句已经在第一阶段学习了,那么这个阶段我们需要了解哪些呢?
单表查询:这里就不是指 where column = xxx 这么简单的查询了,我们需要学习各种查询条件,包括大于小于、like、between and 等等,以及排序操作;
聚合函数:比较常用的是 avg, count, max, min, sum 等函数;
数据库函数:MySQL 自带了很多函数,一些常见的函数,我们也需要了解,包括数学函数、字符串函数、日期函数、条件判断函数等等;
复杂的查询:包括各种关联查询(内连接、外连接、自连接)、子查询、分组查询(group by ... having...)等等;
索引:这里我们要对索引有一个基本的认识,索引可以让查询语句执行的更快,我们要知道如何通过 SQL 语句创建索引;
其他的包括:视图、存储过程、事务等等。
03. SQL 优化
第二阶段的 SQL 学习,主要是学习 SQL 怎么用,而到了这个阶段,需要知道如何用更合理。
索引:对索引有更深入的了解,为什么用了索引查询就会变快?索引有哪些分类,常用的 B+ 树索引的数据结构是什么样的,索引对新增、修改、删除有什么样影响等等;
SQL 优化:写一个 SQL 语句很简单,让这个 SQL 执行的更快,就需要下写功夫了;要熟悉常用的 SQL 优化技巧,比如哪些错误的 SQL 写法可能会导致索引失效,如何查询和定位慢 SQL 等等;
数据类型:对每一种数据类型的大小、范围、适用场景都有了解,不同的数据选择合适的数据类型,比如人的年龄这个字段,就没有必要选择 INT 类型了;
到了这个极端,对于开发人员算是比较合格的了,注意!只是合格,我在工作中见过不少程序员,只停留在第二阶段,他们只管实现很少关注效率,这对于项目来说都是隐藏的危机。
如果想要更进一步,我们要继续学习的内容还有很多,比如 MySQL 的存储引擎(每种存储引擎的区别)、事务特性、锁、隔离级别、部署方式等等,甚至一些和 MySQL 没有实质关联的内容,比如表结构的设计、表的拆分、各种数据库中间件等等。
要学的内容有这么多,我们没有必要把过多的精力放在工具的学习上。
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |