Python学习之路(三)

将 Python 与数据库对接是开发过程中常见的任务,可以使用多种数据库(如 SQLite、MySQL、PostgreSQL、Oracle、MongoDB 等)。以下是一些常见的数据库及其与 Python 的对接方法,包括安装库、连接数据库、执行查询和操作数据的示例。
个人还是比较喜欢用sqlite和MySQL,毕竟是免费的而且占空间小╮(╯▽╰)╭

1. SQLite

SQLite 是一个轻量级的嵌入式数据库,适合小型应用和开发环境。

1.1 安装库

SQLite 库是 Python 标准库的一部分,无需额外安装。

1.2 连接数据库
import sqlite3

# 连接到 SQLite 数据库(如果数据库不存在,则会自动创建)
conn = sqlite3.connect('example.db')

# 创建一个游标对象
cursor = conn.cursor()
1.3 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    age INTEGER NOT NULL
)
''')
conn.commit()
1.4 插入数据
cursor.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Alice', 30))
cursor.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Bob', 25))
conn.commit()
1.5 查询数据
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:
    print(row)
1.6 关闭连接
conn.close()

2. MySQL

MySQL 是一个广泛使用的开源关系型数据库管理系统。

2.1 安装库

使用 mysql-connector-python 库。

pip install mysql-connector-python
2.2 连接数据库
import mysql.connector

# 连接到 MySQL 数据库
conn = mysql.connector.connect(
    host='localhost',
    user='your_username',
    password='your_password',
    database='your_database'
)

# 创建一个游标对象
cursor = conn.cursor()
2.3 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    age INT NOT NULL
)
''')
conn.commit()
2.4 插入数据
cursor.execute('INSERT INTO users (name, age) VALUES (%s, %s)', ('Alice', 30))
cursor.execute('INSERT INTO users (name, age) VALUES (%s, %s)', ('Bob', 25))
conn.commit()
2.5 查询数据
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:
    print(row)
2.6 关闭连接
conn.close()

3. PostgreSQL

PostgreSQL 是一个功能强大的开源对象关系型数据库系统。

3.1 安装库

使用 psycopg2 库。

pip install psycopg2-binary
3.2 连接数据库
import psycopg2

# 连接到 PostgreSQL 数据库
conn = psycopg2.connect(
    host='localhost',
    user='your_username',
    password='your_password',
    dbname='your_database'
)

# 创建一个游标对象
cursor = conn.cursor()
3.3 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    age INT NOT NULL
)
''')
conn.commit()
3.4 插入数据
cursor.execute('INSERT INTO users (name, age) VALUES (%s, %s)', ('Alice', 30))
cursor.execute('INSERT INTO users (name, age) VALUES (%s, %s)', ('Bob', 25))
conn.commit()
3.5 查询数据
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:
    print(row)
3.6 关闭连接
conn.close()

4. Oracle

Oracle 是一个强大的商业关系型数据库管理系统。

4.1 安装库

使用 cx_Oracle 库。

pip install cx_Oracle
4.2 连接数据库
import cx_Oracle

# 连接到 Oracle 数据库
dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='your_service_name')
conn = cx_Oracle.connect(user='your_username', password='your_password', dsn=dsn_tns)

# 创建一个游标对象
cursor = conn.cursor()
4.3 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
    name VARCHAR2(255) NOT NULL,
    age NUMBER NOT NULL
)
''')
conn.commit()
4.4 插入数据
cursor.execute('INSERT INTO users (name, age) VALUES (:1, :2)', ('Alice', 30))
cursor.execute('INSERT INTO users (name, age) VALUES (:1, :2)', ('Bob', 25))
conn.commit()
4.5 查询数据
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:
    print(row)
4.6 关闭连接
conn.close()

5. MongoDB

MongoDB 是一个流行的 NoSQL 数据库。

5.1 安装库

使用 pymongo 库。

pip install pymongo
5.2 连接数据库
from pymongo import MongoClient

# 连接到 MongoDB 数据库
client = MongoClient('mongodb://localhost:27017/')
db = client['your_database']
collection = db['users']
5.3 插入数据
collection.insert_one({'name': 'Alice', 'age': 30})
collection.insert_one({'name': 'Bob', 'age': 25})
5.4 查询数据
users = collection.find()
for user in users:
    print(user)
5.5 关闭连接
client.close()

你可能感兴趣的:(python,python,学习,开发语言)