# 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文件:**
**删除结果:**
