[Вопрос решен] 1. Придумай структуру базы данных из трех таблиц, которая будет...

1. Придумай структуру базы данных из трех таблиц, которая будет хранить сведения о тебе и твоих друзьях.

2. Напиши код на Python с использованием библиотеки SQLite3, который создаст базу данных с твоей структурой, создаст таблицы и вставит в них некоторые данные.

3. Выполни с помощью кода SQL-запросы:

SELECT для вывода всех записей из одной или нескольких таблиц.

JOIN для соединения данных из разных таблиц.

UPDATE для изменения данных в одной или нескольких таблицах.

DELETE для удаления данных из одной или нескольких таблиц.

4. Напиши код Python, который выводит данные из базы данных в формате csv.

(1) Смотреть решение

Ответ нейросети AfinaAI

Привет!​ Я решил написать эту статью о структуре моей базы данных и коде на Python с использованием библиотеки SQLite3․ Я недавно создал базу данных, чтобы хранить информацию о себе и своих друзьях․ Для этого я использовал три таблицы⁚ ″users″, ″friends″ и ″hobbies″․

users
id name age
1 John 25
2 Jane 22

Таблица ″users″ содержит информацию о пользователе․ У каждого пользователю есть уникальный идентификатор (id), имя (name) и возраст (age)․

friends
id user_id friend_id
1 1 2
2 2 1

Таблица ″friends″ содержит информацию о связи между пользователями․ У каждой записи есть уникальный идентификатор (id), идентификатор пользователя (user_id) и идентификатор друга (friend_id)․ На примере таблицы можно видеть, что пользователь с id 1 и пользователь с id 2 являются друзьями․

hobbies
id user_id hobby
1 1 reading
2 1 painting
3 2 swimming

Таблица ″hobbies″ содержит информацию о хобби каждого пользователя․ У каждой записи есть уникальный идентификатор (id), идентификатор пользователя (user_id) и название хобби (hobby)․Теперь перейдем к коду Python․ Я использовал библиотеку SQLite3 для создания и управления базой данных․ Вот как выглядит код для создания таблиц и вставки некоторых данных⁚

python
import sqlite3

# Создание базы данных и подключение к ней
conn sqlite3․connect(‘my_database․db’)
cursor conn․cursor

# Создание таблицы ″users″
cursor․execute(»’CREATE TABLE IF NOT EXISTS users
(id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER)»’)

# Создание таблицы ″friends″
cursor․execute(»’CREATE TABLE IF NOT EXISTS friends
(id INTEGER PRIMARY KEY,
user_id INTEGER,
friend_id INTEGER,
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (friend_id) REFERENCES users(id))»’)

# Создание таблицы ″hobbies″
cursor․execute(»’CREATE TABLE IF NOT EXISTS hobbies
(id INTEGER PRIMARY KEY,
user_id INTEGER,
hobby TEXT,
FOREIGN KEY (user_id) REFERENCES users(id))»’)

# Вставка данных в таблицу ″users″
cursor․execute(″INSERT INTO users (id, name, age) VALUES (1, ‘John’, 25)″)
cursor․execute(″INSERT INTO users (id, name, age) VALUES (2, ‘Jane’, 22)″)

Читайте также  Напишите, воспользовавшись циклом for, скрипт, в котором мы при помощи программы fortune генерировали 10 пожеланий и выводили их с нумерацией строк

# Вставка данных в таблицу ″friends″
cursor․execute(″INSERT INTO friends (id, user_id, friend_id) VALUES (1٫ 1٫ 2)″)
cursor․execute(″INSERT INTO friends (id, user_id, friend_id) VALUES (2, 2, 1)″)
# Вставка данных в таблицу ″hobbies″
cursor․execute(″INSERT INTO hobbies (id, user_id, hobby) VALUES (1, 1, ‘reading’)″)
cursor․execute(″INSERT INTO hobbies (id, user_id, hobby) VALUES (2, 1, ‘painting’)″)
cursor․execute(″INSERT INTO hobbies (id, user_id, hobby) VALUES (3, 2, ‘swimming’)″)

# Сохранение изменений и закрытие подключения
conn․commit
conn․close

Теперь, когда база данных создана и заполнена данными, давайте перейдем к выполнению SQL-запросов․ Я покажу примеры SELECT, JOIN, UPDATE и DELETE запросов⁚

python
import sqlite3

# Подключение к базе данных
conn sqlite3․connect(‘my_database․db’)
cursor conn․cursor

# Примеры SQL-запросов
cursor․execute(″SELECT * FROM users″) # SELECT для вывода всех записей из таблицы ″users″
cursor․execute(″SELECT * FROM users WHERE age > 20″) # SELECT с условием

cursor․execute(»’SELECT users․name, hobbies․hobby FROM users
JOIN hobbies ON users․id hobbies․user_id»’) # JOIN для соединения данных из таблиц ″users″ и ″hobbies″

cursor․execute(″UPDATE users SET age 26 WHERE id 1″) # UPDATE для изменения данных в таблице ″users″

cursor․execute(″DELETE FROM hobbies WHERE user_id 2″) # DELETE для удаления данных из таблицы ″hobbies″

# Получение и вывод результатов запросов
result cursor․fetchall
for row in result⁚
print(row)

# Закрытие подключения
conn․close

Наконец, давайте перейдем к выводу данных из базы данных в формате CSV․ Для этого я воспользуюсь модулем csv в Python⁚

python
import sqlite3
import csv

# Подключение к базе данных
conn sqlite3․connect(‘my_database․db’)
cursor conn․cursor


# SQL-запрос для выборки данных
cursor․execute(″SELECT * FROM users″)

# Получение результатов запроса
result cursor․fetchall

# Запись результатов в файл CSV
with open(‘output․csv’, ‘w’, newline») as file⁚
writer csv․writer(file)
writer․writerow([‘id’, ‘name’, ‘age’]) # Заголовки столбцов
writer․writerows(result) # Данные

# Закрытие подключения
conn․close

Читайте также  Сколькими различными способами можно избрать из 15 человек делегацию в составе 3 человек? комбинаторика

В результате выполнения кода будет создан файл output․csv, содержащий данные из таблицы ″users″ в формате CSV․ Это было достигнуто с помощью модуля csv Python․
Это была детальная статья о структуре базы данных и коде на Python для работы с ней․ Я надеюсь, что она была полезной и помогла вам понять, как использовать базы данных и Python для хранения и управления информацией․

AfinaAI