# db_test **Repository Path**: lyQQcom/db_test ## Basic Information - **Project Name**: db_test - **Description**: python操作数据库功能测试 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-12-04 - **Last Updated**: 2024-12-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 概述 ''' 由于湖南地质灾害综合数据录入采集系统未设计导入表格数据功能,而实际工作又急需,因此编写此程序,用于录入斜坡孕灾条件数据。 本程序可将excel中预先录入的数据依次增写至db数据库中,并生成uuid主键数据,用于后续其他相关数据录入。 ''' # 程序目录 ## 文档部分 - db.db ''' sample.py示例数据库,用于熟悉录入系统数据库结构 ''' - DB_DZZH.db ''' 入库软件自动生成的数据库,一般位于自行设置的项目目录下,建议拷贝到main.py同级目录下 ''' - uuidPrimary.xlsx ''' 用于暂存uuid主键数据,之后需拷贝至斜坡孕灾条件主表UID列作为主键使用 ''' - 斜坡孕灾条件主表.xlsx ''' 斜坡孕灾条件主表,用于录入斜坡孕灾条件数据及匹配存储uuid(UID)主键数据 ''' ## 程序功能 - sample.py ''' 示例数据库db.db的基本操作,可作为练习使用 ''' - structure.py ''' 显示数据库DB_DZZH.db的结构,用于熟悉录入系统数据库结构 ''' - main.py ''' 主程序,读取uuid并逐行录入数据到数据库DB_DZZH.db ''' - uuidGen.py ''' 生成uuid主键到uuidPrimaryKey.xlsx文件,然后可手工复制uuid到斜坡孕灾条件主表.xlsx文件 ''' - to_csv.py ''' convert database to csv files ''' # 依赖包安装 - pip install openpyxl # 写入excel用 - pip install pandas # 读取excel用 # 程序使用 - 拷贝DB_DZZH.db至项目目录下 - 在录入系统界面导出斜坡孕灾条件表,并复制到项目目录下,删除已存在斜坡信息,只保留第一行标题,再将需批量录入数据复制到斜坡孕灾条件主表.xlsx文件中,UID留白 - 依据列名对应修改main.py中涉及的数据库字段 - 运行uuidGen.py,将uuidPrimaryKey.xlsx文件中的uuid数据拷贝至斜坡孕灾条件主表.xlsx文件中新增行的UID列 - 运行main.py,斜坡孕灾条件主表.xlsx文件中的数据将增写至数据库DB_DZZH.db中 - 将DB_DZZH.db拷贝至录入系统原工作目录中,即可看到录入的数据 # 重点概念 ## 表格结构-主键定义 ''' (0, 'UID', 'nvarchar(50)', 1, None, 1) 中的各项含义如下: 0:这是列的索引或序号。在表中的第一列通常为 0。 'UID':这是列的名称,即列的标识符。 'nvarchar(50)':这是列的数据类型。在这里,nvarchar(50) 表示 Unicode 字符串,最大长度为 50 个字符。 1:这是一个标志,表示该列是否为主键。在这里,值为 1 表示是主键。 None:这是关于默认值的信息。在这里,没有默认值。 1:这是关于是否允许为空的信息。在这里,值为 1 表示不允许为空。 因此,这一项描述了一个名为 “UID” 的列,其数据类型为 Unicode 字符串,最大长度为 50 个字符,是主键,不允许为空。 ''' ## UID作用 ''' UID是db数据库中最关键的数据,即所谓的主键PrimaryKey。录入系统采用的UID是依据uuid算法生成的近乎全球唯一的标识码。 在录入系统定义的db数据库里,uuid可由斜坡孕灾条件主表导入,并关联至汇总表。 因此本程序先生成uuid,之后将其拷贝到主表中新增的记录行,随即将其作为主键导入数据库从而实现主表与汇总表的关联。 '''