栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 前沿技术 > 大数据 > 大数据系统

python连接mysql和clickhouse数据库

大数据系统 更新时间:发布时间: 百科书网 趣学号

文章目录
  • 一、连接mysql数据库
  • 二、连接clickhouse

一、连接mysql数据库

我连的是本地主机的数据库

# connect_db:连接数据库,并操作数据库

import pymysql


class OperationMysql:
    """
    数据库SQL相关操作
    import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute()  方法执行 SQL 查询
cursor.execute("SELECt VERSION()")
    """

    def __init__(self):
        # 创建一个连接数据库的对象
        self.conn = pymysql.connect(
            host='127.0.0.1',  # 连接的数据库服务器主机名
            port=3306,  # 数据库端口号
            user='root',  # 数据库登录用户名
            passwd='xiaodong1995',
            db='orange_database',  # 数据库名称
            charset='utf8',  # 连接编码
            cursorclass=pymysql.cursors.DictCursor
        )
        # 使用cursor()方法创建一个游标对象,用于操作数据库
        self.cur = self.conn.cursor()

    # 查询一条数据
    def search_one(self, sql):
        self.cur.execute(sql)
        result = self.cur.fetchone()  # 使用 fetchone()方法获取单条数据.只显示一行结果
        # result = self.cur.fetchall()  # 显示所有结果
        return result

    # 更新SQL
    def updata_one(self, sql):
        try:
            self.cur.execute(sql)  # 执行sql
            self.conn.commit()  # 增删改操作完数据库后,需要执行提交操作
        except:
            # 发生错误时回滚
            self.conn.rollback()
        self.conn.close()  # 记得关闭数据库连接

    # 插入SQL
    def insert_one(self, sql):
        try:
            self.cur.execute(sql)  # 执行sql
            self.conn.commit()  # 增删改操作完数据库后,需要执行提交操作
        except:
            # 发生错误时回滚
            self.conn.rollback()
        self.conn.close()

    # 删除sql
    def delete_one(self, sql):
        try:
            self.cur.execute(sql)  # 执行sql
            self.conn.commit()  # 增删改操作完数据库后,需要执行提交操作
        except:
            # 发生错误时回滚
            self.conn.rollback()
        self.conn.close()


if __name__ == '__main__':
    op_mysql = OperationMysql()
    res = op_mysql.search_one("SELECT *  from user5")
    print(res)

二、连接clickhouse
from clickhouse_driver import Client
import pandas as pd

host = '10.39.203.20'  # 连接的数据库服务器主机名
user = 'ai_platform_read'  # 数据库登录用户名
passwd = 'dygsqlapi'
db = 'ai_platform'  # 数据库名称
send_receive_timeout = 180  # 超时时间
client = Client(host=host, user=user, password=passwd, database=db, send_receive_timeout=send_receive_timeout)
print("连接成功")

# 查询

sql = "SELECt  x.create_time, x.output,x.input_custom FROM service_call x WHERe alg_code = 'alg100140' AND call_msg = 'OK' ORDER BY create_time DESC LIMIT 6"
ans = client.execute(sql)

data = pd.Dataframe(ans, columns=["create_time", "output",'station_id'])


转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/279982.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号