96SEO 2026-02-19 21:17 0
xmlns="http://www.w3.org/2000/svg">
style="-webkit-tap-highlight-color:
class="toc">
为什么要用数据库存储数据
层(核心层)
接口)
Utilities(服务与工具)
SQL语句分类和存储引擎
结语
id="github_5">github地址
有梦想的电信狗
数据库是现代应用的核心,它为数据的安全存储、高效查询和便捷管理提供了解决方案。
本文以
MySQL为例,从基础概念到实际操作,带你快速入门并理解数据库的整体架构与常见用法。
MySQL的登录
命令:mysql
-u_root-p
命令中选项的解释:
-h:指明登录部署了mysql服务的主机ip地址,这里127.0.0.1表示本机
-P:指明我们要访问的端口号,不输入-P时,默认使用配置文件中的端口
-u:指明登陆用户
-p:指明登录时需要输入密码
密码输入后,不会回显
mysql后,输入quit退出什么是数据库
mysql与mysqldsrc="https://i-blog.csdnimg.cn/direct/710853feaf274d93baacae4284df9f15.png#pic_center">
mysql:是数据库服务的客户端mysqld:是数据库服务的服务器端。可执行程序带上d,表示这是一个守护进程。
mysql本质:是基于C(mysql)S(mysqld)模式的一种网络服务mysql是一套提供数据存取的服务的网络程序
口语中说的数据库,一般指的是,在磁盘或者内存中存储的特定结构组织的数据,也就是将来在磁盘上存储的一套数据库方案
数据库服务,可以特指mysqld
为什么要用数据库存储数据
数据库提供访问控制、备份与恢复机制,更安全可靠。
数据库可以高效组织、分片和扩展,满足大规模应用需求。
数据库能够同时支持磁盘存储和内存优化,实现大数据量下的高效操作。
数据库提供统一的接口和
API,用户只需提出“存储字段”和“查询需求”,数据库就能高效返回结果,减少开发者对底层存储的直接管理,使应用更易维护和扩展。
id="_72">为什么用数据库存储数据
API,开发者可以方便地进行增删改查、统计分析,减少冗余和不一致。
总结一句话:数据库是为了解决文件存储在安全性、管理性、查询效率、扩展性和程序操作上的不足,使数据能够更安全、更高效、更可控地存储与使用。
Linux中MySQL数据库的使用样例
Ubuntu22.04
中mysql服务中配置文件存放的路径:/etc/mysql/mysql.conf.d/mysqld.cnfUbuntu22.04
/etc/mysql/mysql.conf.d/mysqld.cnf
punctuation">[mysqld
class="token
- 查看已有的数据库
punctuation">;
mysql服务中数据存放的路径
建立数据库的本质是在磁盘中建立了一个文件夹:
alt="在这里插入图片描述"
src="https://i-blog.csdnimg.cn/direct/9947293add824df4bb61a79cfa3f1909.png#pic_center">
punctuation">;
punctuation">;
punctuation">;
src="https://i-blog.csdnimg.cn/direct/bbbfb07610404271a8c4a5e52a2a647d.png#pic_center">
总结结论:
Linux下建立一个目录!
**只不过这些文件并不由程序员直接操作,而是由数据库服务帮我们进行操作
以上工作是谁做的?
是mysqld服务帮我们做的
常见主流数据库
微软的产品,.Net程序员的最爱,中大型项目。
甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。
主要用在电商,SNS,论坛。
对简单的SQL处理效果好。
:加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。
是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。
它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中
服务器,数据库,表关系
src="https://i-blog.csdnimg.cn/direct/c8aa0821f11d4b3e80753f5738353a88.png#pic_center">
src="https://i-blog.csdnimg.cn/direct/f69ffed163b04e3bb1250b27ab0c71cc.png#pic_center">
MySQL整体架构
Solaris。
各种系统在底层实现方面各有不同,但是
基本上能保证在各个平台上的物理体系结构的一致性
src="https://i-blog.csdnimg.cn/direct/89b8364531f64e6187cd20c720dfe36f.png#pic_center">
这张图大致把
四层结构:
id="1_Client_Connectors_193">1.
JDBC、ODBC、.NET、PHP、Python、Perl、C
等。
语句、获取结果。
id="1Connection_Pool_205">(1)Connection
客户端连接管理:建立连接、用户认证(用户名、密码)、权限校验。
DML(增删改查)、DDL(建表/改表)、存储过程、视图、触发器等。
id="3Parser_214">(3)Parser(解析器)
语句分解成一个个词法单元。
是否合理,例如表名是否存在。
执行方案。
id="5Caches_226">(5)Caches(缓存)
Pool(页缓存、索引缓存)。
id="6Services__Utilities_232">(6)Services
Utilities(服务与工具)
id="3_Pluggable_Storage_Engines_243">
3.核心特点之一:存储引擎可插拔。
数据库)
接口,但负责数据的实际存储与读取。
最底层:文件系统与日志层
System(文件系统)
NTFS、ext4、SAN、NAS)。
Files(日志与文件)
log(二进制日志,用于复制与恢复)
files(实际数据和索引文件)
MySQL
文件系统层”。
解析、优化、缓存、安全。
SQL语句分类和存储引擎
DDL【datadefinition
language】
数据定义语言,用来维护存储数据的结构create,drop,
alter
DML【datamanipulation
language】
数据操纵语言,用来对数据进行操作insert,delete,updateDML中又单独分了一个DQL,数据查询语言,代表指令:selectDCL【DataControl
Language】
数据控制语言,主要负责权限管理和事务grant,revoke,commitid="_294">存储引擎
MySQL的核心就是插件式存储引擎,支持多种存储引擎。
查看存储引擎:
punctuation">;
src="https://i-blog.csdnimg.cn/direct/cf83e92f8601448b85421e96676e7067.png#pic_center">
MySQL
存储引擎对比
| Feature | MyISAM | BDB | Memory | InnoDB | Archive | NDB |
|---|---|---|---|---|---|---|
| Storage Limits | No | No | Yes | 64TB | No | Yes |
Transactions(commit,etc.) | ✘ | ✔ | ✘ | ✔ | ✘ | ✔ |
| Locking granularity | Table | Page | Table | Row | Row | Row |
| MVCC/Snapshot Read | ✘ | ✘ | ✘ | ✔ | ✘ | ✘ |
| Geospatial support | ✔ | ✘ | ✘ | ✔ | ✘ | ✘ |
| B-Tree indexes | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ |
| Hash indexes | ✘ | ✘ | ✔ | ✔ | ✘ | ✔ |
Fulltextindex | ✔ | ✘ | ✘ | ✔ | ✘ | ✘ |
| Clustered index | ✘ | ✘ | ✘ | ✔ | ✘ | ✔ |
| Data Caches | ✘ | ✘ | ✘ | ✔ | ✘ | ✔ |
| Index Caches | ✔ | ✘ | ✘ | ✔ | ✘ | ✔ |
| Compressed data | ✘ | ✘ | ✘ | ✔ | ✔ | ✘ |
Encrypteddatafunction) | ✔ | ✘ | ✘ | ✔ | ✘ | ✘ |
Storagecostused) | Low | Low | N/A | High | Very Low | Low |
| Memory cost | Low | Low | Medium | High | Low | High |
BulkInsertSpeed | High | High | High | Low | Very High | High |
Clusterdatabasesupport | ✘ | ✘ | ✘ | ✘ | ✘ | ✔ |
| Replication support | ✔ | ✘ | ✘ | ✔ | ✘ | ✔ |
Foreignkeysupport | ✘ | ✘ | ✘ | ✔ | ✘ | ✘ |
| Backup/Point-in-time recovery | ✔ | ✘ | ✘ | ✔ | ✘ | ✔ |
Querycachesupport | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
UpdateStatisticsDictionary | ✔ | ✘ | ✘ | ✔ | ✘ | ✔ |
总结要点:
默认引擎,支持事务、行级锁、外键,适合大多数应用。
(Cluster)
:支持分布式集群,适合高可用、高并发场景。通过本文的学习,我们了解了数据库的作用、MySQL
的基本使用方式及其架构特点。
数据库不仅是数据存放的工具,更是应用高效运行的关键。
以上就是本文的所有内容了,如果觉得文章对你有帮助,欢迎
支持!
如有疑问或建议,请在评论区留言交流,我们一起进步
分享到此结束啦一键三连,好运连连!你的每一次互动,都是对作者最大的鼓励!
征程尚未结束,让我们在广阔的世界里继续前行!
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback