三分钟!彻底搞懂PostgreSQL 和 MySQL 区别之分
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三分钟!彻底搞懂PostgreSQL 和 MySQL 区别之分相关的知识,希望对你有一定的参考价值。
参考技术A PostgreSQL 和 mysql 是将数据组织成表的关系数据库。这些表可以根据每个表共有的数据链接或关联。关系数据库使您的企业能够更好地了解可用数据之间的关系,并帮助获得新的见解以做出更好的决策或发现新的机会。PostgreSQL 和 MySQL 都依赖于 SQL(结构化查询语言),这是与管理系统交互的标准语言。SQL 允许使用具有简单结构的几行源代码连接表,大多数非技术员工可以快速学习。
使用 SQL,分析师不需要知道订单表在磁盘上的位置、如何执行查找以查找特定订单或如何连接订单表和客户表。数据库编译查询并计算出正确的数据点。
MySQL 和 PostgreSQL 都支持 javascript Object Notation (JSON) 存储和传输数据,尽管 PostgreSQL 也支持 JSONB,这是 JSON 的二进制版本,它消除了键的重复和无关的空格。
除了传统的支持机制外,这两个数据库都提供强大的社区支持。
PostgreSQL,也称为 Postgres,是一种开源关系数据库,因其可靠性、灵活性和对开放技术标准的支持而享有盛誉。PostgreSQL 支持非关系和关系数据类型。它被称为当今可用的最兼容、最稳定和最成熟的关系数据库之一,并且可以轻松处理复杂的查询。
PostgreSQL 的特性包括:
PostgreSQL 这是一个“一刀切”的解决方案,适用于许多寻求经济高效的方法来改进其数据库管理系统 (DBMS) 的企业。它具有足够的可扩展性和多功能性,可以通过强大的扩展生态系统快速支持各种专业用例,涵盖时间序列数据类型和地理空间分析等工作。作为开源数据库解决方案构建的 PostgreSQL 完全不受许可限制、供应商锁定的可能性或过度部署的风险。PostgreSQL 通过对象关系数据库管理系统 (ORDBMS) 进行管理。
PostgreSQL 负责管理业务活动的在线事务处理 (OLTP)协议的企业数据库管理员提供了理想的解决方案,包括电子商务、客户关系管理系统 (CRM) 和财务分类帐。它也是管理接收、创建和生成的数据分析的理想选择。
这些是 PostgreSQL 的一些主要优点:
MySQL — 一种快速、可靠、可扩展且易于使用的开源关系数据库系统 — 旨在处理关键任务、高负载的生产应用程序。它是一种常见且易于启动的数据库,内存、磁盘和 CPU 利用率较低,有关系数据库管理系统 (RDMS) 管理。MySQL Community Edition 是一个由活跃的在线社区支持的免费下载版本。
MySQL 功能包括所有 SQL 标准命令以及事务和 ACID 合规性(代表原子性、一致性、隔离性和持久性)。
两个最常见的关系数据库是什么 MySQL 和 Oracle。MySQL 不是 SQL Server 的同义词,SQL Server 是 Microsoft 许可产品,与 MAC OS X 缺乏兼容性。
MariaDB 经常与 MySQL 混淆,它是 MySQL 的一个开源分支,速度更快,提供更多存储引擎 (12),但功能有限。MySQL 和 MariaDB 使用的存储引擎都是 InnoDB。InnoDB 提供标准的 ACID 兼容特性。与 MySQL 不同,MariaDB 不支持数据屏蔽或动态列表。
MySQL 通常用作 Web 数据库来存储各种信息类型,从单个信息数据点到为组织提供的产品或服务的完整列表。它是LAMP(Linux 操作系统、Apache HTTP 服务器、MySQL RDBMS 和 php 编程语言)的基础组件,这是一种有助于创建API、Web 应用程序和网站的软件堆栈模型。
MySQL Workbench 是一个单一的、集成的可视化 SQL 平台,用于 MySQL 数据库的创建、开发、设计和管理。
MySQL 为市场提供了许多好处,包括:
PostgreSQL 和 MySQL 之间有很多不同之处。特性、功能和优势方面的一些差异如下:
总之,PostgreSQL 和 MySQL 都有不同的用途,它们之间的选择取决于企业目标和资源。一般来说,PostgreSQL 是一个更强大、更高级的数据库管理系统,非常适合需要在大型环境中快速执行复杂查询的组织。但是,对于预算和空间更受限制的公司来说,MySQL 是一个理想的解决方案。
不用再怕报错,5分钟彻底搞懂 python 异常处理
异常处理在工程文件中必不可少,今天就带大家彻底搞定异常处理。喜欢记得收藏、关注、点赞。
异常处理
在python
中我们使用try
和except
关键字来捕获异常:
-
try下写:不确定能不能正常执行的代码
-
except下写:如果try下的代码执行失败时要执行的代码
例1
要求用户输入整数:
try:
# 不确定能不能正常执行的代码
num = int(input("请输入一个数字:"))
except:
# 如果try下的代码执行失败时要执行的代码
print("请输入一个正确的数字!")
输入:`z`
输出:请输入一个正确的数字!
错误类型捕获
在程序执行时,可能会报不同的错误。如果需要针对不同类型的异常做出不同的响应,就需要指定错误类型了:
try:
#尝试执行的代码
pass
except 错误类型1:
#针对错误类型1,对应的代码处理
pass
except(错误类型2,错误类型3):
#针对错误类型2和3对应的代码处理
pass
except Exception as result:
# 除了123之外的错误
print("未知错误 %s" %result)
例2
提示用户输入一个整数,使用8除以用户输入的整数并且输出:
while True:
try:
# 提示用户输入一个整数
num = int(input("输入一个整数:"))
# 输入不是整数就报错,输入0也是报错,这里我们需要捕获异常
result = 8 / num
print(result)
except ZeroDivisionError:
print("错误,除数不能为0")
except ValueError:
print("请输入数字")
# 捕获未知错误
except Exception as result:
print("未知错误 %s" %result)
异常捕获中,也可以使用else
与finally
关键字:
-
else:没异常会执行的代码
-
finally:无论是否有异常,都会执行的代码
例3
异常捕获的完整语法:
try:
# 提示用户输入一个整数
num = int(input("输入一个整数:"))
# 输入不是整数就报错,输入0也是报错,这里我们需要捕获异常
result = 8 / num
print(result)
except ValueError:
print("请输入数字")
except Exception as result:
print("未知错误%s" % result)
else:
print("尝试成功!")
finally:
print("无论是否出现错误都会执行的代码")
输入:`z`
输出:请输入数字
输出:无论是否出现错误都会执行的代码
异常的传递
从产生异常的地方开始传递到调用异常的地方,如果一直没有处理异常,就会一直传递到主函数,然后停止程序并报出异常信息。
例4
def demo1():
return int(input("请输入一个整数:"))
def demo2():
return demo1()
print(demo2())
输入:`z`
报错信息会一直传递到主程序,然后停止:
所以说,只需要在主程序中做一个异常处理就可以完成代码的异常处理。
def demo1():
return int(input("输入整数:"))
def demo2():
return demo1()
#利用异常的传递性,在主程序捕获异常
try:
print(demo2())
except Exception as result:
print("程序出现了%s错误"%(result))
主动抛出异常raise
python中提供了Exception
异常类。在开发时,如果满足特定业务的需求希望抛出异常时,可以创建一个Exception
的对象,使用raise
关键字抛出异常对象。
例5
提示用户设置密码,如果用户输入长度<8,则抛出异常:
def input_password():
#1.提示用户输入密码
result =input("请输入密码")
#2.判断密码长度 >=8 ,返回用户输入的密码
if len(result) >=8:
return result
#3.如果<8 主动抛出异常
print("主动抛出异常!")
#1>创建异常对象 -可以使用错误信息字符串作为参数
ex =Exception("密码长度不够!")
#2> 主动抛出异常
raise ex
#提示用户输入密码
try:
print(input_password())
except Exception as result:
print(result)
恭喜结业,以上为Python全部的异常处理内容!但是还需要你在实际场景中多试多练,才能灵活应用!
推荐文章
以上是关于三分钟!彻底搞懂PostgreSQL 和 MySQL 区别之分的主要内容,如果未能解决你的问题,请参考以下文章