简单来说:“数据库”是存储和管理数据的仓库;而这个“数据库”是理论上的,要在计算机上实现靠的是数据库管理系统,MySQL就是其中一款;SQL是我们用来和数据库管理系统对话的语言;Workbench是MySQL的官方数据库管理工具,能让对数据库管理系统的操作更简单。
现在,“收纳”这个词越来越火,甚至有专门的收纳师职业,他可以帮助我们更好地利用家庭空间,更加方便地找到想用的物品。
同样的,数据库是存放数据的仓库,但它也不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低,浪费计算机的计算和存储性能。
数据库有很多种类,我们重点介绍使用最广泛的关系数据库。
关系型数据库由多个表组成,如果你用过Excel,就会知道Excel是一张一张的二维表,每个表都是由行和列组成的。
同样的,关系数据库里存放的也是一张一张的表,只不过各个表之间是有联系的。我们可以简单形容:关系数据库=多张表+各表之间的关系。
对应的,学会关系型数据库我们只要掌握两点就可以:
1)多张表里面,每一张表的结构
2)各表之间的关系
我们接下来分别来看看这两个知识点:
1) 表的结构:
表的结构是指要了解关系数据库中的每张表——每个表由一个名字标识,此外是带有列名的列,和记录数据的行,我们举个例子就一目了然了。
下表的表名是学生表,记录了每个学生的信息。
表中每一列都有一个名字来标识,这个表有4列,列名分别是学号,姓名,性别,从列名上我们可知这一列对应记录的是什么数据。
表的每一行记录着数据,这里每一行是一名学生的信息,比如第2行是学号3016学生的信息,他的姓名是小张,性别男。
2)各表之间的关系:
我们来看图中“学生表”,“成绩表”两个表之间的关系。
这两张表通过”学号”关联,为了更清楚的看到这两个表的关系,我用相同颜色代表同一个学生的信息。
例如我想知道学生表里学号“3015” 的成绩是多少?那么我就可以在成绩表里去查找“学号”值是“3015”的行,最后在成绩表里发现有3行数据的学号都是“3015” ,对应的就找到了该学生的三门课程的成绩。
通过这个例子你应该对表之间的关系有了大概的了解,关系就是数据能够对应的匹配,在关系数据库中正式名称叫联结,对应的英文名称叫做join,联结是关系型数据库的核心概念。
上面我们讲了关系型数据库的概念和原理,要在计算机中实现关系型数据库的构建,那就需要数据库管理系统的帮助。
数据库管理系统为用户或应用程序提供访问数据库的方法,包括:数据库的建立、查询、更新及各种数据操作。
大数据时代数据存储本身也需要面对很多的问题,数据库的概念种类也越来越多,有我们刚提到的关系型数据库,还有文档型数据库、键值数据库等等,也都有与之对应的数据库管理系统。
MySQL就是非常知名的一款关系型数据库管理系统,另外还有像:SQL Server、PostgreSQL、Oracel等等。
SQL是为操作数据库而开发的一种语言,我们通过SQL语言和数据库管理系统沟通,进而对数据库及数据库里的表进行操作,比如修改数据,查找数据。
随着数据库技术的发展,人们就想到一些基础的操作:比如新建、删除、查询、修改数据库或者表能不能不用自己写SQL语句,把这些模版化的东西做成软件让开发人员的工作更加方便。
于是就有了数据库管理开发工具,比如:MySQL官方的Workbench;以及基本适用于所有主流数据库管理系统的SQL Studio。
首先:数据库管理开发工具可以将数据库可视化,图形化界面更加方便。顶部搜索栏可直接定位到具体的表、函数等。
数据库管理工具都会有SQL语句编辑框,“历史查询”会展示所有执行记录;“历史导出”会记录所有的数据导出记录。
编辑框左侧还有“一键解释执行”、“格式化”、“批量执行”等功能。“批量执行”方便刷库等操作;“解释执行”帮助分析sql语句性能从而优化。
导出数据:可以选择CSV和Excel两种格式;还可以选择导出所有数据或者结果栏显示数据;无线数据量导出,性能稳定不崩溃,目前市面上的No1。
可直接图形化界面修改表属性、表数据,并且能实时看到相应操作背后的SQL语句。
还有:直接生成简单的SQL语句模版、一键复制表等功能。
SQL Studio还提供用户管理功能,管理员可以新建普通账号给他人使用,而且只有管理员才能添加、删除数据库;这样就方便公司、学校等场所的集中管理和安全。
另外:SQL Studio是web版工具,在一定条件下分享链接即可使用,都不需要下载安装工具和数据库。
我们在学习数据库相关知识前可以下载一个数据库管理系统和一个数据库管理开发工具(或者:SQL开发工具),比如:MySQL和SQL Studio,麦聪也有发布相应的讲解视频,感兴趣的同学可以自行翻阅。
创作不易,大家喜欢的话可以点个免费的关注、点赞、评论、转发~谢谢。