欢迎访问宙启技术站
智能推送

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,并提供了相应的使用示例。根据具体的应用场景和需求,选择合适的数据库存储技术对于数据存储和管理非常重要。