Я пытаюсь написать метод, который сравнивает значения в данной таблице базы данных SQLite с другой существующей таблицей базы данных. Я уже написал метод «описывают» для данной базы данных для каждой таблицы в базе данных, следующий кортеж добавленным в массив:Сравнение значений в таблицах SQLite для баз данных в Python 3
databaseInfo.append((table, numberOfColumns, numberOfRows, numberOfCells))
Теперь я пытаюсь перебирать столбцы и строки каждого таблицу, чтобы узнать, существует ли значение в моей существующей базе данных. При этом, я поставил следующие переменные:
tables = [str(i[0]) for i in databaseInfo]
columns = [int(i[1]) for i in databaseInfo]
rows = [int(i[2]) for i in databaseInfo]
cells = [int(i[3]) for i in databaseInfo]
Так что я спрашиваю, как я могу использовать SQLite команды для перебора ячеек базы данных и сравнить их. Я ищу логику/синтаксис, как я смогу это сделать.
Например, если мне дана база данных с 4 таблицами, я хочу создать метод, который для каждой таблицы будет выполняться, и проверить, действительно ли значение каждой ячейки, если оно уже существует в моей базе данных. Так что я хотел бы сделать что-то вроде следующего:
у нас есть две таблицы
Моя таблица:
+----+-------+-----+---------------+
| pk | name | age | occupation |
+----+-------+-----+---------------+
| 0 | Joey | 17 | Student |
| 1 | Jerry | 18 | Student |
| 2 | Gabe | 20 | Mathematician |
| 3 | Ian | 34 | Unemployed |
| 4 | Rob | 33 | Teacher |
| 5 | Harry | 18 | Student |
| 6 | Joey | 20 | Economist |
| 7 | Jerry | 33 | Coach |
+----+-------+-----+---------------+
Учитывая таблицу:
+----+----------------+--------------------+---------------+
| pk | Husband | height(decimeters) | occupation |
+----+----------------+--------------------+---------------+
| 0 | Joey | 16 | Student |
| 1 | Jim | 17 | Programmer |
| 2 | Joey | 16 | Teacher |
| 3 | Jerry | 20 | Unemployed |
| 4 | Tim | 13 | Unemployed |
| 5 | Harry | 18 | Programmer |
| 6 | Steve | 18 | Economist |
| 7 | Jerry | 11 | Painter |
+----+----------------+--------------------+---------------+
Учитывая, что я могу описать таблицу с моим методом python, я хотел бы сделать курсор для каждой базы данных, прочитать данную таблицу и быть в состоянии идентифицировать и изменять значения, которые являются избыточными относительно моего да tabase. Например, скажем, что я хочу заменить каждое избыточное значение «избыточным»! Возвращаясь таблицу, как это:
ColumnsToExclude = pk
╔════╦════════════╦════════════════════╦════════════╗
║ pk ║ Husband ║ height(decimeters) ║ occupation ║
╠════╬════════════╬════════════════════╬════════════╣
║ 0 ║ redundant! ║ 16 ║ redundant! ║
║ 1 ║ Jim ║ redundant! ║ Programmer ║
║ 2 ║ redundant! ║ 16 ║ redundant! ║
║ 3 ║ redundant! ║ redundant! ║ redundant! ║
║ 4 ║ Tim ║ 13 ║ redundant! ║
║ 5 ║ redundant! ║ redundant! ║ Programmer ║
║ 6 ║ Steve ║ redundant! ║ redundant! ║
║ 7 ║ redundant! ║ 11 ║ Painter ║
╚════╩════════════╩════════════════════╩════════════╝
Показать некоторые конкретные примеры. –
@CL. Я добавил пример этого, но со списками. Означает ли это, что это более ясно? –
Списки не являются таблицами (и разница имеет значение). Просьба предоставить некоторые примеры данных и желаемый результат. (См. [How to формат SQL-таблиц в переполнении стека post?] (Http://meta.stackexchange.com/q/96125), как добавить некоторые.) –