共翁号
共翁号 > 科普 > python怎么连接数据库

python怎么连接数据库

原创2025-06-20 05:54:00

Python连接数据库的方法取决于你想连接的数据库类型。以下是几种常见数据库的连接方法:

1. 连接MySQL数据库

使用`pymysql`或`mysql-connector-python`库连接MySQL数据库。

使用`pymysql`

```python

import pymysql

连接数据库

conn = pymysql.connect(

host='localhost',

user='your_username',

password='your_password',

db='your_database',

charset='utf8mb4',

cursorclass=pymysql.cursors.DictCursor

创建游标对象

cur = conn.cursor()

执行SQL语句

cur.execute("SELECT * FROM your_table")

获取数据

results = cur.fetchall()

for row in results:

print(row)

关闭游标和连接

cur.close()

conn.close()

```

使用`mysql-connector-python`

```python

import mysql.connector

连接数据库

conn = mysql.connector.connect(

host='localhost',

user='your_username',

password='your_password',

database='your_database'

创建游标对象

cur = conn.cursor()

执行SQL语句

cur.execute("SELECT * FROM your_table")

获取数据

results = cur.fetchall()

for row in results:

print(row)

关闭游标和连接

cur.close()

conn.close()

```

2. 连接SQLite数据库

使用`sqlite3`库连接SQLite数据库。

```python

import sqlite3

连接数据库

conn = sqlite3.connect('your_database.db')

创建游标对象

cur = conn.cursor()

执行SQL语句

cur.execute("CREATE TABLE IF NOT EXISTS your_table (id INTEGER PRIMARY KEY, name TEXT)")

cur.execute("INSERT INTO your_table (name) VALUES (?)", ('Alice',))

提交事务

conn.commit()

查询数据

cur.execute("SELECT * FROM your_table")

results = cur.fetchall()

for row in results:

print(row)

关闭游标和连接

cur.close()

conn.close()

```

3. 连接SQL Server数据库

使用`pymssql`库连接SQL Server数据库。

```python

import pymssql

连接数据库

conn = pymssql.connect(

server='localhost',

user='your_username',

password='your_password',

database='your_database'

创建游标对象

cur = conn.cursor()

执行SQL语句

cur.execute("SELECT * FROM your_table")

获取数据

results = cur.fetchall()

for row in results:

print(row)

关闭游标和连接

cur.close()

conn.close()

```

4. 使用SQLAlchemy进行多数据库连接

SQLAlchemy是一个流行的Python ORM工具,支持多种数据库。

```python

from sqlalchemy import create_engine

from sqlalchemy.orm import sessionmaker

创建第一个数据库连接

engine1 = create_engine('mysql+pymysql://user:password@host:port/database1')

Session1 = sessionmaker(bind=engine1)

session1 = Session1()

创建第二个数据库连接

engine2 = create_engine('sqlite:///path/to/your/database2.db')

Session2 = sessionmaker(bind=engine2)

session2 = Session2()

```

5. 连接Access数据库

使用`pypyodbc`库连接Access数据库。

```python

import pypyodbc

安装pypyodbc

pip install pypyodbc

连接数据库

conn = pypyodbc.connect(

'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};'

'DBQ=path_to_your_database.accdb;'

创建游标对象

cur = conn.cursor()

执行SQL语句

cur.execute("SELECT * FROM your_table")

获取数据

results = cur.fetchall()

for row in results:

print(row)

关闭游标和连接

cur.close()

conn.close()

```

根据你的需求和数据库类型,选择

返回:科普

相关阅读