Python连接Postgres/Mysql/Mongo数据库基本操作大全

  • Post category:Python

Python连接PostgreSQL/MySQL/MongoDB数据库基本操作大全

本攻略会详细介绍如何使用Python连接PostgreSQL、MySQL和MongoDB数据库,并提供一些常用的基本操作。

一、Python连接PostgreSQL数据库

1. 安装依赖包

要连接PostgreSQL数据库,需要安装psycopg2库。

pip install psycopg2

2. 连接数据库

使用psycopg2.connect()函数连接PostgreSQL数据库,需要提供连接参数,包括host、port、database、user和password。

import psycopg2

conn = psycopg2.connect(
            host="localhost",
            port="5432",
            database="mydb",
            user="myuser",
            password="mypassword"
        )

3. 执行SQL查询

使用psycopg2的execute()方法来执行SQL查询。例如:

cur = conn.cursor()
cur.execute("SELECT * FROM users;")
rows = cur.fetchall()

for row in rows:
    print(row)

4. 插入数据

使用execute()方法执行INSERT INTO语句插入数据。例如:

cur = conn.cursor()
cur.execute("INSERT INTO users (name, age) VALUES ('Alice', 30);")
conn.commit()

二、Python连接MySQL数据库

1. 安装依赖包

要连接MySQL数据库,需要安装mysql-connector-python库。

pip install mysql-connector-python

2. 连接数据库

使用mysql.connector.connect()函数连接MySQL数据库,并提供连接参数,包括host、port、database、user和password。

import mysql.connector

conn = mysql.connector.connect(
            host="localhost",
            port="3306",
            database="mydb",
            user="myuser",
            password="mypassword"
        )

3. 执行SQL查询

使用cursor()方法创建游标,并使用execute()方法执行SQL查询。例如:

cur = conn.cursor()
cur.execute("SELECT * FROM users;")
rows = cur.fetchall()

for row in rows:
    print(row)

4. 插入数据

使用execute()方法执行INSERT INTO语句插入数据。例如:

cur = conn.cursor()
cur.execute("INSERT INTO users (name, age) VALUES ('Alice', 30);")
conn.commit()

三、Python连接MongoDB数据库

1. 安装依赖包

要连接MongoDB数据库,需要安装pymongo库。

pip install pymongo

2. 连接数据库

使用pymongo.MongoClient()函数连接MongoDB数据库,并提供连接参数,包括host、port和database。

import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/")
db = client["mydb"]

3. 执行查询

使用find()方法执行查询操作。例如:

collection = db["users"]
res = collection.find()

for x in res:
    print(x)

4. 插入数据

使用insert_one()或insert_many()方法执行插入操作。例如:

collection = db["users"]
user1 = {"name": "Alice", "age": 30}
user2 = {"name": "Bob", "age": 40}
collection.insert_many([user1, user2])