import mysql.connector
import json

# Функция для чтения данных из JSON-файла
def read_json_file(file_path):
    with open(file_path, 'r', encoding='utf-8') as file:
        data = json.load(file)
    return data

# Функция для подключения к базе данных MySQL
def connect_to_mysql(host, user, password, database):
    try:
        connection = mysql.connector.connect(
            host=host,
            user=user,
            password=password,
            database=database
        )
        print("Успешное подключение к базе данных MySQL")
        return connection
    except mysql.connector.Error as err:
        print(f"Ошибка при подключении к базе данных MySQL: {err}")
        return None

# Функция для выполнения запроса на вставку данных в таблицу MySQL
def insert_data_to_mysql(connection, table_name, data):
    try:
        cursor = connection.cursor()
        placeholders = ', '.join(['%s'] * len(data))
        columns = ', '.join(data.keys())
        query = f"INSERT INTO {table_name} ({columns}) VALUES ({placeholders})"
        cursor.execute(query, list(data.values()))
        connection.commit()
        print("Данные успешно добавлены в таблицу")
    except mysql.connector.Error as err:
        print(f"Ошибка при добавлении данных в таблицу: {err}")

# Определяем параметры подключения к базе данных MySQL
mysql_host = 'localhost'
mysql_user = 'kabo2023'
mysql_password = 'AaBbCc-2023r'
mysql_database = 'mycamper'

# Путь к JSON-файлу с данными для загрузки
json_file_path = 'data.json'

# Название таблицы в базе данных MySQL
table_name = 'poi'

# Чтение данных из JSON-файла
data_to_insert = read_json_file(json_file_path)

# Подключение к базе данных MySQL
connection = connect_to_mysql(mysql_host, mysql_user, mysql_password, mysql_database)

# Вставка данных в таблицу MySQL
if connection:
    insert_data_to_mysql(connection, table_name, data_to_insert)
    connection.close()
