目录
一、MySQL基础
陈老老老板
说明:之前系统性的学习java不是很完整,总觉得差些东西,基础不够扎实,所以重新复习一遍,作为马上步入社会的毕业党,在加把劲。
1,数据库相关概念
以前我们做系统,数据持久化的存储采用的是文件存储。存储到文件中可以达到系统关闭数据不会丢失的效果,当然文件存储也有它的弊端。
假设在文件中存储以下的数据:
姓名 年龄 性别 住址
张三 23 男 北京西三旗
李四 24 女 北京西二旗
王五 25 男 西安软件新城
现要修改李四这条数据的性别数据改为男,我们现学习的IO技术可以通过将所有的数据读取到内存中,然后进行修改再存到该文件中。通过这种方式操作存在很大问题,现在只有三条数据,如果文件中存储1T的数据,那么就会发现内存根本就存储不了。
现需要既能持久化存储数据,也要能避免上述问题的技术使用在我们的系统中。数据库就是这样的一门技术。
1.1 数据库
-
存储和管理数据的仓库,数据是有组织的进行存储。
-
数据库英文名是 DataBase,简称DB。
数据库就是将数据存储在硬盘上,可以达到持久化存储的效果。那又是如何解决上述问题的?使用数据库管理系统。
1.2 数据库管理系统
-
管理数据库的大型软件
-
英文:DataBase Management System,简称 DBMS
在电脑上安装了数据库管理系统后,就可以通过数据库管理系统创建数据库来存储数据,也可以通过该系统对数据库中的数据进行数据的增删改查相关的操作。
注:我们平时说的MySQL数据库其实是MySQL数据库管理系统。
通过上面的描述,大家应该已经知道了 数据库管理系统
和 数据库
的关系。那么有有哪些常见的数据库管理系统呢?
1.3 常见的数据库管理系统
接下来对上面列举的数据库管理系统进行简单的介绍:
-
Oracle:收费的大型数据库,Oracle 公司的产品
-
MySQL: 开源免费的中小型数据库。后来 Sun公司收购了 MySQL,而 Sun 公司又被 Oracle 收购
-
SQL Server:MicroSoft 公司收费的中型的数据库。C#、.net 等语言常使用
-
PostgreSQL:开源免费中小型的数据库
-
DB2:IBM 公司的大型收费数据库产品
-
SQLite:嵌入式的微型数据库。如:作为 Android 内置数据库
-
MariaDB:开源免费中小型的数据库
我们课程上学习的是MySQL数据库管理系统,PostgreSQL在一些公司也有使用,此时大家肯定会想以后在公司中如果使用我们没有学习过程的PostgreSQL数据库管理系统怎么办?这点大家大可不必担心,如下图所示:
我们可以通过数据库管理系统操作数据库,对数据库中的数据进行增删改查操作,而怎么样让用户跟数据库管理系统打交道呢?就可以通过一门编程语言(SQL)来实现。
1.4 SQL
-
英文:Structured Query Language,简称 SQL,结构化查询语言
-
操作关系型数据库的编程语言
-
定义操作所有关系型数据库的统一标准,可以使用SQL操作所有的关系型数据库管理系统,以后工作中如果使用到了其他的数据库管理系统,也同样的使用SQL来操作。
2,MySQL
关于Mysql安装的部分可以看我的博客,超级简单:
2.5 MySQL数据模型
关系型数据库:
关系型数据库是建立在关系模型基础上的数据库,简单说,关系型数据库是由多张能互相连接的 二维表 组成的数据库
如下图,订单信息表
和 客户信息表
都是有行有列二维表我们将这样的称为关系型数据库。
接下来看关系型数据库的优点:
-
都是使用表结构,格式一致,易于维护。
-
使用通用的 SQL 语言操作,使用方便,可用于复杂查询。
-
关系型数据库都可以通过SQL进行操作,所以使用方便。
-
复杂查询。现在需要查询001号订单数据,我们可以看到该订单是1号客户的订单,而1号订单是李聪这个客户。以后也可以在一张表中进行统计分析等操作。
-
-
数据存储在磁盘中,安全。
数据模型:
如上图,我们通过客户端可以通过数据库管理系统创建数据库,在数据库中创建表,在表中添加数据。创建的每一个数据库对应到磁盘上都是一个文件夹。比如可以通过SQL语句创建一个数据库(数据库名称为db1),语句如下。该语句咱们后面会学习。
我们可以在数据库安装目录下的data目录下看到多了一个 db1
的文件夹。所以,在MySQL中一个数据库对应到磁盘上的一个文件夹。
而一个数据库下可以创建多张表,我们到MySQL中自带的mysql数据库的文件夹目录下:
而上图中右边的 db.frm
是表文件,db.MYD
是数据文件,通过这两个文件就可以查询到数据展示成二维表的效果。
注:*.frm是描述了表的结构 frm—–>frame框架
*.myd保存了表的数据记录 d——>data
*.myi则是表的索引 i——>index
小结:
-
MySQL中可以创建多个数据库,每个数据库对应到磁盘上的一个文件夹
-
在每个数据库中可以创建多个表,每张都对应到磁盘上一个 frm 文件
-
每张表可以存储多条数据,数据会被存储到磁盘中 MYD 文件中
3,SQL概述
了解了数据模型后,接下来我们就学习SQL语句,通过SQL语句对数据库、表、数据进行增删改查操作。
3.1 SQL简介
-
英文:Structured Query Language,简称 SQL
-
结构化查询语言,一门操作关系型数据库的编程语言
-
定义操作所有关系型数据库的统一标准
-
对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,我们称为“方言”
3.2 通用语法
-
SQL 语句可以单行或多行书写,以分号结尾。
-
© 版权声明文章版权归作者所有,未经允许请勿转载。THE END