type
status
date
slug
summary
tags
category
icon
password
关系型数据库PostgreSQL搭配上Prisma ORM,焕发出极大的活力
PostgreSQL,通常简称为Postgres,是一个强大的开源对象关系型数据库系统。它以其可靠性、健壮性、灵活性和对SQL标准的高度遵从性而闻名,被广泛应用于从小型应用程序到大型企业系统的各种数据存储解决方案中。
📝 主旨内容
PostgreSQL的主要特点:
- 高度兼容SQL标准:PostgreSQL支持广泛的SQL语言标准,并且不断更新以支持更多的SQL标准特性。
- 扩展性:PostgreSQL支持用户自定义数据类型、函数、运算符和聚合函数。这意味着你可以根据需要扩展数据库的功能。
- 高级功能:它包括高级功能如复杂查询、外键、触发器、视图、事务完整性以及多版本并发控制(MVCC)。
- 强大的数据完整性:通过对外键、表约束、联合约束等支持,确保数据的准确性和一致性。
- 安全性:提供强大的安全机制,包括角色基础的权限系统和对SSL的支持,确保数据安全。
什么是关系型数据库?
关系型数据库是一种基于关系模型的数据库。在关系模型中,数据以表格的形式存储,每个表格被称为一个"关系"。表中的每一行(称为记录)代表一个实体,而每一列(称为属性)代表该实体的一个数据项。关系型数据库使用SQL作为查询和操作数据的语言。关系型数据库的主要特点包括数据的一致性、完整性以及支持复杂的查询和事务控制。几乎所有支持SQL语言的数据库系统都是关系型数据库系统,包括但不限于PostgreSQL、MySQL、SQLite、Oracle (商业关系型数据库管理系统)和 SQL Server(微软)。
非关系型数据库采用更灵活的数据存储模型,如键值对、文档、宽列存储或图形,适应不同类型的数据需求和查询模式。它牺牲了一些一致性,优化了读写操作的性能和可拓展性。常见的包括MongoDB、Redis、Neon4j
Redis:开源的键值存储系统,常用作缓存和消息队列。如聊天界面信息缓存等 MongoDB:文档型数据库,以其灵活性和易用性著称,适合存储JSON式数据 Neo4j:图形数据库,优化了存储和处理图形结构数据的操作,如社交网络分析
什么是SQL?
SQL(Structured Query Language)是一种特定目的的编程语言,用于管理和操作关系数据库。它允许用户执行各种操作,如查询数据、更新数据、插入数据和删除数据,以及创建和修改数据库结构。SQL是一种声明式语言,意味着用户只需要指定要完成的任务,而不需要提供如何完成的具体步骤。由于其强大的功能和简便性,SQL成为了数据库管理的事实标准。
常用SQL语句及解释
- SELECT
用于从数据库表中检索数据。
- INSERT INTO
用于向数据库表中插入新的数据行。
- UPDATE
- DELETE
- CREATE TABLE
- DROP TABLE
- ALTER TABLE
用于修改数据库表的结构,比如添加、删除或修改列。
这条语句会在
table_name
表中添加一个新列column_name
,数据类型为datatype
。- JOIN
用于结合来自两个或多个表的行,基于相关列之间的关系。
PostgreSQL 常用操作
包括query, filter, join, group, operation, modify, transaction, export, manage tables, constraints, Data types, conditional expressions and operators等操作和细节,都可以通过下方快速入门链接进行学习,这里不过多展开,因为业务中实际上可能也只使用一部分功能。
🤗 总结归纳
我认为数据库知识是非常丰富的,但难点不在数据库本身,而在于其与其他part的connection,你可能要为你的database选择另一种ORM,或者将数据库放在Docker等虚拟环境上,到时候怎么操作数据库,感觉才是重点。
📎 参考文章/链接
PostgreSQL 官网 https://www.postgresql.org/
POSTGRESQL 快速入门 https://www.postgresqltutorial.com/
有关这篇博客的任何问题,欢迎您在底部评论区留言,我会在github邮箱中第一时间收到邮件,让我们一起交流~
- Author:Zachary_Yang
- URL:https://notion-next-git-main-little1ds-projects.vercel.app//919883c459d64674ae30a46c19ba3f4a
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!