Design SQL

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class SQL:
    def __init__(self, names: List[str], columns: List[int]):
        self.tables = {}
        for i, name in enumerate(names):
            self.tables[name] = {
                'columns': columns[i],
                'rows': {},
                'next_id': 1
            }

    def insertRow(self, name: str, row: List[str]) -> None:
        table = self.tables[name]
        row_id = table['next_id']
        table['rows'][row_id] = row
        table['next_id'] += 1

    def deleteRow(self, name: str, rowId: int) -> None:
        table = self.tables[name]
        if rowId in table['rows']:
            del table['rows'][rowId]

    def selectCell(self, name: str, rowId: int, columnId: int) -> str:
        table = self.tables[name]
        row = table['rows'].get(rowId)
        if row and 0 <= columnId - 1 < len(row):
            return row[columnId - 1]
        return ""