如何将 Python 连接到 SQL 数据库

将 Python 连接到 SQL 数据库可让您直接从 Python 脚本与数据库交互。此功能对于数据检索、更新和分析等任务至关重要。在本文中,我们将探讨如何使用 SQLite、MySQL 和 PostgreSQL 等流行库将 Python 连接到 SQL 数据库。

设置你的环境

要将 Python 连接到 SQL 数据库,您需要安装适当的数据库连接器库。以下是不同数据库的常用库:

  • SQLite: 由于 SQLite 支持已内置于 Python 中,因此无需额外安装。
  • MySQL: 使用 mysql-connector-pythonPyMySQL 库。
  • PostgreSQL: 使用 psycopg2 库。

连接到 SQLite 数据库

SQLite 是内置于 Python 标准库中的轻量级数据库。以下是如何连接 SQLite 数据库并执行基本操作:

import sqlite3

# Connect to an SQLite database (or create it if it doesn't exist)
conn = sqlite3.connect('example.db')

# Create a cursor object
cursor = conn.cursor()

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    age INTEGER
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO users (name, age)
VALUES ('Alice', 30)
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM users')
print(cursor.fetchall())  # Output: [(1, 'Alice', 30)]

# Close the connection
conn.close()

连接到 MySQL 数据库

要连接到 MySQL 数据库,您需要安装 mysql-connector-python 库。您可以使用 pip 安装它:

pip install mysql-connector-python

以下是连接 MySQL 数据库并执行基本操作的示例:

import mysql.connector

# Connect to a MySQL database
conn = mysql.connector.connect(
    host='localhost',
    user='yourusername',
    password='yourpassword',
    database='testdb'
)

# Create a cursor object
cursor = conn.cursor()

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    position VARCHAR(255)
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO employees (name, position)
VALUES ('Bob', 'Engineer')
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM employees')
print(cursor.fetchall())  # Output: [(1, 'Bob', 'Engineer')]

# Close the connection
conn.close()

连接到 PostgreSQL 数据库

要连接到 PostgreSQL 数据库,您需要 psycopg2 库。使用 pip 安装它:

pip install psycopg2

以下是连接 PostgreSQL 数据库并执行基本操作的示例:

import psycopg2

# Connect to a PostgreSQL database
conn = psycopg2.connect(
    dbname='testdb',
    user='yourusername',
    password='yourpassword',
    host='localhost'
)

# Create a cursor object
cursor = conn.cursor()

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS products (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    price DECIMAL
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO products (name, price)
VALUES ('Laptop', 999.99)
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM products')
print(cursor.fetchall())  # Output: [(1, 'Laptop', 999.99)]

# Close the connection
conn.close()

结论

将 Python 连接到 SQL 数据库是任何数据驱动应用程序的基本技能。通过使用 sqlite3mysql-connector-pythonpsycopg2 等库,您可以轻松地与各种数据库交互。了解如何执行创建表、插入数据和查询数据库等基本操作将使您能够有效地管理和操作数据。