一、PyMySQL连接MySQL
MySQL
MySQL 是一个广泛使用的开源关系型数据库管理系统(RDBMS)。它由 Oracle 公司维护和支持,以其可靠性、性能和易用性而闻名。MySQL 支持标准的 SQL 语言,适用于各种应用场景,包括但不限于:
Web 应用: 许多网站和在线应用使用 MySQL 作为后端数据库。
电子商务: 处理订单、库存和客户数据。
数据仓库: 存储和分析大量历史数据。
嵌入式系统: 由于其轻量级特性,MySQL 也常用于嵌入式系统。
MySQL 的主要特点包括:
高性能: 优化的查询处理和索引机制。
高可用性和可扩展性: 支持主从复制、集群等技术。
丰富的功能: 支持事务、存储过程、视图等。
社区支持: 开源社区活跃,有大量的第三方工具和文档支持。
总结
MySQL 是一个成熟的、通用的关系型数据库,适用于各种传统和现代应用。
pip install pymysql
import pymysql
def query_user_by_username(username):
# 数据库连接配置
connection = pymysql.connect(
host='localhost', # 数据库主机地址
user='root', # 数据库用户名
password='123456', # 数据库密码
database='test_db', # 数据库名
charset='utf8mb4', # 字符集
cursorclass=pymysql.cursors.DictCursor # 使用字典游标
)
try:
with connection.cursor() as cursor:
# 创建一个 SQL 查询语句
sql = "SELECT * FROM user WHERE username=%s"
# 执行查询
cursor.execute(sql, (username,))
# 获取查询结果
result = cursor.fetchone()
return result
finally:
# 关闭数据库连接
connection.close()
示例调用
if name == 'main':
username = 'tom' # 指定要查询的用户名
user_info = query_user_by_username(username)
print(user_info) # 输出查询到的用户信息
二、PyMySQL连接StarRocks
StarRocks 是一个现代化的高性能实时分析型数据库,专为实时数据分析和大规模数据处理而设计。它结合了 MPP(大规模并行处理)架构和列式存储技术,提供了极高的查询性能和扩展能力。StarRocks 的主要特点包括:
高性能查询: 优化的查询引擎和列式存储使得复杂查询也能快速响应。
实时分析: 支持实时数据摄入和即时查询,适用于实时报表和监控。
易用性: 兼容 MySQL 协议,可以使用标准的 SQL 语法进行查询。
高扩展性: 支持水平扩展,通过增加节点来提升性能和容量。
丰富的生态: 支持多种数据源集成,如 Hadoop、Spark、Flink 等。
总结
StarRocks 是一个高性能的实时分析型数据库,特别适合需要快速响应和大规模数据处理的场景。
StarRocks 是一个现代化的分布式 SQL 数据库,特别适用于实时分析场景。StarRocks 主要是基于 MySQL 协议构建的,因此可以使用 pymysql 库来连接和操作 StarRocks 数据库。
pip install pymysql
import pymysql
def query_user_by_username(username):
# StarRocks 数据库连接配置
connection = pymysql.connect(
host='127.0.0.1', # StarRocks 服务器地址
port=9030, # StarRocks 服务端口,默认是 9030
user='test_user', # StarRocks 用户名
password='test_user_123', # StarRocks 密码
database='sr_db', # StarRocks 数据库名
charset='utf8mb4', # 字符集
cursorclass=pymysql.cursors.DictCursor # 使用字典游标
)
try:
with connection.cursor() as cursor:
# 创建一个 SQL 查询语句
sql = "SELECT * FROM sr_db.user WHERE username=%s"
# 执行查询
cursor.execute(sql, (username,))
# 获取查询结果
result = cursor.fetchone()
return result
finally:
# 关闭数据库连接
connection.close()
示例调用
if name == 'main':
username = 'tom' # 指定要查询的用户名
user_info = query_user_by_username(username)
print(user_info) # 输出查询到的用户信息