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

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

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

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

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

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

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

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

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

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

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

Привет!​ С удовольствием поделюсь своим опытом создания базы данных и выполнения запросов на языке SQL с помощью Python и библиотеки SQLite3.​Сначала, давайте создадим структуру базы данных. Я предлагаю создать три таблицы⁚ ″users″ (для хранения информации о пользователях), ″friends″ (для хранения информации о друзьях), и ″interests″ (для хранения информации о интересах каждого пользователя).​sql
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER,
gender TEXT
);

CREATE TABLE 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)
);


CREATE TABLE interests (
id INTEGER PRIMARY KEY,
user_id INTEGER,
interest TEXT,
FOREIGN KEY (user_id) REFERENCES users(id)
);

Теперь, создадим базу данных и таблицы, а также добавим некоторые данные с помощью кода на Python с использованием библиотеки SQLite3⁚

python
import sqlite3
# Создание базы данных и подключение к ней
conn sqlite3.​connect(‘my_database.​db’)
# Создание курсора для выполнения SQL-запросов
cursor conn.​cursor
# Создание таблицы ″users″
cursor.​execute(»’
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER,
gender TEXT
)
»’)

# Добавление данных в таблицу ″users″
cursor.​execute(»’
INSERT INTO users (name, age, gender)
VALUES (‘John’, 25, ‘Male’)
»’)

cursor.​execute(»’
INSERT INTO users (name, age, gender)
VALUES (‘Mary’, 22, ‘Female’)
»’)

# Создание таблицы ″friends″
cursor.​execute(»’
CREATE TABLE 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)
)
»’)

# Добавление данных в таблицу ″friends″
cursor.execute(»’
INSERT INTO friends (user_id, friend_id)
VALUES (1٫ 2)
»’)

# Создание таблицы ″interests″
cursor.​execute(»’
CREATE TABLE interests (
id INTEGER PRIMARY KEY,
user_id INTEGER,
interest TEXT,
FOREIGN KEY (user_id) REFERENCES users(id)
)
»’)

Читайте также  Плоскости равнобедренного треугольника AKB и прямоугольного треугольника ACB перпендикулярны. Рассчитай расстояние CK, если KA=KB=CA= 36 cm, CB = 48 cm, AB= 60 cm.

# Добавление данных в таблицу ″interests″
cursor.​execute(»’
INSERT INTO interests (user_id, interest)
VALUES (1, ‘Sports’)
»’)

# Сохранение изменений и закрытие соединения
conn.​commit
conn.​close

Теперь, когда база данных создана и заполнена данными, давайте выполним некоторые SQL-запросы.​ Вот несколько примеров⁚
1.​ Выведем все записи из таблицы ″users″⁚
sql
SELECT * FROM users;

2. Соединим таблицы ″users″ и ″friends″ для получения информации о друзьях каждого пользователя⁚
sql
SELECT users.name, friends;friend_id
FROM users
JOIN friends ON users.​id friends.​user_id;

3.​ Изменим возраст пользователя с id 1⁚
sql
UPDATE users
SET age 30
WHERE id 1;

4. Удалим пользователя с id 2⁚
sql
DELETE FROM users
WHERE id 2;

Наконец, давайте напишем код на Python, который выводит данные из базы данных в формате CSV⁚

python
import sqlite3
import csv

# Подключение к базе данных и выборка данных
conn sqlite3.​connect(‘my_database.​db’)
cursor conn.​cursor
cursor.​execute(‘SELECT * FROM users’)
# Создание файла CSV и запись данных
with open(‘users.​csv’, ‘w’, newline») as file⁚
writer csv.​writer(file)
writer.​writerow([‘id’, ‘name’, ‘age’, ‘gender’]) # Заголовки столбцов
writer.​writerows(cursor)

# Закрытие соединения
conn.​close

Теперь у нас есть база данных с информацией о пользователях, друзьях и интересах, а также код на языке Python, который может выполнять SQL-запросы и сохранять данные в формате CSV. Успехов в использовании!​

AfinaAI