Python访问数据库的方法有多种,以下是一些常用的方法:
SQLite
使用sqlite3模块:这是Python的标准库,可以直接使用。
import sqlite3
conn = sqlite3.connect('database.db')
cursor = conn.cursor()
cursor.execute('CREATE TABLE user (id varchar(20) primary key, name varchar(20))')
cursor.execute("INSERT INTO user(id, name) VALUES('1', 'Bob')")
print(cursor.rowcount)
cursor.close()
conn.commit()
conn.close()
```
MySQL
使用PyMySQL库:这是一个纯Python实现的MySQL客户端库。
import pymysql
conn = pymysql.connect(host='localhost', user='username', password='password', db='database')
cursor = conn.cursor()
cursor.execute('SELECT * FROM tablename')
for row in cursor.fetchall():
print(row)
conn.close()
```
使用MySQLdb库:这是Python 2.x的MySQL客户端库,但在Python 3.x中也可以使用。
import MySQLdb
conn = MySQLdb.connect(host='localhost', user='username', passwd='password', db='database')
cursor = conn.cursor()
cursor.execute('SELECT * FROM tablename')
for row in cursor.fetchall():
print(row)
conn.close()
```
PostgreSQL
使用psycopg2库:这是一个流行的PostgreSQL客户端库。
import psycopg2
conn = psycopg2.connect(host='localhost', dbname='database', user='username', password='password')
cursor = conn.cursor()
cursor.execute('SELECT * FROM tablename')
for row in cursor.fetchall():
print(row)
conn.close()
```
SQL Server
使用pyodbc库:这是一个用于连接ODBC数据库的Python库。
import pyodbc
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=server_name;DATABASE=database_name;UID=username;PWD=password')
cursor = conn.cursor()
cursor.execute('SELECT * FROM tablename')
for row in cursor.fetchall():
print(row)
conn.close()
```
使用pymssql库:这是一个较早的SQL Server客户端库。
import pymssql
conn = pymssql.connect(server='server_name', user='username', password='password', database='database_name')
cursor = conn.cursor()
cursor.execute('SELECT * FROM tablename')
for row in cursor.fetchall():
print(row)
conn.close()
```
建议
选择合适的库:根据你使用的数据库类型选择合适的Python库。例如,对于MySQL,PyMySQL是一个不错的选择;对于PostgreSQL,psycopg2是常用的库。
安全性:确保在连接数据库时处理好用户名和密码,避免硬编码在代码中。可以使用环境变量或配置文件来管理敏感信息。
异常处理:在访问数据库时,添加异常处理机制,以应对可能出现的错误,如连接失败、查询错误等。
通过以上方法,你可以轻松地使用Python访问不同类型的数据库。