清华学长熬夜20天整理出的“数据库MySQL”基础篇「小白必看!」

大家可能都知道数据库是非常重要的一门技术。从事软件测试也都需要用到数据库。当然,数据库的水平也直接决定着我们工资的上限。所以,我决定系统的整理一套MySQL的文章。希望自己总结和梳理的同时,也能帮助到大家。文末也有针对性的资料,如下图,是MySQL系列的整体内容大纲。

平时我们大多数数据都是存储到Excel表中,或者学过Python,数据可以存储到列表、集合、字典中。那么它们有很多缺陷,比如数据就是容易丢失;数据量大时,查找困难。那么,这时候 我们就可以使用数据库。数据库是专门用来管理数据的软件。它的好处有两点:①实现数据持久化 ②将数据完整统一的管理,易于查询。

1、 DB

数据库(Database),保存一组有组织的数据的容器.

2、DBMS

数据库管理系统(Database Management System),又称为数据库软件(产品),用于管理DB中的数据。比如:MySQL、Oracle、DB2、SqlServer等。大多数公司使用MySQL,因为它是开源的,免费的。

3、SQL

结构化查询语言(Structure Query Language),用于和DBMS通信的语言,专门为数据库建立的操作命令集。

SQL优点: ①几乎所有的DBMS都支持SQL语言 ②简单易学 ③可以进行非常复杂和

高级的数据库操作。

以图书馆为例,三者协作关系如下图:

1.将数据放到表中,表再放到库中;

2.一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性;

3.表具有一些特性,这些特性定义了数据在表中如何存储,类似Python中 “类\”的设计;

4.表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似Python中的\”属性”;

5.表中的数据是按行存储的,每一行类似于Python中的\”对象\”。

1、命名规范

1)库名只能使用英文字母,数字,下划线,并以英文字母开头,大写字母

2)表名只能使用字母、数字和下划线,一律小写

3)命名简洁明确(长度不能超过32个字符)

4)字段名尽量不用关键字(如type,order等)

5)用尽量少的存储空间来存储一个字段的数据

2、语法规范

1)不区分大小写,但建议关键字大写,表名、列名小写

2)每条命令最好用分号结尾

3)每条命令根据需要,可以进行缩进 或换行

4)注释

单行注释:#注释文字

单行注释:– 注释文字

多行注释:/* 注释文字 */

3、数据库三范式

1)第一范式:列不可再分

2)第二范式:有主键,非主键字段依赖主键(属性完全依赖于主键)。

3)第三范式:数据表不能有冗余字段(非主键字段不能互相依赖)

三大范式是一般设计数据库的基本理念,可以建立冗余较小、结构合理的数据库。如果有特殊情况,当然要特殊对待,数据库设计最重要的是看需求跟性能,需求>性能>表结构。所以不能一味的去追求范式建立数据库。

4、SQL的语言分类

1)DQL(Data Query Language):数据查询语言 select

2)DML(Data Manipulate Language):数据操作语言 insert 、update、delete

3).DDL(Data Define Languge):数据定义语言 create、drop、alter

4)TCL(Transaction Control Language):事务控制语言 commit、rollback

1、MySQL安装和介绍

MySQL可以安装在本地,也可以安装到服务器上。比如我们需要在本地搭建一个测试库,或者想要通过客户端操作服务器上的数据库,那可以在本地操作;如果开发环境就在云服务器上,那直接在服务器上操作即可。那么,客户端和服务器是怎样配合工作的呢,如下图:

本地(Windows 或Mac) | 云服务器(Linux)

注:这里客户端使用的Navicat,如需要破解版和安装MySQL服务的文档,关注公众号:程序员二黑,添加小姐姐微信,即可获取。这里不详细介绍。

2、MySQL服务的启动和停止

启动命令:net start mysql

停止命令:net stop mysql

注:打开cmd窗口,一定要用管理员身份!

3、MySQL服务的登录和退出

方式一:终端窗口登录

#mysql 【-h主机名 -P端口号 】-u用户名 -p密码

登录命令:mysql -hlocalhost -uroot -p

退出命令:exit 或 Ctrl + c

注:Windows安装默认密码为空。

方式二:客户端(Navicat)登录

4、 MySQL的常见命令

  • show databases; 查看所有的数据库
  • use 库名; 打开指定 的库
  • show tables ; 显示库中的所有表
  • show tables from 库名;显示指定库中的所有表
  • create table 表名(
  • 字段名 字段类型,
  • 字段名 字段类型
  • ); 创建表
  • desc 表名; 查看指定表的结构
  • select * from 表名;显示表中的所有数据

查看服务器的版本

方式一:登录到mysql服务端

select version();

方式二:没有登录到mysql服务端

mysql –version或mysql –V

好,今天学习到这里,最大的感悟是无论学习哪种语言,一定要打好基础,后期会少走很多弯路。实现功能的同时,考虑性能。这篇文章主要是初识MySQL,是我们学习MySQL 的迈出第一步。明天继续学习SQL的DOL、DML、DDL、DCL。一起加油!

最后为方便大家学习,特意给大家准备了一份超实用干货学习资源,涉及的内容非常全面。

包括,软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助…

关注+转发+私信【软件测试】即可获取

MySQL:迄今为止讲解的最详细的一篇,掌握数据库其实很容易

关于程序员,除了做项目、看视频来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书!MySQL俨然已经成为了IT技术人员必须掌握的核心技能之一!

MySQL从入门到精通

本书详细介绍了如何安装、管理、备份、维护和优化一个 MySQL 系统。对于每一件服务器操作都提出了多种的解决方案。

第一章简单介绍了 MySQL 的历史、特点,同时对 SQL 的语法进行了简单的介绍。如果读者对第一章的内容不能很好的掌握,可以略过不了解的内容,在阅读二、三章之后重新理解其中内容。第二章介绍了如何安装一个 MySQL 系统。第三、四章详细叙述了如何利用 SQL 语言以及其它的客户工具对 MySQL 数据库中的数据进行操作。第五、六章介绍了数据库目录以及如何备份、恢复和维护数据库安装。第七章介绍了 MySQL 权限系统和如何为数据库创建、撤销授权。第八章则对优化数据库性能的各个方面进行了阐述。

由于pdf文档里的细节内容实在过多所以只编辑了部分知识点的章节粗略的介绍下,每个章节小节点里面都有更细化的内容!以下就是部分章节目录,由于头条的篇幅限制目录上的详细讲解也无法一一列出,文末底下有获取以下章节的所有详细知识讲解。

第一章 MySQL入门与初步

1.1 MYSQL 简介1.2 关系数据库管理系统1.3 MYSQL 使用的 SQL 语言1.4 MYSQL 数据处理

第二章 MySQL的安装

2.1 MYSQL 系统的安装布局2.2 安装 MYSQL 系统的分发2.3 安装后期的的设置与测试2.4 系统的升级2.5 在同一台机器上运行多个 MYSQL 服务器

第三章 数据库的基本操作

3.1 MYSQL 的启动与终止3.2 MYSQL 与客户机的连接3.3 有关数据库的操作3.4 有关数据表的操作3.5 向数据表插入行记录3.6 查询数据表中的记录3.7 修改、删除数据记录

第四章 MySQL高级特性

4.1 集合函数4.2 操作日期和时间4.3 字符串模式匹配4.4 深入 SELECT 的查询功能4.5 索引属性

第五章 数据库的备份与修复

5.1 数据库目录5.2 重定位数据库目录的内容5.3 备份和恢复数据表的方法5.4 使用更新日志文件5.5 使用 MYSQL 内建复制功能5.6 总结:备份恢复数据的一般步骤.

第六章 数据库的维护与修复

6.1 数据库表的检查、修复与优化6.2 避免与 MYSQL 服务器交互作用6.3 日志文件维护6.4 建立日常维护规范

第七章 数据库安全

7.1 MYSQL 的权限系统7.2 设置用户与并授权7.3 撤销用户与授权7.4 设置密码7.5 权限修改何时生效7.6 授权原则7.7 MYSQL 的其它安全问题

第八章 数据库优化

8.1 索引的使用8.2 数据类型的问题8.3 SQL 查询的优化8.4 数据库表的处理8.5 服务器级优化

由于细节内容实在太多啦,为不影响大家阅读,所以只截出了部分知识点大致的介绍一下,每个小节点里面都有更细化的内容!

帮忙转发+关注然后私信我回复“架构书籍”即可获取这份“MySQL从入门到精通”实战书籍电子版的免费领取方式

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。