MySql数据库基础(1)
什么是MySQL
MySQL是一个关系型数据库管理系统;是最流行的关系型数据库管理软件之一。
什么是数据库
数据库是用来保存结构化信息和数据的集合,是用来存储和查询数据的。
数据库中最基础最重要的职责:
1.查询数据
2.存储数据
3.权限控制
数据库和MySQL的关系
数据库是‘“目标”,MySQL是具体的实现“手段”。就像车是一个概念,二聚体生产车的厂商就是“MySQL”。我们常常所说的数据库,大部分指的是 MySQL。
数据库!=MySQL,MySQL属于数据库,数据库是一个很大的分类。
文件保存数据有以下几个缺点:
文件的安全性问题
文件不利于数据查询和管理
文件不利于存储海量数据
文件在程序中控制不方便
数据库的分类
数据库大体可以分为 关系型数据库 和 非关系型数据库
关系型数据库(RDBMS):
是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如:
1.Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系统。收费。
2. MySQL:属于甲骨文,不适合做复杂的业务。开源免费。
3. SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目。收费。
4. DB2:IMB出品的数据库。
5. postgresql:开源免费的数据库。
6. MariaDB:基于MySQL的一个开源数据库产品。
非关系型数据库:不规定基于SQL实现。现在更多是指NoSQL数据库,如:
1.基于键值对(Key-Value):如memcached、redis
2. 基于文档型:如 mongodb
3. 基于列族:如 hbase
4. 基于图型:如 neo4j
关系型数据库与非关系型数据库的区别:
关系型数据库 | 非关系型数据库 | |
---|---|---|
使用SQL | 是 | 不强制要求,一般不基于SQL实现 |
事务支持 | 支持 | 不支持 |
复杂操作 | 支持 | 不支持 |
海量读写操作 | 效率低 | 效率高 |
基本结构 | 基于表和列,结构固定 | 灵活性比较高 |
使用场景 | 业务方面的OLTP系统 | 用于数据的缓存、或基于统计分析的OLAP系统 |
注:OLTP(On-Line Transaction Processing)是指联机事务处理,OLAP(On-Line Analytical Processing)是指联机分析处理。
MySQL关系型数据库:
1.数据库(相当于java包名)–>逻辑和物理系统分割
2.表(相当于java类)–>区分同一个系统中的不同模块的
3.字段(相当于java类属性)
4.数据(相当于java里面的new对象)
SQL分类
DDL数据定义语言,用来维护存储数据的结构
代表指令: create, drop, alter
DML数据操纵语言,用来对数据进行操作
代表指令: insert,delete,update
DML中又单独分了一个DQL,数据查询语言,代表指令: select
DCL数据控制语言,主要负责权限管理和事务
代表指令: grant,revoke,commit
以上SQL我们主要学习DDL和DML的操作。
总结
1.MySQL属于关系型数据库,用于存储和查看数据的软件。数据库属于概念,MySQL属于具体实现。
2.数据库分类:关系型数据库、非关系型数据库,MySQL属于关系型数据库。
3.MySQL组成分为客户端和服务器端,服务器端又由数据库、数据表组成。一个服务器端可以有多个数据库,一个数据库可以有多个表,一个表可以有多个数据。