ToB企服应用市场:ToB评测及商务社交产业平台

标题: SQLite:一个极简使用教程 [打印本页]

作者: 忿忿的泥巴坨    时间: 2024-9-9 01:15
标题: SQLite:一个极简使用教程
SQLite是一个轻量级的、文件系统基础的数据库,它被设计为配置简单、易于摆设。SQLite数据库存储在一个单一的磁盘文件中,这意味着数据库的创建和维护都非常简单。
  

1. SQLite特点


2. 代码示例

        我们界说一个名为 AlgoInstanceDB 的类,用于管理一个SQLite数据库,该数据库用于存储算法实例的信息,包罗它们的唯一标识符(id)和进程ID(pid)。简单描述下实现的功能:

  1. import sqlite3
  2. class AlgoInstanceDB(object):
  3.     def __init__(self, db_path):
  4.         self.db_path = db_path
  5.         self.conn = sqlite3.connect(db_path)
  6.         self.create_table()
  7.     def create_table(self):
  8.         """创建表."""
  9.         cursor = self.conn.cursor()
  10.         cursor.execute("""CREATE TABLE IF NOT EXISTS algo_instances (
  11.                         id TEXT UNIQUE,
  12.                         pid INTEGER
  13.                         )""")
  14.         self.conn.commit()
  15.     def get_algo_instance_pid(self, algo_instance_id):
  16.         """获取算法实例的PID."""
  17.         cursor = self.conn.cursor()
  18.         cursor.execute("SELECT pid FROM algo_instances WHERE id = ?", (algo_instance_id,))
  19.         return cursor.fetchone()[0]
  20.     def insert_algo_instance(self, algo_instance_id, pid):
  21.         """插入或更新算法实例."""
  22.         cursor = self.conn.cursor()
  23.         cursor.execute("INSERT OR REPLACE INTO algo_instances (id, pid) VALUES (?, ?)", (algo_instance_id, pid))
  24.         self.conn.commit()
  25.     def query_algo_instance(self, algo_instance_id):
  26.         """查询算法实例是否存在."""
  27.         cursor = self.conn.cursor()
  28.         cursor.execute("SELECT * FROM algo_instances WHERE id = ?", (algo_instance_id,))
  29.         return cursor.fetchone()
  30.     def delete_algo_instance(self, algo_instance_id):
  31.         """删除算法实例."""
  32.         cursor = self.conn.cursor()
  33.         cursor.execute("DELETE FROM algo_instances WHERE id = ?", (algo_instance_id,))
  34.         self.conn.commit()
  35.     def update_algo_instance(self, algo_instance_id, new_pid):
  36.         """更新算法实例的PID."""
  37.         cursor = self.conn.cursor()
  38.         cursor.execute("UPDATE algo_instances SET pid = ? WHERE id = ?", (new_pid, algo_instance_id))
  39.         self.conn.commit()
  40. if __name__ == "__main__":
  41.     db_path = "algo_instances.db"
  42.     db = AlgoInstanceDB(db_path)
  43.     # 示例:插入或更新算法实例
  44.     # db.insert_algo_instance("A001", 1234)
  45.     # 示例:查询算法实例
  46.     query = db.query_algo_instance("A002")
  47.     print(query)
  48.     # 示例:删除算法实例
  49.     # db.delete_algo_instance("A002")
  50.     # 示例:更新算法实例的PID
  51.     # db.update_algo_instance("A001", 5678)
复制代码
3. 使用数据库工具进行管理

        DB Browser是个专门用于SQLite的数据库管理工具,可以从这里下载:Downloads - DB Browser for SQLite,选择所必要的系统版本下载即可。

        使用该软件可以可视化地查看数据库信息,比如我们上面创建了一个关于algo instance的数据库,可以用该工具打开并查看:

也可以浏览数据,查看我们写入的内容:

参考



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4