Python中的数据库存储技术探究
发布时间:2023-12-16 19:17:33
Python中有多种数据库存储技术可供选择,本文将探究一些常见的数据库存储技术,并提供相应的使用示例。
1. SQLite
SQLite是一种轻量级的嵌入式数据库引擎,它使用简单而且无需额外的服务器进程。SQLite数据库以文件形式存储,并且可以在不同的操作系统上使用。使用Python操作SQLite数据库非常方便,Python内置了sqlite3模块来支持SQLite数据库的操作。
以下是一个使用SQLite数据库的示例:
import sqlite3
# 创建数据库连接
conn = sqlite3.connect('example.db')
# 创建数据表
conn.execute('''CREATE TABLE IF NOT EXISTS stocks
(date text, trans text, symbol text, qty real, price real)''')
# 插入数据
conn.execute("INSERT INTO stocks VALUES ('2021-01-01', 'BUY', 'AAPL', 100, 135.0)")
conn.execute("INSERT INTO stocks VALUES ('2021-01-02', 'SELL', 'AAPL', 50, 140.0)")
conn.commit()
# 查询数据
cursor = conn.execute("SELECT * FROM stocks")
for row in cursor:
print(row)
# 关闭数据库连接
conn.close()
2. MySQL
MySQL是一种开源的关系型数据库管理系统,被广泛应用于Web应用程序和其他需要持久化数据的场景。Python中有许多用于操作MySQL数据库的第三方库,例如PyMySQL、mysql-connector-python等。
以下是一个使用PyMySQL库连接和操作MySQL数据库的示例:
import pymysql
# 创建数据库连接
conn = pymysql.connect(host='localhost', user='root', password='password', database='test')
# 创建游标对象
cursor = conn.cursor()
# 创建数据表
cursor.execute('''CREATE TABLE IF NOT EXISTS employees
(id int(11) NOT NULL AUTO_INCREMENT,
name varchar(100) NOT NULL,
age int(11) NOT NULL,
PRIMARY KEY (id))''')
# 插入数据
cursor.execute("INSERT INTO employees (name, age) VALUES ('John Doe', 25)")
cursor.execute("INSERT INTO employees (name, age) VALUES ('Jane Smith', 30)")
conn.commit()
# 查询数据
cursor.execute("SELECT * FROM employees")
rows = cursor.fetchall()
for row in rows:
print(row)
# 关闭游标和数据库连接
cursor.close()
conn.close()
3. PostgreSQL
PostgreSQL是一种开源的对象关系型数据库系统,它具有良好的性能和可扩展性。使用Python操作PostgreSQL数据库可以使用psycopg2库。
以下是一个使用psycopg2库连接和操作PostgreSQL数据库的示例:
import psycopg2
# 创建数据库连接
conn = psycopg2.connect(host='localhost', user='postgres', password='password', database='test')
# 创建游标对象
cursor = conn.cursor()
# 创建数据表
cursor.execute('''CREATE TABLE IF NOT EXISTS customers
(id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL)''')
# 插入数据
cursor.execute("INSERT INTO customers (name, email) VALUES ('John Doe', 'john@example.com')")
cursor.execute("INSERT INTO customers (name, email) VALUES ('Jane Smith', 'jane@example.com')")
conn.commit()
# 查询数据
cursor.execute("SELECT * FROM customers")
rows = cursor.fetchall()
for row in rows:
print(row)
# 关闭游标和数据库连接
cursor.close()
conn.close()
总结:
本文探究了Python中的三种常见数据库存储技术,包括SQLite、MySQL和PostgreSQL,并提供了相应的使用示例。根据具体的应用场景和需求,选择合适的数据库存储技术对于数据存储和管理非常重要。
