目录
1.数据库
1.1.什么是数据库?
1.2.为什么要用数据库?
1.2.1.数据存储的发展史
1.2.2.文件存储的缺点
1.3.数据库分类
1.3.1.关系型数据库(RDBMS)
1.3.2.非关系型数据库(了解)
1.3.3.关系型数据库和非关系型数据库的区别
2.MySQL
2.1.什么是MySQL?
2.2 数据库和 MySQL 关系?
2.3.MySQL的发展史
2.4.MySQL的组成
2.4.1.服务器端(服务的提供方,相当于卖家)
2.4.2.客户端(服务的使用方,相当于买家,消费者)
2.5.MySQL在程序中的"位置"
1.数据库
1.1.什么是数据库?
数据库是用来保存结构化信息和数据的集合,简单说就是用来存储和查询数据的。
1.2.为什么要用数据库?
1.2.1.数据存储的发展史
- 人工管理阶段:很久很久以前人们将数据刻在动物的骨头上,再是竹片,后来是写到纸上。
- 文件系统阶段:之后人们发展计算机,为管理各种数据,科学家发明了文件系统。
- 数据库阶段:随着数据量越来越大,在文件中修改,查看和保持变得越来越难,于是就有使用数据库。
1.2.2.文件存储的缺点
- 文件的安全性问题。
- 文件不利于数据查询和管理。
- 文件不利于存储海量数据。
- 文件在程序中控制不方便。
而数据库的诞生可以解决以上问题,它用来查询数据,存储数据,权限控制。
1.3.数据库分类
1.3.1.关系型数据库(RDBMS)
是指采用了关系模型来组织数据的数据库。关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。基于标准的SQL,只是内部一些实现有区别。
其展现形式如下,由多个这样的二维表组成。
常用的关系型数据库如:
- Oracle:甲骨文的产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系统。收费。服务全面。
-
MySQL:甲骨文的产品,不适合做复杂的业务。开源免费。有" ; "。对于字符串,MySQL是单引号,Java是双引号。
-
SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目。收费。无" ; "。
-
DB 2 :IBM 出品的数据库。
-
postgresql:开源免费的数据库。
-
MariaDB:基于 MySQL 的一个开源数据库产品。
1.3.2.非关系型数据库(了解)
不规定基于SQL实现。现在更多是指NoSQL数据库,如:
- 基于键值对(Key-Value):如 memcached(内存性)、redis(内存+磁盘,可持久化)。HashMap:jdk1.7:数组+链表;jdk1.8:数组+链表+红黑树。
- 基于文档型:如 mongodb。
- 基于列族:如 hbase。
- 基于图型:如 neo4j。
1.3.3.关系型数据库和非关系型数据库的区别
2.MySQL
2.1.什么是MySQL?
MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,后面被 SUN 和 Oracle 公司收购。MySQL 是最流行的关系型数据库管理软件之一。
2.2 数据库和 MySQL 关系?
数据库是“目标”而MySQL是“具体的实现手段”。后面我们常常说的数据库,大部分指的就是MySQL(因为 MySQL 的市场占有率太高了,几乎所有的公司都使用的是此种数据库)。
2.3.MySQL的发展史
MySQL是一个跨世纪的伟大产品,它最早诞生于1979年,比Java的诞生(1991年)还早十几年。
对于MySQL来说2008年是一个重要的一年,因为这一年MySQL被原来的Sun公司以10亿美金收购了,第二年Sun公司又以74亿美金将自己和所有的产品打包卖给了Oracle,从此Oracle DB和MySQL两家并一家都归属Oracle公司了。
这里有⼀个小插曲,Oracle在收购了Sun公司的第⼆年就以⼀纸诉状将Google告上了法庭,原因是Google侵权使用了Java语言,Oracle要求赔偿88亿美元,这场旷世纪的官司最终在2018年以Oracle的胜诉而告⼀段落,那我们可不可以理解Oracle如果真拿到了88亿美元,在不计算打官司所花的费用来说,既白嫖了Java和MySQL还白赚了14亿美元呢。
2.4.MySQL的组成
2.4.1.服务器端(服务的提供方,相当于卖家)
组成有四个:
- 数据库database:(相当于java中的包名);
- 表table:(相当于java中的类名)一个数据库对应了多张表;
- 字段:列数据(相当于java类中的属性)xxx.frm;
- 数据:行数据(相当于实例化该对象)xxx.ibd。
so~一个MySQL中可以有多个数据库,一个数据库可以有多张表,每个表中可以有多个列,每个列可以有多个数据。整个数据库都是一对多的关系。
服务器端的服务体现就是:
2.4.2.客户端(服务的使用方,相当于买家,消费者)
控制台命令行工具,分两种:mysql自带的连接工具和windows自带的命令行。
- 1.mysql自带的连接工具:MySQL Command Line Client:
使用MySQL Command Line Client就可以连接服务器端,输入正确的密码就可以连接MySQL(服务器端)了:
这种只能连接本地的MySQL服务器端。
- 2.windows自带的命令行(普通控制台连接):
上一篇文章中有讲到如何配置:
需要将mysql添加到系统的连接变量中,分两步:
a.找到mysql的安装目录;
b.将mysql配置到系统环境中。
连接命令为:mysql -h 127.0.0.1 -P 3306 -u root -p
其中:
- -h:host的缩写,连接服务器的ip地址(如果连本机,此项可忽略);
-
-P:port端⼝号的缩写,为 mysql服务器端的端⼝号,默认为 3306 (如果连本机,此选项可省 略);
-
-u:username的缩写,表示使用用户root进行连接;
-
-p:password 的缩写,表示连接的密码。
这样可以连接其他人或生产服务器的mysql服务端,还可以连接本机。