将 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()