在Python中连接不同的数据库通常需要使用特定的数据库驱动或库。以下是一些常用的数据库及其对应的Python库:
- SQLite - Python内置了SQLite的支持。
- MySQL - 常用的库是
mysql-connector-python或pymysql。 - PostgreSQL - 常用的库是
psycopg2。 - MongoDB - 使用
pymongo库。 - Oracle - 使用
cx_Oracle库。 - SQL Server - 使用
pyodbc或pymssql库。
以下是如何使用Python连接到这些数据库的基本示例:
SQLite
import sqlite3
# 连接到SQLite数据库
# 如果文件不存在,会自动在当前目录创建:
conn = sqlite3.connect('example.db')
# 创建一个Cursor:
cursor = conn.cursor()
# 执行一条SQL语句,创建user表:
cursor.execute('CREATE TABLE IF NOT EXISTS user (id VARCHAR(20) PRIMARY KEY, name VARCHAR(20))')
# 插入一条记录:
cursor.execute('INSERT INTO user (id, name) VALUES (?, ?)', ('1', 'Michael'))
# 通过rowcount获得插入的行数:
print('rowcount =', cursor.rowcount)
# 提交事务:
conn.commit()
# 关闭Cursor:
cursor.close()
# 关闭Connection:
conn.close()
MySQL
import mysql.connector
# 连接MySQL数据库
conn = mysql.connector.connect(user='root', password='yourpassword', database='test')
cursor = conn.cursor()
# 创建user表:
cursor.execute('CREATE TABLE IF NOT EXISTS user (id VARCHAR(20) PRIMARY KEY, name VARCHAR(20))')
# 插入一条记录:
cursor.execute('INSERT INTO user (id, name) VALUES (%s, %s)', ['2', 'Bob'])
# 提交事务:
conn.commit()
# 关闭Cursor和Connection:
cursor.close()
conn.close()
PostgreSQL
import psycopg2
# 连接PostgreSQL数据库
conn = psycopg2.connect(database='test', user='postgres', password='yourpassword', host='127.0.0.1', port='5432')
cursor = conn.cursor()
# 创建user表:
cursor.execute('CREATE TABLE IF NOT EXISTS user (id VARCHAR(20) PRIMARY KEY, name VARCHAR(20))')
# 插入一条记录:
cursor.execute('INSERT INTO user (id, name) VALUES (%s, %s)', ('3', 'Alice'))
# 提交事务:
conn.commit()
# 关闭Cursor和Connection:
cursor.close()
conn.close()
MongoDB
from pymongo import MongoClient
# 连接MongoDB
client = MongoClient('localhost', 27017)
db = client['test']
collection = db['user']
# 插入一条记录:
collection.insert_one({'id': '4', 'name': 'John'})
# 查询记录:
for item in collection.find():
print(item)
Oracle
import cx_Oracle
# 连接Oracle数据库
conn = cx_Oracle.connect('username/password@localhost/orcl')
cursor = conn.cursor()
# 创建user表:
cursor.execute('CREATE TABLE IF NOT EXISTS user (id VARCHAR(20) PRIMARY KEY, name VARCHAR(20))')
# 插入一条记录:
cursor.execute('INSERT INTO user (id, name) VALUES (:1, :2)', ('5', 'Tom'))
# 提交事务:
conn.commit()
# 关闭Cursor和Connection:
cursor.close()
conn.close()
SQL Server
使用pyodbc:
import pyodbc
# 连接SQL Server数据库
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=localhost;DATABASE=test;UID=username;PWD=password')
cursor = conn.cursor()
# 创建user表:
cursor.execute('CREATE TABLE IF NOT EXISTS user (id VARCHAR(20) PRIMARY KEY, name VARCHAR(20))')
# 插入一条记录:
cursor.execute("INSERT INTO user (id, name) VALUES (?, ?)", ('6', 'James'))
# 提交事务:
conn.commit()
# 关闭Cursor和Connection:
cursor.close()
conn.close()
在使用这些库之前,请确保已经通过pip安装了相应的库。例如,安装mysql-connector-python可以使用以下命令:
pip install mysql-connector-python
对于每一种数据库,连接的参数(如用户名、密码、数据库名称等)可能会有所不同,需要根据实际情况进行配置。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




