centos

CentOS环境下Python如何进行数据库操作

小樊
47
2025-07-08 21:26:05
栏目: 编程语言

在CentOS环境下,Python可以通过多种方式与数据库进行交互。以下是一些常见的数据库和相应的Python库,以及如何使用它们进行数据库操作的基本指南。

  1. MySQL/MariaDB:

    • 使用的Python库通常是mysql-connector-pythonPyMySQL
    • 安装库(以mysql-connector-python为例):
      pip install mysql-connector-python
      
    • 使用示例:
      import mysql.connector
      
      # 连接数据库
      cnx = mysql.connector.connect(user='username', password='password',
                                    host='127.0.0.1',
                                    database='mydatabase')
      
      # 创建游标
      cursor = cnx.cursor()
      
      # 执行查询
      query = ("SELECT * FROM mytable")
      cursor.execute(query)
      
      # 获取查询结果
      for row in cursor:
          print(row)
      
      # 关闭游标和连接
      cursor.close()
      cnx.close()
      
  2. PostgreSQL:

    • 使用的Python库通常是psycopg2
    • 安装库:
      pip install psycopg2-binary
      
    • 使用示例:
      import psycopg2
      
      # 连接数据库
      conn = psycopg2.connect(dbname="mydatabase", user="username",
                              password="password", host="127.0.0.1")
      
      # 创建游标
      cur = conn.cursor()
      
      # 执行查询
      cur.execute("SELECT * FROM mytable")
      
      # 获取查询结果
      rows = cur.fetchall()
      for row in rows:
          print(row)
      
      # 关闭游标和连接
      cur.close()
      conn.close()
      
  3. SQLite:

    • SQLite是一个轻量级的数据库,Python内置了对SQLite的支持,不需要安装额外的库。
    • 使用示例:
      import sqlite3
      
      # 连接数据库
      conn = sqlite3.connect('mydatabase.db')
      
      # 创建游标
      cursor = conn.cursor()
      
      # 执行查询
      cursor.execute("SELECT * FROM mytable")
      
      # 获取查询结果
      rows = cursor.fetchall()
      for row in rows:
          print(row)
      
      # 关闭游标和连接
      cursor.close()
      conn.close()
      
  4. MongoDB:

    • 使用的Python库是pymongo
    • 安装库:
      pip install pymongo
      
    • 使用示例:
      from pymongo import MongoClient
      
      # 连接数据库
      client = MongoClient('mongodb://localhost:27017/')
      
      # 选择数据库和集合
      db = client['mydatabase']
      collection = db['mycollection']
      
      # 插入文档
      document = {"name": "John", "age": 30}
      collection.insert_one(document)
      
      # 查询文档
      for doc in collection.find():
          print(doc)
      

在进行数据库操作时,请确保遵循最佳实践,比如使用参数化查询来防止SQL注入攻击,以及在操作完成后适当地关闭数据库连接。此外,对于生产环境,建议使用虚拟环境来管理Python依赖。

0
看了该问题的人还看了