暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用python连接多种数据库

zayki 2024-11-30
60

在Python中连接不同的数据库通常需要使用特定的数据库驱动或库。以下是一些常用的数据库及其对应的Python库:

  1. SQLite - Python内置了SQLite的支持。
  2. MySQL - 常用的库是mysql-connector-pythonpymysql
  3. PostgreSQL - 常用的库是psycopg2
  4. MongoDB - 使用pymongo库。
  5. Oracle - 使用cx_Oracle库。
  6. SQL Server - 使用pyodbcpymssql库。
    以下是如何使用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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论