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

创建一个PythonCLI程序来管理数据库

发布时间:2023-12-18 04:58:23

Python是一个广泛使用的编程语言,拥有许多功能强大的库和模块。其中,有一个叫做sqlite3的模块可以帮助我们在Python中管理SQLite数据库。在本篇文章中,我将介绍如何使用Python CLI程序来管理数据库,并提供一些使用例子。

首先,你需要确保已经安装了Python和sqlite3模块。如果你没有安装sqlite3模块,可以通过以下命令安装:

pip install sqlite3

接下来,我们将创建一个Python脚本来管理数据库。在这个脚本中,我们将使用argparse模块来处理命令行参数,并使用sqlite3模块来连接和操作数据库。

import argparse
import sqlite3

# 创建连接和游标
conn = sqlite3.connect('database.db')
cursor = conn.cursor()

# 创建数据库表格
def create_table():
    cursor.execute('''
        CREATE TABLE IF NOT EXISTS users (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            name TEXT,
            email TEXT
        )
    ''')
    conn.commit()
    print('Table created successfully.')

# 插入数据
def insert_data(name, email):
    cursor.execute('INSERT INTO users (name, email) VALUES (?, ?)', (name, email))
    conn.commit()
    print('Data inserted successfully.')

# 查询数据
def select_data():
    cursor.execute('SELECT * FROM users')
    rows = cursor.fetchall()
    for row in rows:
        print(row)

# 更新数据
def update_data(id, email):
    cursor.execute('UPDATE users SET email = ? WHERE id = ?', (email, id))
    conn.commit()
    print('Data updated successfully.')

# 删除数据
def delete_data(id):
    cursor.execute('DELETE FROM users WHERE id = ?', (id,))
    conn.commit()
    print('Data deleted successfully.')

if __name__ == '__main__':
    # 创建命令行参数解析器
    parser = argparse.ArgumentParser(description='Database Management')
    parser.add_argument('--create_table', action='store_true', help='Create table')
    parser.add_argument('--insert_data', nargs=2, metavar=('name', 'email'), help='Insert data')
    parser.add_argument('--select_data', action='store_true', help='Select data')
    parser.add_argument('--update_data', nargs=2, metavar=('id', 'email'), help='Update data')
    parser.add_argument('--delete_data', metavar='id', help='Delete data')

    # 解析命令行参数
    args = parser.parse_args()

    # 根据命令行参数执行相应的操作
    if args.create_table:
        create_table()
    elif args.insert_data:
        name, email = args.insert_data
        insert_data(name, email)
    elif args.select_data:
        select_data()
    elif args.update_data:
        id, email = args.update_data
        update_data(id, email)
    elif args.delete_data:
        id = args.delete_data
        delete_data(id)

上面的代码中,我们定义了几个函数来执行不同的数据库操作。我们通过argparse模块解析命令行参数,并根据参数执行相应的操作。下面是一些示例命令和对应的输出:

# 创建数据库表格
python database.py --create_table
Table created successfully.

# 插入数据
python database.py --insert_data John john@example.com
Data inserted successfully.

# 查询数据
python database.py --select_data
(1, 'John', 'john@example.com')

# 更新数据
python database.py --update_data 1 john_new@example.com
Data updated successfully.

# 删除数据
python database.py --delete_data 1
Data deleted successfully.

以上就是一个基本的Python CLI程序来管理数据库的例子。你可以根据自己的需求扩展代码并添加更多的功能。例如,你可以添加函数来执行复杂的查询、排序数据、创建索引等等。使用Python CLI程序管理数据库能够帮助你更好地组织和管理数据,并提高操作效率。