Привет! С удовольствием поделюсь своим опытом создания базы данных и выполнения запросов на языке 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)
)
»’)
# Добавление данных в таблицу ″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. Успехов в использовании!