马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
欢迎拜访:-CSDN博客
本篇主题:【MySQL】数据库根本知识
发布时间:2025.1.21
从属专栏:MySQL
目次
- 什么是数据库
- 主流数据库
- mysql的安装
- mysql登录
- 使用一下mysql
- 表现数据库内容
- 创建一个数据库
- 创建一张表
- 插入数据
- 查询数据
- 清屏下令
- 总结
- 服务器,数据库,表关系
- 数据逻辑存储
- mysql架构
- mysql的分类
- 存储引擎
什么是数据库
为什么要有数据库
我们知道文件可以生存数据,那么为什么还须要数据库呢?
文件存储数据的缺点
- 数据冗余度高。当在多个文件中存储相似的数据时,大概会出现雷同的数据重复存储的环境。比方,在一个学校的文件体系中,弟子的根本信息(如姓名、性别、出生日期等)大概会在结果文件、考勤文件等多个文件中重复出现。这不光浪费存储空间,而且当须要更新弟子根本信息时,须要在多个文件中分别修改,轻易导致数据不划一。
- 数据划一性差。由于数据分散在多个文件中,很难包管数据的划一性。如果在一个文件中修改了数据,而忘记在其他相干文件中举行同步修改,就会导致数据辩论。好比,在商品库存管理中,进货文件更新了商品的库存数量,但贩卖文件没有实时更新,就会使库存数据出现错误。
- 数据关联性弱。文件体系一样平常是按照文件的格式和用途来构造的,很难有效地表现数据之间的复杂关系。比方,在一个企业的客户订单管理体系中,一个客户大概有多个订单,每个订单又包罗多种商品。在文件体系中很难直观地表现客户 - 订单 - 商品之间的这种多条理的关联关系,查询和管理这些关联数据会变得非常复杂。
- 数据安全性低。文件体系通常提供的安全机制比力有限。比方,在使用体系层面,对文件的访问控制紧张基于用户权限,对于文件内部的数据安全掩护步调相对单薄。对于一些敏感数据,如银行账户信息、企业商业机密等,文件体系很难提供充足细粒度的安全访问控制,轻易导致数据走漏。
- 数据检索服从低。在文件体系中举行数据检索,特别是对复杂条件的检索,服从每每比力低。比方,要在一个包罗大量文本文件的文件夹中查找满足特定关键词组合的文件,须要遍历每个文件的内容,这会泯灭大量的时间。而且如果文件没有精良的构造结构和索引机制,随着文件数量标增长,检索速率会急剧降落。
为相识决上述标题,专家们计划出更加利于管理数据的东西——数据库,它能更有效的管理数据。
数据库的概念
一样平常文件确实提供了数据的存储功能,但是文件并没有很好的提供内容数据的管理本事(用户角度)。
数据库(Database,简称DB)是按照数据结构来构造、存储和管理数据的堆栈。它是一个恒久存储在盘算机内的、有构造的、可共享的、同一管理的数据聚集。这些数据可以是文本、数字、图像、音频、视频等多种范例,而且是为了满足各种应用步调和用户的需求而存在的。
数据库的本质:对数据内容存储的一套办理方案,用户给数据库字段大概要求,数据库直接返回用户结果,不在须要用户对文件内容举行分析。
数据库一样平常指的是,在在磁盘大概内存中存储的特定结构构造的数据 — 未来在磁盘上存储的一套数据库方案。
数据库服务 一样平常指的是 数据库的服务端 mysqld
mysql : 是一套给我提供数据存取服务的网络步调。
站在体系层面:
- 是否启动mysql
- 区分mysql和mysqld
mysq是数据库服务的客户端
mysqld是数据库服务的服务器端
mysql本质是基于CS模式的一种网络服务
主流数据库
- SQL Sever: 微软的产物,.Net步调员的最爱,中大型项目。
- Oracle: 甲骨文产物,得当大型项目,复杂的业务逻辑,并发一样平常来说不如MySQL。
- MySQL:天下上最受欢迎的数据库,属于甲骨文,并发性好,不得当做复杂的业务。紧张用在电商,SNS,论坛。对简单的SQL处理惩罚结果好。
- PostgreSQL :加州大学伯克利分校盘算机系开辟的关系型数据库,不管是私用,商用,照旧学术研究使用,可以免费使用,修改和分发。
- SQLite: 是一款轻型的数据库,是服从ACID的关系型数据库管理体系,它包罗在一个相对小的C库中。它的计划目的是嵌入式的,而且如今已经在许多嵌入式产物中使用了它,它占用资源非常的低,在嵌入式装备中,大概只须要几百K的内存就够了。
- H2: 是一个用Java开辟的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。
mysql的安装
- Centos 6.5下编译安装MySQL 5.6.14
- CentOS 7 通过 yum 安装 MariaDB
- Windows下安装MySQL5.7
mysql登录
在Linux体系下的登录下令:
- mysql -h 127.0.0.1 -P 3306 -u root -p
复制代码
如果没有写 -h 127.0.0.1 默认是毗连本地。
如果没有写 -P 3306 默认是毗连3306端标语。
使用一下mysql
样例:
使用mysql创建一个数据库,创建一张表结构,插入一些数据 — 对比一下mysql在Linux中是怎样表现的。
表现数据库内容
mysql下令:
mysql的全部内容都存储在 /var/lib/mysql的文件夹内里
创建一个数据库
- create database helloworld
复制代码
创建数据库,本质就是在Linux的一个目次
创建一张表
- use helloworld; //进入相应的数据库
- create table student(
- name varchar(32),
- age int,
- gender varchar(2)
- );
复制代码
在数据库内创建表,本质就是在Linux下创建文件
插入数据
- insert into student (name, age, gender) values ('张三', 20, '男');
复制代码
查询数据
清屏下令
总结
- 创建数据库,本质就是在Linux的一个目次。
- 在数据库内创建表,本质就是在Linux下创建文件。
- 数据库的本质也是文件!!!只不外这些文件并不由步调员本身使用,而是由数据库服务帮我们使用。
服务器,数据库,表关系
- 所谓安装数据库服务器,只是在呆板上安装了一个数据库管理体系步调,这个管理步调可以管理多个数据库,一样平常开辟职员会针对每一个应用创建一个数据库。
- 为生存应用中实体的数据,一样平常会在数据库中创建多个表,以生存步调中实体的数据。
- 数据库服务器、数据库和表的关系如下:
数据逻辑存储
数据库是一种行列式结构。
mysql架构
MySQL 是一个可移植的数据库,险些能在当前全部的使用体系上运行,如 Unix/Linux、Windows、Mac 和 Solaris。各种体系在底层实现方面各有差异,但是 MySQL 根本上能包管在各个平台上的物理体系结构的划一性。
mysql的分类
- DDL【data definition language】 数据界说语言,用来维护存储数据的结构
代表指令: create, drop, alter。
- DML【data manipulation language】 数据使用语言,用来对数据举行使用
代表指令: insert,delete,update。
- DML中又单独分了一个DQL,数据查询语言,代表指令: select。
- DCL【Data Control Language】 数据控制语言,紧张负责权限管理和事件
代表指令: grant,revoke,commit。
存储引擎
什么是存储引擎
存储引擎:数据库管理体系怎样存储数据、怎样为存储的数据创建索引和怎样更新、查询数据等技能的实现方法。
MySQL的焦点就是插件式存储引擎,支持多种存储引擎。
检察存储引擎
下令:
最常用的是InnoDB和MYISAM。
存储引擎对比
写在末了:以上内容是我在学习以后得一些总结和概括,如有错误大概须要增补的地方欢迎各位大佬批评大概私信我交换!!!
|