# project-4 **Repository Path**: lucky_lxz/project-4 ## Basic Information - **Project Name**: project-4 - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 10 - **Created**: 2022-06-01 - **Last Updated**: 2022-06-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # project-4 ### SQL功能实现 - #### CREATE 创建新表,根据提供的列名、列类型创建一张新表 ```python with db.transaction(db_id='2018年各校招生计划', user_secrets='12345678') as ctx: 结果 = ctx.CREATE( tablename = "成绩单", columns = ["学号", "姓名", "语文", "数学", "英语", "综合"], types = ["number", "text", "text", "number", "number", "number"], primarykey = ["姓名"], ) ``` 需要将数据传到后端,利用`_write_table`函数创建`成绩单.json`文件。由于读取表格时是使用schema中的表格信息,所以我另写了一个和`_update_db_schema`函数,用来更新`schema.json`文件 **后端json文件:** **创建结果:** - #### INSERT 插入新行,根据提供的信息,往对应的表格中插入新的一行数据 ```python with db.transaction(db_id='2018年各校招生计划', user_secrets='12345678') as ctx: 结果 = ctx.Insert_INTO( tablename = "成绩单", newrow = [21210004,"王五", 110, 124, 136, 270] ) ``` c插入操作也需要将数据传输到后端,更新`成绩单.json`文件。每插入一行后,对应表格的json文件中的rows项中就会多一项。 **后端json文件:** **插入结果:** - #### UPDATE 更新表格,根据提供的信息,修改某一行数据 ```python with db.transaction(db_id='2018年各校招生计划', user_secrets='12345678') as ctx: 成绩单 = ctx.成绩单 结果 = ctx.UPDATE( set = [成绩单.语文 == 150, 成绩单.数学 == 150], where= [成绩单.姓名 == "小明"] ) ``` 与SQL语句类似,根据where中的条件,找出需要修改的那一行,将set中包含的修改的内容替换掉 **后端json文件:** **修改结果:** - #### DELETE 这里暂时只实现了清空表格的操作,将一张表格里的所有内容清除掉,只留下表头。 ```python with db.transaction(db_id='2018年各校招生计划', user_secrets='12345678') as ctx: 结果 = ctx.DELETE( tablename = "成绩单" ) ``` 删除后后端的数据将被清空,恢复成初始创建时的样子 **后端json文件:** **删除结果:**