Как правильно создать БД в одном execute?

В MySQL нет возможности создать базу данных (БД) в одной команде "execute"; однако вы можете использовать одну команду "execute" для выполнения нескольких запросов, чтобы создать БД. Вот пример, демонстрирующий, как можно создать новую БД с некоторыми таблицами в одном запросе.

CREATE DATABASE IF NOT EXISTS mydatabase;

USE mydatabase;

CREATE TABLE IF NOT EXISTS users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    email VARCHAR(100)
);

CREATE TABLE IF NOT EXISTS orders (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    product_name VARCHAR(50),
    quantity INT,
    FOREIGN KEY (user_id) REFERENCES users(id)
);

CREATE TABLE IF NOT EXISTS products (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    price DECIMAL(10, 2)
);

В данном примере создается база данных с именем "mydatabase". Затем используется команда "USE", чтобы активировать созданную БД и выполнить последующие запросы в контексте этой БД.

Далее создаются таблицы "users", "orders" и "products" с определенными столбцами и типами данных. Таблица "users" имеет столбцы "id", "name" и "email", причем столбец "id" является первичным ключом. Таблица "orders" имеет столбцы "id", "user_id", "product_name" и "quantity", а также связь с таблицей "users" по столбцу "user_id". Таблица "products" имеет столбцы "id", "name" и "price".

Важно отметить, что использована конструкция "IF NOT EXISTS" для проверки наличия БД и таблиц перед их созданием. Это предотвращает возможные ошибки, если БД или таблицы уже существуют.

После выполнения этого запроса в MySQL будет создана БД "mydatabase" и три таблицы: "users", "orders" и "products". Вы можете использовать аналогичный подход для создания других таблиц или модификации существующих таблиц в одном запросе "execute".