MySQL создание БД и таблиц из MySQL.exe

“Кража” таблицы

Для начала рассмотрим пример наиболее простого создания таблицы из уже существующей.

5

Мы создали копию таблицы на основе запроса и невыполнимого условия!

Ранее я рассматривал как создавать БД и таблицы в ней из программы WorkBench. Это достаточно просто. В данном же посте постараюсь рассмотреть вопрос создания БД и таблиц прямо из консольного клиента MySQL.exe

Это позволит понимать синтаксис MySQL на более глубинном уровне и создавать БД и таблицы универсально – с помощью запросов из любых IDE, например Delphi.

Просмотр существующих БД на сервере

1

 

Единственное, что может удивить у меня исполнение команд идет после символов //, а не после точки с запятой, потому что я менял delimiter во время создания процедуры. В вашем случае,скорее всего будет точка с запятой. В следующем примере вернул delimiter на место, написав delimiter ;

Выбор БД для работы

2_1

Просмотр таблиц в выбранной БД

3

 

Создание БД в MYSQL.exe

4

 

Удаление БД в MySQL

5

 

Создание таблиц в БД

Для начала, я взял пример создания одной из таблиц из программы WorkBench… (это часть скрипта из Workbench)

CREATE TABLE IF NOT EXISTS SQL_GroupBy.Sales2 (
Primary_id INT NOT NULL AUTO_INCREMENT ,
Salesman VARCHAR(45) NOT NULL DEFAULT ‘DefaultSalesman’ ,
SalesAmount INT NOT NULL DEFAULT 50000 ,
PRIMARY KEY (Primary_id) )
ENGINE = InnoDB;

Рассмотрим код. В принципе ничего сложного – создаем таблицу, если её не существует в БД SQL_GroupBy.Создаем поля Primary_id, Salesman и так далее. Описываем типы полей, INT Varchar(45), указываем параметр NOT NULL, то есть поле не может быть незаполненным. Там, где указано DEFAULT – назначено значение по умолчанию. ENGINE = InnoDB; – это разновидность таблицы, см. описание на википедии. То есть можно выбирать и не INNO DB, но в INNO DB есть транзакции.

6


Полное описание синтаксиса создания таблиц с сайта MySQL.ru


Создание внешних ключей при создании таблицы (дочерней таблицы)

Официальный синтаксис выглядит таким образом

Итак, создадим дочернюю таблицу (сделаем дубль одной из таблиц и пропишем в ней внешний ключ) в WorkBench, и скопируем код из скрипта. В коде ниже, я выделил жирным шрифтом то, что относится к определению таблицы как дочерней.

CREATE TABLE IF NOT EXISTS SQL_GroupBy.Sales_child (
Primary_id INT NOT NULL AUTO_INCREMENT ,
Salesman VARCHAR(45) NOT NULL DEFAULT ‘DefaultSalesman’ ,
SalesAmount INT NOT NULL DEFAULT 50000 ,
PRIMARY KEY (Primary_id) ,
CONSTRAINT Sales_id
FOREIGN KEY (Primary_id )  REFERENCES SQL_GroupBy.Sales (Primary_id )
ON DELETE NO ACTION ON UPDATE NO ACTION)
ENGINE = InnoDB;

Применим этот код для создания таблицы в программе MySQL.exe

7

Как видно – таблица успешно создалась и является дочерней по отношению к таблице Sales из за наличия Foreign ключа.

Добавление внешних ключей в существующую таблицу


[block id=”mysql-first-steps”]

This entry was posted in MySQL, SQL инструкции, Без рубрики. Bookmark the permalink.