ubuntu

Ubuntu中Python与数据库如何连接

小樊
44
2025-02-28 11:52:47
栏目: 编程语言

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

1. 连接到SQLite数据库

SQLite是一个轻量级的嵌入式数据库,非常适合小型应用。

import sqlite3

# 连接到SQLite数据库(如果不存在则会自动创建)
conn = sqlite3.connect('example.db')

# 创建一个游标对象
cursor = conn.cursor()

# 创建一个表
cursor.execute('''CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')

# 插入数据
cursor.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
cursor.execute("INSERT INTO users (name, age) VALUES ('Bob', 25)")

# 提交事务
conn.commit()

# 查询数据
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
    print(row)

# 关闭连接
conn.close()

2. 连接到MySQL数据库

MySQL是一个流行的关系型数据库。

首先,安装MySQL客户端库:

sudo apt-get update
sudo apt-get install python3-mysqldb

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

import mysql.connector

# 连接到MySQL数据库
conn = mysql.connector.connect(
    host="localhost",
    user="your_username",
    password="your_password",
    database="your_database"
)

# 创建一个游标对象
cursor = conn.cursor()

# 创建一个表
cursor.execute('''CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)''')

# 插入数据
cursor.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
cursor.execute("INSERT INTO users (name, age) VALUES ('Bob', 25)")

# 提交事务
conn.commit()

# 查询数据
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
    print(row)

# 关闭连接
conn.close()

3. 连接到PostgreSQL数据库

PostgreSQL是一个功能强大的开源关系型数据库。

首先,安装PostgreSQL客户端库:

sudo apt-get update
sudo apt-get install python3-psycopg2

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

import psycopg2

# 连接到PostgreSQL数据库
conn = psycopg2.connect(
    dbname="your_database",
    user="your_username",
    password="your_password",
    host="localhost",
    port="5432"
)

# 创建一个游标对象
cursor = conn.cursor()

# 创建一个表
cursor.execute('''CREATE TABLE IF NOT EXISTS users (id SERIAL PRIMARY KEY, name VARCHAR(255), age INT)''')

# 插入数据
cursor.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
cursor.execute("INSERT INTO users (name, age) VALUES ('Bob', 25)")

# 提交事务
conn.commit()

# 查询数据
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
    print(row)

# 关闭连接
conn.close()

总结

以上示例展示了如何在Ubuntu中使用Python连接到SQLite、MySQL和PostgreSQL数据库。根据你的需求选择合适的数据库,并安装相应的Python客户端库。然后,按照示例代码进行操作即可。

0
看了该问题的人还看了