ubuntu

Ubuntu上如何实现Python与数据库的连接

小樊
61
2025-05-28 03:18:26
栏目: 编程语言

在Ubuntu上,Python可以通过多种方式连接到数据库。以下是一些常见的数据库和相应的连接方法:

  1. SQLite: SQLite是一个轻量级的数据库,它不需要一个单独的服务器进程,而是直接将数据存储在一个文件中。Python通过内置的sqlite3模块来支持SQLite。

    import sqlite3
    
    # 连接到SQLite数据库(如果不存在,则会自动创建)
    conn = sqlite3.connect('example.db')
    
    # 创建一个Cursor对象使用cursor()方法
    cursor = conn.cursor()
    
    # 执行SQL查询
    cursor.execute('''CREATE TABLE IF NOT EXISTS stocks
                      (date text, trans text, symbol text, qty real, price real)''')
    
    # 提交事务
    conn.commit()
    
    # 关闭Cursor和连接
    cursor.close()
    conn.close()
    
  2. MySQL: 要连接到MySQL数据库,你需要安装mysql-connector-pythonPyMySQL

    使用pip安装mysql-connector-python:

    pip install mysql-connector-python
    

    然后,你可以使用以下代码连接到MySQL数据库:

    import mysql.connector
    
    # 连接到MySQL数据库
    cnx = mysql.connector.connect(user='username', password='password',
                                  host='127.0.0.1',
                                  database='mydatabase')
    
    # 创建一个Cursor对象
    cursor = cnx.cursor()
    
    # 执行SQL查询
    cursor.execute("SELECT * FROM mytable")
    
    # 获取查询结果
    for row in cursor:
        print(row)
    
    # 关闭Cursor和连接
    cursor.close()
    cnx.close()
    
  3. PostgreSQL: 对于PostgreSQL,你可以使用psycopg2库。

    使用pip安装psycopg2:

    pip install psycopg2-binary
    

    连接到PostgreSQL数据库的示例代码:

    import psycopg2
    
    # 连接到PostgreSQL数据库
    conn = psycopg2.connect(dbname="mydatabase", user="username",
                            password="password", host="127.0.0.1")
    
    # 创建一个Cursor对象
    cursor = conn.cursor()
    
    # 执行SQL查询
    cursor.execute("SELECT version()")
    
    # 获取查询结果
    db_version = cursor.fetchone()
    print(db_version)
    
    # 关闭Cursor和连接
    cursor.close()
    conn.close()
    
  4. MongoDB: 对于NoSQL数据库如MongoDB,你可以使用pymongo库。

    使用pip安装pymongo:

    pip install pymongo
    

    连接到MongoDB数据库的示例代码:

    from pymongo import MongoClient
    
    # 创建MongoClient实例
    client = MongoClient('mongodb://localhost:27017/')
    
    # 获取数据库实例
    db = client['mydatabase']
    
    # 获取集合实例
    collection = db['mycollection']
    
    # 插入文档
    post = {"author": "Mike",
            "text": "My first blog post!",
            "tags": ["mongodb", "python", "pymongo"],
            "date": datetime.datetime.utcnow()}
    
    post_id = collection.insert_one(post).inserted_id
    
    # 查询文档
    for post in collection.find():
        print(post)
    

在连接数据库时,请确保你的数据库服务正在运行,并且你已经正确配置了数据库的访问权限和网络设置。此外,对于生产环境,建议使用环境变量或其他安全的方式来管理数据库的用户名、密码等敏感信息。

0
看了该问题的人还看了