Привет! Я создал базу данных, которая хранит информацию о мне и моих друзьях. В базе данных у меня есть три таблицы⁚ ″people″, ″hobbies″ и ″locations″. В таблице ″people″ хранится информация о людях, в таблице ″hobbies″ ⎼ информация о их хобби, а в таблице ″locations″ ‒ информация о местоположении.В таблице ″people″ я храню следующую информацию⁚ id (уникальный идентификатор), имя и фамилию, возраст и пол. В таблице ″hobbies″ хранится информация о хобби⁚ id, id человека (ссылка на таблицу ″people″), название хобби и уровень опыта. В таблице ″locations″ я храню информацию о местоположении⁚ id, id человека (ссылка на таблицу ″people″), город и страну.Вот пример кода на Python с использованием библиотеки SQLite3, который создает базу данных с моей структурой, создает таблицы и вставляет в них несколько данных⁚
python
import sqlite3
# Создание базы данных и соединение с ней
conn sqlite3;connect(″my_database.db″)
cursor conn.cursor
# Создание таблицы people
cursor.execute(″CREATE TABLE IF NOT EXISTS people (id INTEGER PRIMARY KEY, first_name TEXT, last_name TEXT, age INTEGER, gender TEXT)″)
# Создание таблицы hobbies
cursor.execute(″CREATE TABLE IF NOT EXISTS hobbies (id INTEGER PRIMARY KEY, person_id INTEGER, hobby_name TEXT, experience_level TEXT, FOREIGN KEY(person_id) REFERENCES people(id))″)
# Создание таблицы locations
cursor.execute(″CREATE TABLE IF NOT EXISTS locations (id INTEGER PRIMARY KEY, person_id INTEGER, city TEXT, country TEXT, FOREIGN KEY(person_id) REFERENCES people(id))″)
# Вставка данных в таблицу people
cursor.execute(″INSERT INTO people (first_name, last_name, age, gender) VALUES (‘John’, ‘Doe’, 25, ‘Male’)″)
cursor.execute(″INSERT INTO people (first_name, last_name, age, gender) VALUES (‘Jane’, ‘Smith’, 30٫ ‘Female’)″)
# Вставка данных в таблицу hobbies
cursor.execute(″INSERT INTO hobbies (person_id, hobby_name, experience_level) VALUES (1, ‘Gardening’, ‘Intermediate’)″)
cursor.execute(″INSERT INTO hobbies (person_id, hobby_name, experience_level) VALUES (2, ‘Cooking’, ‘Beginner’)″)
# Вставка данных в таблицу locations
cursor.execute(″INSERT INTO locations (person_id, city, country) VALUES (1, ‘New York’, ‘USA’)″)
cursor.execute(″INSERT INTO locations (person_id, city, country) VALUES (2, ‘London’, ‘UK’)″)
# Закрываем соединение с базой данных
conn.commit
conn.close
Теперь, вот примеры SQL-запросов, которые можно выполнить с помощью этой базы данных⁚
1. SQL-запрос SELECT для вывода всех записей из таблицы ″people″⁚
sql
SELECT * FROM people;
2. SQL-запрос SELECT для вывода всех записей из таблицы ″hobbies″⁚
sql
SELECT * FROM hobbies;
3. SQL-запрос SELECT для вывода всех записей из таблицы ″locations″⁚
sql
SELECT * FROM locations;
4. SQL-запрос JOIN для соединения данных из таблиц ″people″ и ″hobbies″ по идентификатору человека⁚
sql
SELECT people.first_name, people.last_name, hobbies.hobby_name
FROM people
JOIN hobbies ON people.id hobbies.person_id;
5. SQL-запрос UPDATE для изменения имени в таблице ″people″ для человека с определенным идентификатором⁚
sql
UPDATE people
SET first_name ‘Bob’
WHERE id 1;
6. SQL-запрос DELETE для удаления записей из таблицы ″hobbies″ для человека с определенным идентификатором⁚
sql
DELETE FROM hobbies
WHERE person_id 2;
Наконец, вот пример кода на Python, который выводит данные из базы данных в формате CSV⁚
python
import csv
import sqlite3
# Соединение с базой данных
conn sqlite3.connect(″my_database.db″)
cursor conn.cursor
# SQL-запрос для выборки данных из таблицы people
cursor.execute(″SELECT * FROM people″)
people_data cursor.fetchall
# Сохранение данных в CSV-файл
with open(″people.csv″, mode″w″, newline″″) as file⁚
writer csv.writer(file)
writer.writerow([″ID″, ″First Name″, ″Last Name″, ″Age″, ″Gender″]) # Запись заголовков столбцов
writer.writerows(people_data) # Запись данных
# Закрываем соединение с базой данных
conn.close
Надеюсь, это поможет тебе создать и использовать базу данных для хранения информации о себе и твоих друзьях. Удачи!