在Python中,数据库操作通常使用sqlite3
、MySQLdb
(或其分支mysqlclient
)、psycopg2
等库来实现对SQLite、MySQL和PostgreSQL的连接和操作。
以下是连接数据库和执行基本操作的示例代码:
import sqlite3
# 连接SQLite数据库
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 创建一个表
cursor.execute('''CREATE TABLE IF NOT EXISTS stocks
(date text, trans text, symbol text, qty real, price real)''')
# 插入一条记录
cursor.execute("INSERT INTO stocks VALUES ('2020-01-05', 'BUY', 'RHAT', 100, 35.14)")
# 查询记录
cursor.execute('SELECT * FROM stocks ORDER BY date')
rows = cursor.fetchall()
for row in rows:
print(row)
# 关闭连接
conn.commit()
cursor.close()
conn.close()
对于MySQL和PostgreSQL,你需要安装mysql-connector-python
或psycopg2
库,然后使用类似的方法来连接和操作数据库。
例如,使用mysql-connector-python
连接MySQL:
import mysql.connector
# 连接MySQL数据库
conn = mysql.connector.connect(user='username', password='password', host='hostname', database='databasename')
cursor = conn.cursor()
# 查询记录
cursor.execute('SELECT * FROM some_table')
rows = cursor.fetchall()
for row in rows:
print(row)
# 关闭连接
cursor.close()
conn.close()
使用psycopg2
连接PostgreSQL:
import psycopg2
# 连接PostgreSQL数据库
conn = psycopg2.connect(dbname='databasename', user='username', password='password', host='hostname', port='5432')
cursor = conn.cursor()
# 查询记录
cursor.execute('SELECT * FROM some_table')
rows = cursor.fetchall()
for row in rows:
print(row)
# 关闭连接
cursor.close()
conn.close()
请注意,在实际应用中,你可能需要处理异常、配置数据库连接参数、执行更复杂的SQL语句等。上述代码仅展示了如何连接数据库、执行基本的查询和关闭连接的操作。