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()
```
根据你的需求和数据库类型,选择