ubuntu

Ubuntu中Python数据库连接怎么设置

小樊
38
2025-07-09 15:04:30
栏目: 编程语言

在Ubuntu中设置Python连接数据库通常包括以下几个步骤:

  1. 安装数据库服务器

    • MySQL
      sudo apt update
      sudo apt install mysql-server
      
    • PostgreSQL
      sudo apt update
      sudo apt install postgresql postgresql-contrib
      
    • SQLite(Python内置,无需额外安装)。
  2. 安装Python数据库驱动

    • MySQL
      pip install mysql-connector-python
      
      pip install PyMySQL
      
    • PostgreSQL
      pip install psycopg2
      
    • SQLite(Python标准库中已经包含,无需额外安装)。
  3. 配置数据库服务器

    • 创建数据库和用户,并授予权限。例如,对于MySQL:
      sudo mysql -u root -p
      CREATE DATABASE mydatabase;
      CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
      GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
      FLUSH PRIVILEGES;
      EXIT;
      
  4. 编写Python代码连接数据库

    • MySQL示例
      import mysql.connector
      
      try:
          connection = mysql.connector.connect(
              host="localhost",
              user="myuser",
              password="mypassword",
              database="mydatabase"
          )
          if connection.is_connected():
              print("成功连接到数据库")
      except mysql.connector.Error as e:
          print(f"连接失败:{e}")
      finally:
          if connection.is_connected():
              connection.close()
              print("MySQL连接已关闭")
      
    • PostgreSQL示例
      import psycopg2
      
      try:
          connection = psycopg2.connect(
              dbname="mydatabase",
              user="myuser",
              password="mypassword",
              host="localhost"
          )
          cursor = connection.cursor()
          cursor.execute("SELECT version();")
          db_version = cursor.fetchone()
          print(f"Connected to PostgreSQL version: {db_version}")
      except psycopg2.Error as e:
          print(f"Unable to connect to the database: {e}")
      finally:
          if connection:
              cursor.close()
              connection.close()
              print("PostgreSQL连接已关闭")
      
    • SQLite示例
      import sqlite3
      
      conn = sqlite3.connect('mydatabase.db')
      cursor = conn.cursor()
      cursor.execute('''CREATE TABLE IF NOT EXISTS stocks
                          (date text, trans text, symbol text, qty real, price real)''')
      conn.commit()
      
      cursor.execute("INSERT INTO stocks VALUES ('2023-01-01', 'BUY', 'TSLA', 100, 192.99)")
      conn.commit()
      
      cursor.execute("SELECT * FROM stocks")
      rows = cursor.fetchall()
      for row in rows:
          print(row)
      
      conn.close()
      ```。
      
      
  5. 运行Python脚本

    • 在终端中导航到包含Python脚本的目录,并运行:
      python3 db_connection.py
      ```。
      
      

确保在实际部署之前,数据库是可访问的,并且防火墙设置允许从应用程序所在的机器进行连接。。

0
看了该问题的人还看了