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