Поиск SQLite таблице на python

Есть SQLite таблица (весом ≈ 1.2gb) Выглядит она следующим образом:

Нужно сделать поиск по номеру телефона и дальше к значению каждого столбца присвоить свою переменную. Что бы при вводе print(first_name, last_name) выводились значения из строки с нужным мне номером телефона.

Попытался выполнить поиск следующим способом:

import sqlite3

number = '79999999999'
def read_single_row(developer_id):
    try:
        sqlite_connection = sqlite3.connect('BD.db')
        cursor = sqlite_connection.cursor()
        print("Подключен к SQLite")
        
        sqlite_select_query = """SELECT * from bd_name where phone = ?"""
        cursor.execute(sqlite_select_query, (developer_id, ))
        
        records = cursor.fetchall()
        print(records)
        cursor.close()

    except sqlite3.Error as error:
        print("Ошибка при работе с SQLite", error)
    finally:
        if sqlite_connection:
            sqlite_connection.close()
            print("Соединение с SQLite закрыто")

read_single_row(number)

Вывод: [(8470968, 7999999999, 100099999999999, None, 'Ivan', 'Ivanov', 'male', '0001-01-01', None, None, None, None, None, None, 1, 0, '0001-01-01', '2018-09-07 02:22:21')]

И как мне это преобразовать в отдельные переменные (inedx, phone, uid, email, first_name, last_name, gender, и тд)не понятно.


Ответы (1 шт):

Автор решения: Nonen_Hook

Непосредственно переменную records можно разбить на параметры

Как в этом примере:

records = [(8470968, 7999999999, 100099999999999, None, 'Ivan', 'Ivanov', 'male')]
(index, phone, uid, email, first_name, last_name, gender) = records[0]
print(first_name, last_name)

Сократил records, чтобы писать было поменьше, но надеюсь суть ясна

→ Ссылка