Тест по базе данных SQLite3 Тест по работе с базой данных SQLite3 Python Тест по работе с базой данных SQLite3 Python 1 / 30 Что происходит с изменениями (INSERT, UPDATE, DELETE), если соединение с базой данных закрывается без вызова commit()? Изменения сохраняются в отдельном временном файле Все изменения автоматически сохраняются в базе данных Все несохраненные изменения теряются 2 / 30 Какой SQL-запрос выбирает всех пользователей из таблицы users, у которых возраст больше 18 лет и город - 'Домодедово'? SELECT * FROM users WHERE age > 18 AND city = 'Домодедово'; SELECT * FROM users WHERE age > 18, city = 'Домодедово'; SELECT * FROM users WHERE age > 18 OR city = 'Домодедово'; 3 / 30 Как выглядит безопасная вставка значения user_name в запрос? cursor.execute("INSERT INTO users VALUES (?)", (user_name, )) cursor.execute("INSERT INTO users VALUES (" + user_name + ")") cursor.execute("INSERT INTO users VALUES (%s)" % user_name) 4 / 30 Для чего используется метод executemany()? Для выполнения нескольких разных SQL-запросов одновременно. Для выполнения одного сложного запроса. Для выполнения одного запроса несколько раз с разными наборами параметров. 5 / 30 Как правильно передать параметры в SQL-запрос для безопасного выполнения (защита от SQL-инъекций)? Использовать подстановку через ? и передать кортеж параметров в execute() Использовать форматирование строк (f-строки) Записать значения напрямую в строку запроса 6 / 30 Что делает метод fetchall()? Выполняет запрос на сервере для сортировки данных. Удаляет все записи в таблице. Возвращает все строки результата в виде списка кортежей. 7 / 30 Какой SQL-запрос правильно создает таблицу users с полями: name (текст), age (целое число) и city (текст)? CREATE TABLE users (name STRING, age INTEGER, city STRING); CREATE TABLE users (name TEXT, age INT, city TEXT); MAKE TABLE users (name TEXT, age NUMBER, city TEXT); 8 / 30 Как выбрать все столбцы из таблицы employees? SELECT * FROM employees; SELECT # FROM employees; SELECT all FROM employees; 9 / 30 Какой метод используется для получения всех оставшихся строк результата запроса? getall() fetchall() fetchremaining() 10 / 30 Как полностью удалить таблицу temp_data из базы данных? DELETE FROM temp_data; REMOVE TABLE temp_data; DROP TABLE temp_data; 11 / 30 Что делает метод cursor.fetchmany(5)? Возвращает следующие 5 строк результата Возвращает следующую строку результата Возвращает первые 5 столбцов результата запроса 12 / 30 Дан код: cursor.execute("SELECT name FROM sqlite_master WHERE type='table'"). Что он делает? Возвращает имена всех записей в таблице master. Возвращает имена всех таблиц в текущей базе данных. Возвращает имена всех столбцов в таблице master. 13 / 30 Какой тип данных в SQLite является гибким и может хранить текст, числа, blob или NULL? NULL TEXT Любой тип, так как SQLite использует динамическую типизацию. NUMERIC 14 / 30 Что выведет этот код, если в таблице products есть только одна запись с ценой 100? cursor.execute("SELECT price FROM products") row = cursor.fetchone() print(row[0]) 100 [100] ('price',) 15 / 30 Какой оператор используется для изменения существующих данных в таблице? NEW UPDATE MODIFY 16 / 30 Какой метод объекта Cursor используется для выполнения одной SQL-команды? executescript() run() execute() 17 / 30 Какой модуль стандартной библиотеки Python используется для работы с SQLite? sqlite3 psycopg2 mysql.connector 18 / 30 Какой тип данных возвращает в программу метод fetchone()? str list tuple 19 / 30 Что будет, если выполнить этот код без предварительного создания таблицы?cursor.execute("INSERT INTO products (name) VALUES (?)", ('Phone',)) Будет вызвано исключение sqlite3.OperationalError. Данные будут сохранены в соседней таблице. Таблица products будет создана автоматически. 20 / 30 Каким оператором добавляется новая запись в таблицу? ADD RECORD INSERT INTO UPDATE 21 / 30 Какой SQL-запрос создает таблицу books с полями id (целое число, первичный ключ) и title (текст)? CREATE TABLE books (id INT, title TEXT); CREATE TABLE books (id INTEGER PRIMARY KEY, title TEXT); NEW TABLE books (id INT PRIMARY KEY, title TEXT); 22 / 30 После выполнения операций изменения (INSERT, UPDATE, DELETE) для сохранения изменений в файл БД необходимо... Вызвать метод commit() у соединения (Connection). Вызвать метод save() у курсора. Закрыть соединение методом close(), изменения сохранятся автоматически. 23 / 30 Что произойдет, если выполнить этот код? cursor.execute("CREATE TABLE IF NOT EXISTS test (id INTEGER, name TEXT)") cursor.execute("INSERT INTO test VALUES (1, 'Alice')") cursor.execute("INSERT INTO test VALUES (1, 'Bob')") # Тот же ID Вторая запись заменит первую запись с таким же ID Обе записи успешно добавятся в таблицу с одинаковыми ID Возникнет ошибка, так как нарушается целостность первичного ключа 24 / 30 Для выполнения SQL-запросов в SQLite3 Python используется объект... Connection Cursor Query 25 / 30 Какой метод используется для получения только одной следующей строки результата запроса? getone() fetchsingle() fetchone() 26 / 30 Какой метод используется для создания соединения с базой данных SQLite (или её создания, если она не существует)? connect() open() create_database() 27 / 30 Что делает следующий SQL-запрос? SELECT * FROM students WHERE grade > 3.5; Выбирает всех студентов с оценкой больше 3.5 Выбирает всех студентов с оценкой меньше 3.5 в случайном порядке Удаляет всех студентов с оценкой выше 3.5 28 / 30 Что произойдет, если указать несуществующее имя файла в функции sqlite3.connect('my_db.db')? Возникнет ошибка, так как база данных не найдена. Будет создан новый файл базы данных с этим именем. Ничего, соединение установится с сервером по умолчанию. 29 / 30 Что вернет этот код, если запрос не найдет ни одной строки? cursor.execute("SELECT * FROM empty_table"); data = cursor.fetchone() None Будет вызвано исключение Пустой список [] 30 / 30 Какой оператор используется для удаления записей из таблицы (без удаления самой таблицы)? DROP FROM DELETE FROM REMOVE FROM Ваш результат: Средний балл составляет 0% 0% Еще раз