Вопрос:

Ниже представлен код. ```python import sqlite3 # Подключение к базе данных SQLite conn = sqlite3.connect("example.db") cursor = conn.cursor() # Выполнение запросов SQLite cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)') cursor.execute('INSERT INTO users (name) VALUES (?)', ('Alice',)) conn.commit() # Проверка содержимого таблицы cursor.execute('SELECT * FROM users') rows = cursor.fetchall() # Закрытие соединения conn.close() print(rows) ``` Что выведет этот код? Тип ответа: Одиночный выбор с выбором одного правильного ответа из нескольких предложенных вариантов

Ответ:

Анализ кода:

1. Код подключается к базе данных SQLite с именем example.db.

2. Создаётся таблица users, если она ещё не существует. Таблица содержит два столбца: id (целое число, первичный ключ) и name (текст).

3. В таблицу users вставляется одна запись: имя 'Alice'. Значение id будет присвоено автоматически, начиная с 1, так как это первичный ключ.

4. Выполняется команда conn.commit(), которая сохраняет изменения в базе данных.

5. Выполняется запрос SELECT * FROM users для получения всех записей из таблицы.

6. Метод cursor.fetchall() возвращает все строки результата запроса в виде списка кортежей.

7. Содержимое переменной rows (список полученных записей) выводится на экран.

8. Соединение с базой данных закрывается.

Ожидаемый результат: В таблице будет одна запись с id=1 и name='Alice'. Функция fetchall() вернёт список, содержащий один кортеж (1, 'Alice').

Выбор правильного ответа:

  • Вариант: [(1, 'Alice'), (2, 'Bob')) — таблица users содержит две записи, одна из которых — с именем 'Alice'. Неверно, так как была вставлена только одна запись ('Alice').
  • Вариант: 1 — таблица users пуста, так как запись не была сохранена. Неверно, так как была выполнена команда conn.commit(), которая сохраняет изменения.
  • Вариант: Ошибка выполнения — запрос INSERT не выполнится из-за некорректного параметра. Неверно, синтаксис запроса INSERT корректен.
  • Вариант: [(1, 'Alice')] — таблица users содержит одну запись с именем 'Alice'. Верно, так как была вставлена только одна запись, и результат выборки будет представлен в виде списка, содержащего один кортеж.

Ответ: [(1, 'Alice')] — таблица users содержит одну запись с именем 'Alice'.

Подать жалобу Правообладателю