Bootstrap

PyMySQL连接MySQL和StarRocks查询表

一、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)  # 输出查询到的用户信息
;