python项目连接数据库(mysql,postgresql)

在实际开发过程中,对于项目的数据查询和数据统计,那python是相当好用,相信很多后端工程师是java语言入门的,对于python呢是有一点陌生,我自己也是,不过当你操作起来呢发现其实还是蛮好上手的。以下就是一些简单的示例,大家可以参考一下。

环境:pycharm2023.1,python3.7,PostgreSQL13.1,MySql5.7.11

在Python中,对于数据库连接,你需要使用适当的数据库连接库(如sqlite3pymysqlpsycopg2等),并配置连接参数(如数据库URL、用户名、密码等)。

  • 在PyCharm的欢迎界面,选择“Create New Project”或者点击菜单栏中的“File” > “New Project”。
  • 在弹出的窗口中,选择你想要的Python解释器版本(如果你已经安装了多个版本的话)。
  • 为你的项目选择一个合适的目录位置,并输入一个项目名称。
  • 点击“Create”按钮以创建新项目。

postgresql

以下是一个简单的示例,展示如何使用Python的psycopg2库连接到postgresql数据库,并创建一个数据源:

你可以创建一个专门连接这个数据源的脚本,比如创建一个db文件夹,新建python File,命名为pgsql_db_tool,

在固定的连接信息没有定义database是因为想灵活一点访问多个数据库,注意一下我这里的password有逗号。

import psycopg2

# 固定的连接信息(除了数据库名称)
CONNECTION_INFO = {
    'host': 'pglocalhost',
    'port': '3308',
    'user': 'desmond',
    'password': 'abcdefg',
}



def execute_query_in_db(db_name, query):
    # 构建完整的连接信息
    conn_info = CONNECTION_INFO.copy()
    conn_info['database'] = db_name

    # 连接到数据库
    try:
        conn = psycopg2.connect(**conn_info)
        cur = conn.cursor()
        # 执行查询
        cur.execute(query)
        # 获取查询结果
        rows = cur.fetchall()
        # 关闭游标和连接
        cur.close()
        conn.close()
        # 返回查询结果
        return rows

    except (Exception, psycopg2.Error) as error:
        print(f"Error: {error}")
        return None

mysql

以下是一个简单的示例,展示如何使用Python的pymysql库连接到mysql数据库,并创建一个数据源:

你可以创建一个专门连接这个数据源的脚本,比如创建一个db文件夹,新建python File,命名为mysql_db_tool,

在固定的连接信息没有定义database是因为想灵活一点访问多个数据库,注意一下我这里的password有逗号。

import pymysql

config = {
    'host': 'mysqllocalhost',
    'port': 3306,
    'user': 'desmond',
    'password': 'abc123',
}


def execute_query_in_mysqldb(query, db_name):
    conn_info = config.copy()
    conn_info['database'] = db_name
    try:
        connection = pymysql.connect(**conn_info)
        cursor = connection.cursor()
        cursor.execute(query)
        rows = cursor.fetchall()
        connection.close()
        cursor.close()
        return rows
    except (Exception, pymysql.Error) as error:
        print(f"Error:{error}")
        return None

示例用法

数据源写好之后我们就可以测试一下,简单查询一下相应连接的数据库,看看是否连接成功。

你也可以在写数据源的地方进行测试,我这里新建一个test文件夹和test.py进行测试mysql连接

from db import mysql_db_tool


mysql_db_name = "你mysql连接下数据库名称,注意了,是数据库不是表名"
sql = "select count(*) from 表名"
datas = mysql_db_tool.execute_query_in_mysqldb(sql, mysql_db_name)

if datas:
    print(datas[0][0])

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Desamond

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值